如果你已经做过一阵子 Agent,八成会遇到这几个老问题:
- 模型会调用工具,但不会自己把流程跑完
- 你得自己维护运行环境、依赖安装、文件读写和中间状态
- 多轮任务一长,上下文就开始膨胀,最后“记性不好”
Gemini 的 Managed Agents 这篇指南,讲的就是怎么把这些脏活累活交给平台。
一句话概括:你不是在给模型加几个 function call,而是在云端直接开一个能跑代码、能装包、能读写文件、能接数据的 Agent 工作间。
先看结论:Managed Agent 到底解决什么
传统 Agent 的问题,不是“不能推理”,而是“周边系统太碎”。
你往往要自己拼这些东西:
- 运行沙箱
- 依赖安装
- 多轮状态保存
- 文件上传和下载
- 流式输出
- 网络访问控制
- 凭据注入
Managed Agents 把这些统一封装进 Interactions API 和 Agents API:
- interactions 负责一次次交互
- environment 负责运行时沙箱
- agent 负责行为定义和可复用配置
可以把它理解成下面这条链路:
flowchart TD
U[用户任务] --> A[Interactions API]
A --> E[远程 Linux Sandbox]
E --> T[代码执行 / 文件操作 / 浏览器 / 工具调用]
T --> O[输出结果]
A --> C[自动压缩上下文]
C --> A
核心变化只有一个:Agent 的执行层被平台托管了。
1. 快速上手:一条调用开一个工作环境
最小化使用方式很直接。
from google import genai
client = genai.Client()
interaction = client.interactions.create(
agent="antigravity-preview-05-2026",
input="Research the top 10 AI stories today and create a PDF briefing with summaries",
environment="remote",
)
print(interaction.output_text)
这段代码做了三件事:
- 创建一个隔离的 Linux sandbox
- 在 sandbox 里执行 Agent 任务
- 返回结果以及后续复用要用的 interaction.id 和 environment_id
这里最值钱的点不是“能跑”,而是状态和环境可以被继续接上。
换句话说,第一次跑完不是结束,而是拿到了一个可复用的工作区。
2. 多轮对话:状态和环境不是一回事
这篇文章里最容易被忽略的设计点,是把“对话历史”和“环境状态”分开了。
previous_interaction_id:延续对话历史
environment_id:延续文件、依赖、工作目录和执行状态
interaction_2 = client.interactions.create( agent=“antigravity-preview-05-2026”, environment=interaction.environment_id, previous_interaction_id=interaction.id, input=“Now create a landing page using JavaScript and HTML”, )
这意味着什么?
- 你可以保持同一个沙箱,继续往里装包、写文件、生成中间产物
- 你也可以重新开一轮对话,但仍然共享同一份工作目录
这比每轮都重新初始化强太多了。 对于真实任务来说,Agent 最贵的不是一次回答,而是上下文里不断重复的准备成本。
3. 流式输出:别等最后一秒才看结果
长任务如果只等最终结果,调试体验会很差。
Managed Agents 支持流式返回,这样你能实时看到:
生成中的文本
推理过程中的事件
工具调用更新
stream = client.interactions.create( agent=“antigravity-preview-05-2026”, input=“Scrape Hacker News, summarize the top 5 stories, and save the results as a PDF.”, environment=“remote”, stream=True, )
for event in stream: print(event)
这对长任务特别有用。
比如:
- 爬取数据
- 跑分析脚本
- 生成报告
- 写文件到 sandbox
你可以一边看事件,一边判断任务是否偏航,而不是等它失败了才知道。
4. 往 sandbox 塞数据:仓库、云存储、内联文件都行
Managed Agents 不是只能空跑。
它支持在环境初始化时,把外部数据直接挂进来:
repository:拉 Git 仓库
gcs:挂 Google Cloud Storage
inline:直接写入文本文件
interaction = client.interactions.create( agent=“antigravity-preview-05-2026”, input=“Analyze the data and summarize the project.”, environment={ “type”: “remote”, “sources”: [ { “type”: “repository”, “source”: “https://github.com/my-org/data-templates.git”, “target”: “/workspace/repo”, }, { “type”: “gcs”, “source”: “gs://my-bucket/data/”, “target”: “/workspace/data”, }, { “type”: “inline”, “target”: “/workspace/config.yaml”, “content”: “mode: analysis\noutput: pdf”, }, ], }, )
这一步的价值非常大。
很多 Agent 项目做不好,不是模型不行,而是上下游数据准备太麻烦。 把数据源直接挂进环境里,Agent 才能真正“拿到上下文就开干”。
5. 下载 sandbox:把结果变成可交付物
Agent 做完事,结果不该只停留在文本输出。
你可以把整个环境打包下载成 tar,再在本地解压。
这类设计特别适合:
- 分析报告
- 代码修复
- 数据处理
- 页面生成
- 文档产物导出
flowchart LR
A[Sandbox 内生成文件] --> B[下载整个环境]
B --> C[tar 包]
C --> D[本地解压]
D --> E[报告 / 代码 / 资产 / 图表]
这意味着 Agent 不只是“说了什么”,而是真正交付了什么。
6. 自定义 Managed Agent:把行为固化成可复用资产
如果你发现同一类任务反复出现,就别每次重写 prompt 了。
应该把它固化成一个 Agent 配置。
文章里给的思路是:
base_agent:选择底座能力
system_instruction:定义角色和边界
base_environment:定义默认数据、技能和代码仓库
agent = client.agents.create( id=“data-analyst”, base_agent=“antigravity-preview-05-2026”, system_instruction=“You are a data analyst. Always include visualizations and export results as PDF.”, base_environment={ “type”: “remote”, “sources”: [ { “type”: “inline”, “target”: “.agents/AGENTS.md”, “content”: “Always use matplotlib for charts.”, }, { “type”: “inline”, “target”: “.agents/skills/slide-maker/SKILL.md”, “content”: “—\nname: slide-maker\n—\n# Slide Maker\nCreate HTML slide decks from data analysis results.”, }, ], }, )
你可以把它理解成一个 Agent 模板工程:
- 角色设定放在 AGENTS.md
- 专项能力放在 SKILL.md
- 运行所需的数据和代码放在 base_environment
这套结构的好处很明确:
- 复用性更强
- 行为更稳定
- 团队协作更容易
7. 从已有环境 fork:先试,再沉淀
不是所有 Agent 一开始都要写成模板。
更实际的做法是:
先用交互式方式把环境搭好
把效果验证清楚
再 fork 成可复用的 Agent
Step 1: set up the environment
interaction = client.interactions.create( agent=“antigravity-preview-05-2026”, input=“Install pandas and matplotlib. Create an analysis template.”, environment=“remote”, )
Step 2: fork into a reusable agent
agent = client.agents.create( id=“my-data-analyst”, base_agent=“antigravity-preview-05-2026”, base_environment=interaction.environment_id, )
这个流程很像我们在工程里常见的“先跑通,再模板化”。
先别急着抽象,先确认它真能干活。
8. 网络和凭据:安全边界要前置设计
真正能上生产的 Agent,一定绕不开安全问题。
Managed Agents 的一个优势是:网络访问和密钥注入是平台能力,不是你自己手搓。
文章里提到两件事:
可以配置网络 allowlist
凭据可以通过代理层注入成 HTTP header
agent = client.agents.create( id=“issue-resolver”, base_agent=“antigravity-preview-05-2026”, system_instruction=“You resolve GitHub issues. Clone the repo, find the bug, write the fix, run the tests, and open a PR.”, base_environment={ “type”: “remote”, “sources”: [ { “type”: “repository”, “source”: “https://github.com/my-org/backend”, “target”: “/workspace/repo”, }, ], “network”: { “allowlist”: [ { “domain”: “api.github.com”, “transform”: { “Authorization”: “Bearer ghp_your_github_token”, }, }, { “domain”: “pypi.org”, }, ] }, }, )
这套机制的意义不只是“安全”。
它还把可访问范围变成了可控变量:
- 允许访问哪些域名
- 允许注入哪些凭据
- 允许 Agent 做哪些外部动作
这比把 secret 直接丢进 prompt 或本地环境变量里稳得多。
9. Gemini API CLI:给人和 Agent 都留一个终端入口
文章还有一个很实用的点:官方把 CLI 也做了。
这样做的好处是:
人可以直接在终端里试
Agent 可以在脚本里自动化
从 prompt 到部署的路径更短
跑一个 prompt
gemini-api run “What is the capital of France?”
生成图片
gemini-api run “A cat in space” –model gemini-3.1-flash-image-preview –output cat.png
文本转语音
gemini-api run “Hello from Gemini” –model gemini-3.1-flash-tts-preview –voice Kore –output hello.wav
搭建、测试并创建 managed agent
gemini-api agents init my-agent gemini-api agents test –prompt “Analyze the Q1 revenue data” gemini-api agents create
对工程团队来说,CLI 的价值很朴素:
- 小任务直接在终端试
- 大任务再封成 API
- 最后才是集成到产品里
这条路径非常符合真实研发节奏。
10. 什么时候该用 Managed Agents
如果你的场景满足下面任意几条,就值得认真考虑:
- 需要代码执行,而不是只做文本生成
- 需要持久文件系统或中间产物
- 需要多轮任务接续
- 需要把数据、仓库、配置挂进执行环境
- 需要对网络和凭据做可控治理
反过来,如果只是一个简单问答、短 prompt 转换,没必要上这么重的架构。
Managed Agents 更适合的是:
- 研究助理
- 数据分析助理
- 代码修复助理
- 报告生成助理
- 可部署的自动化工作流
总结
这篇指南最重要的信号,不是“Gemini 又出了一个新 API”,而是:
Agent 正在从“会调用工具的模型”,进化成“平台托管的可执行工作单元”。
一旦你接受这个方向,很多以前自己硬扛的事都可以交给平台:
- 环境初始化
- 依赖安装
- 文件读写
- 多轮状态
- 流式事件
- 安全网络
- 可复用 Agent 模板
这类能力成熟后,做 Agent 的重点就不再是“怎么把模型接起来”,而是“怎么把工作流设计得真正可维护”。
参考资料:Gemini Managed Agents: Developer Guide
欢迎关注收藏我,获取更多硬核技术干货