你想让 Agent 实时查「今天发生了什么」、顺手算个数或画张图,但一想到要自己接搜索 API、起一个执行 Python 的环境就头大。Google 在 2026 年 6 月把 Interactions API 推成了 Gemini 的默认接口(已 GA),它把对话状态、内置工具、后台执行都统一到一个端点:你一次调用就能开启 Google 搜索 grounding(自带引用)、让模型在沙箱里跑 Python,连托管 Agent 后台长任务也一行搞定。本教程用 google-genai SDK,从装包、拿 Key,到实时联网问答与沙箱计算,逐步跑通。
Step 1:环境准备——装 SDK 与配置 Key
Interactions API 由官方 google-genai SDK 提供,旧版本不暴露这套接口,所以先升级到新版。Key 从 Google AI Studio 拿,放进环境变量,用最小一次调用确认能拿到回复。
pip install -U google-genai
export GEMINI_API_KEY="AIzaxxxxxxxxxxxxxxxx"
from google import genai
client = genai.Client(api_key="AIzaxxxxxxxxxxxxxxxx") # 或读环境变量
密钥安全:Gemini API Key 等同于账户额度权限,只放环境变量或密钥管理服务,绝不进代码仓库或前端页面。给 Key 设用量上限,避免误用。
Step 2:第一次调用 Interactions API(模型推理)
Interactions API 的入口是 client.interactions.create。传一个模型 ID 走推理,传一个 Agent ID 走自主任务。服务端替你保存对话状态,不用自己维护消息数组。下面用 gemini-3.5-flash 举例,实际模型名以官方文档为准。
interaction = client.interactions.create(
model="gemini-3.5-flash",
input="用通俗的话解释什么是 Agent。",
)
print(interaction.output_text)
Step 3:加 google_search,让 Agent 实时联网
把 {"type": "google_search"} 加进 tools 数组,模型自己决定是否搜索,搜索在 Google 服务端完成并返回带来源引用。这让 Agent 能回答知识截止日期之后的新问题,并标注出处,减少凭空编造。
interaction = client.interactions.create(
model="gemini-3.5-flash",
input="2026 年诺贝尔物理学奖得主是谁?给了什么贡献?",
tools=[{"type": "google_search"}],
)
print(interaction.output_text)
真实性提示:搜索结果来自实时网页,质量取决于来源;涉及奖项、政策、数字等信息仍以权威原始出处为准。工具类型名随 SDK 演进,若报未知工具类型,先核对官方文档当前名称。
Step 4:加 code_execution,在沙箱里跑 Python
把 {"type": "code_execution"} 加进 tools,模型会在隔离沙箱里写并运行 Python 来算数、分析数据或画图——你不用自己起执行环境。你只给一句话需求,模型负责生成与执行代码,返回计算结果或生成的文件。
interaction = client.interactions.create(
model="gemini-3.5-flash",
input="每月存 2000 元、年化 4%、按月复利,20 年后本息合计多少?给出计算过程。",
tools=[{"type": "code_execution"}],
)
print(interaction.output_text)
Step 5:状态化——用 continue_ 续接同一会话
Interactions API 的服务端持有会话历史。第一次调用拿到 interaction.id 后,用 client.interactions.continue_ 带上这个 ID 继续提问,模型自动拥有之前全部上下文,你不必重新发送前面的对话。
followup = client.interactions.continue_(
interaction_id=interaction.id,
input="把上面的结果换算成美元,假设汇率 7.1。",
)
print(followup.output_text)
成本提示:付费档的过往交互可保留约 55 天,超时后需重新开启会话。长会话会累积上下文,体量变大前先评估是否要拆成更短的任务。
Step 6:用 Antigravity 托管 Agent 跑后台长任务
除了单次推理,Interactions API 还能直接跑 Google 预置的托管 Agent(如 Antigravity)。传一个 agent ID 而非 model ID,设 environment="remote" 与 background=True,它就在远程 Linux 沙箱里自主规划执行;用 client.interactions.get 轮询状态,适合克隆仓库、跑测试、生成报告这类耗时任务。
run = client.interactions.create(
agent="antigravity-preview-09-2026",
input="克隆 example/demo 仓库,跑通测试,列出失败用例。",
environment="remote",
background=True,
)
import time
while True:
status = client.interactions.get(run.id)
if status.state in ("completed", "failed"):
break
time.sleep(5)
print(status.output_text)
边界:托管 Agent 在远程沙箱执行,会持续消耗计算额度。后台任务要轮询而非一直保持长连接;涉及写仓库、发消息等动作前,先确认沙箱凭据与权限范围,避免越权。
常见问题速查
| 现象 | 原因与处理 |
|---|---|
| 报「接口不存在 / 属性缺失」 | google-genai 版本过旧,不暴露 Interactions API,先 pip install -U google-genai |
| 搜索没生效 | 确认 tools 里是 {"type": "google_search"};模型也可能判断不需要搜索,换个有时效的问题再试 |
| 沙箱代码报错 | code_execution 只支持模型生成 Python 并运行,不能预置本地依赖;复杂库先在提示里说明用途 |
| 后台任务一直 completed 不了 | 用 interactions.get 轮询 state,别用同步长等待;超时先查沙箱计算额度 |