入门 📋 6 个步骤 第 548 / 548 篇

用 Google Gemini Interactions API 一次调用让 Agent 实时联网 + 沙箱跑代码

Google 在 2026-06 把 Interactions API 推成 Gemini 默认接口(GA)。本教程用 google-genai SDK 一次调用开启 google_search grounding(自带引用)与 code_execution 沙箱 Python,让 Agent 实时联网问答、跑代码算数画图,不用自己接搜索 API 也不用起执行环境。

2026.10.19· 4 分钟上手· 约 1427 字· 💎 Gemini Interactions API / 🔍 实时联网

你想让 Agent 实时查「今天发生了什么」、顺手算个数或画张图,但一想到要自己接搜索 API、起一个执行 Python 的环境就头大。Google 在 2026 年 6 月把 Interactions API 推成了 Gemini 的默认接口(已 GA),它把对话状态、内置工具、后台执行都统一到一个端点:你一次调用就能开启 Google 搜索 grounding(自带引用)、让模型在沙箱里跑 Python,连托管 Agent 后台长任务也一行搞定。本教程用 google-genai SDK,从装包、拿 Key,到实时联网问答与沙箱计算,逐步跑通。

💎 本教程适合:想让 Agent 实时查最新信息、在隔离环境跑代码做数据分析,但不想自建搜索服务或执行环境的初学者。需要一个 Google AI Studio 的 Gemini API Key。模型与工具类型名以官方文档当前版本为准。

Step 1:环境准备——装 SDK 与配置 Key

1 装 google-genai 并联通

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(模型推理)

2 一个模型 ID 即可对话

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)
💡 Interactions API 已从 2026-06 起成为 Gemini 官方默认接口,新项目应直接使用它;老的 generateContent 接口虽仍支持,但新能力会优先落在这套状态化、面向 Agent 的 API 上。

Step 3:加 google_search,让 Agent 实时联网

3 内置搜索,自带引用

把 {"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

4 让模型自己写代码并运行

把 {"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)
🔑 code_execution 适合精确计算、数据清洗、画图这类「模型近似不如真算」的任务。它跑在 Google 托管沙箱里,不碰你本地环境,比把代码贴到本地执行更安全。

Step 5:状态化——用 continue_ 续接同一会话

5 不重发历史也能接着聊

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 跑后台长任务

6 一行发起,轮询拿结果

除了单次推理,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,别用同步长等待;超时先查沙箱计算额度
← 返回教程中心