Gemini Managed Agents 底层工作原理
How Gemini Managed Agents Works under the Hood
Google 推出 Gemini Interactions API,允许开发者用五行代码构建可运行 agent。调用 `client.interactions.create()` 时,API 会启动一个隔离的 Linux 沙箱(4 vCPU、16 GB RAM),加载技能,并让 Gemini 3.5 Flash 模型进入推理-工具选择-代码执行-结果读取的循环,直至任务完成。沙箱环境支持持久化,可通过 `environment_id` 跨交互保持文件和状态。预览期间环境计算免费,仅按模型 token 计费。
你可以在五行代码内从零构建一个可运行的 agent。一次 API 调用,返回的结果就包含一份完成的 PDF、图表和摘要。
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Analyze the latest lego set data and create a PDF report with charts",
environment="remote",
)
print(interaction.output_text)
大多数人忽略的是: 这并非一次返回文本的单一模型调用。在这背后,一个沙箱被启动,技能被加载,模型进入一个循环——它进行推理、选择工具、执行代码、读取输出,然后重复,直到任务完成。
执行循环,逐步解析
interactions.create() 所做的远不止发送一个 prompt。它会启动一个完整的执行环境。
用户
你的代码
Gemini API
编排器
Gemini 3.5 Flash
推理
沙箱
Linux VM
- 你向 Gemini API 发送一个 prompt
- API 启动一个沙箱,将你的 prompt 路由到模型,分发工具调用,并收集结果
- Gemini 3.5 Flash 进行规划并选择工具,循环直到任务完成
- 代码在隔离的 Linux VM 内运行,而非在你的机器上
Prompt
Write a python script that prints hello world and execute it.
探索每一步
请求: 你的 prompt 通过 HTTPS 到达 Interactions API。API 接受它并开始在服务端编排交互。
1 / 10
沙箱内部
每次交互都会获得一个独立的 Linux 容器。agent 可以安装包、运行脚本、读写文件以及浏览网页。沙箱运行 Ubuntu,配备 4 vCPU 和 16 GB RAM。在预览期间,环境计算不收费(你只需为模型 token 付费)。
环境可以在多次交互之间持久化。第一次调用会返回一个 environment_id,你可以将其传回以保持文件和状态的完整性。有关来源、网络和生命周期的详细信息,请参阅环境文档。
Python
# 第 1 轮:创建沙箱
i1 = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Install pandas and create analysis.py",
environment="remote",
)
# 第 2 轮:同一沙箱,文件持久化
i2 = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Run analysis.py on the Q1 data",
environment=i1.environment_id,
previous_interaction_id=i1.id,
)
从 Prompt 到生产级 Agent
无论你是在实验还是投入生产,执行循环都是相同的。区别在于你希望预先提供多少配置。
- 即席调用: 使用
environment="remote"发送一个 input。
Python
interaction = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Write a Python script that prints hello world",
environment="remote",
)
- 添加指令和技能: 使用
system_instruction或AGENTS.md自定义行为,并通过sources提供技能。
Python
interaction = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Analyze Q1 revenue and create a slide deck.",
system_instruction="You are a data analyst. Export results as PDF.",
environment={
"type": "remote",
"sources": [
{"type": "inline", "target": ".agents/AGENTS.md",
"content": "Always use matplotlib for charts."},
{"type": "inline", "target": ".agents/skills/slides/SKILL.md",
"content": "---\nname: slides\n---\n# Slide Maker\nCreate HTML decks."},
],
},
)
- 保存为托管 agent: 一旦你的设置稳定,使用
client.agents.create()将其持久化。每次调用都会从基础环境 fork 出一个新的沙箱。
Python
agent = client.agents.create(
id="data-analyst",
base_agent="antigravity-preview-05-2026",
system_instruction="You are a data analyst. Export results as PDF.",
base_environment={
"type": "remote",
"sources": [
{"type": "repository", "source": "https://github.com/my-org/templates",
"target": "/workspace/templates"},
],
},
)
- 通过 ID 调用: 在每次调用中引用 agent ID。相同的循环,无需重复配置。
Python
result = client.interactions.create(
agent="data-analyst",
input="Analyze Q1 revenue data and create a slide deck.",
environment="remote",
)
print(result.output_text)