Gemini Managed Agents hooks 怎么用:沙箱内拦截与审计工具调用
Gemini API Managed Agents 新增环境 hooks,可在沙箱内 pre/post 工具调用时跑脚本拦截或审计。本文说明配置形态、预算封顶,以及和 Claude Code hooks 的差异。

Google 在 2026-07-28 的更新说明里,把 Managed Agents 往“可治理的远程工人”再推了一步:默认模型切到 Gemini 3.6 Flash,并加上 environment hooks、预算控制、定时触发与免费层试用。若你已经在用远程沙箱跑 agent,hooks 解决的是“校验逻辑没地方跑”的老问题。
Managed Agents 你在买什么
一次 Interactions API 调用,可在隔离云沙箱里协调推理、代码执行、装包、文件与网页检索。你不必自建整套 VM 编排,但也把执行环境放到了厂商侧——治理就要靠 hooks、网络规则与预算,而不是本机 settings.json 独角戏。
默认 agent(文档中的 antigravity-preview-05-2026)会跟到 3.6 Flash;也可在 agent_config.model 指定 3.5 Flash 或 Flash-Lite 降本。
hooks:在工具调用前后插入你的脚本
在环境里放置 .agents/hooks.json,对 pre_tool_execution / post_tool_execution 注册 handler。matcher 支持正则,例如只盯 code_execution|write_file,或用 * 全量。
典型用法:
- 安全门:
pre脚本返回{"decision":"deny","reason":"..."}则跳过工具,并把原因喂回模型上下文。 - 自动 lint:
post对写入文件跑格式化或静态检查。 - 业务校验:OffDeal 案例用
post_tool_execution在沙箱内做 logo 像素与视觉校验——远程沙箱以前跑不了这套流水线,hooks 之后可以。
也支持 http 型 handler,把事件 POST 到外部端点。细节以官方 hooks 文档为准。
和 Claude Code hooks 怎么区分
| 维度 | Gemini Managed Agents | Claude Code |
|---|---|---|
| 运行位置 | 远程沙箱内 | 本机 / 项目配置 |
| 典型目的 | 云端工具治理、预算、定时 | 本地开发流自动化 |
| 配置 | .agents/hooks.json |
settings / hooks 配置 |
排查本机 Claude hooks 不触发,见 Claude Code hooks 排查;不要把两套路径的文件名混用。
预算与定时:防 runaway
托管 agent 是多轮自治循环,账单可以跑飞。agent_config.max_total_tokens 可封顶输入+输出+thinking;触顶后 status: "incomplete",环境状态保留,可用 previous_interaction_id 加新预算续跑。
定时 trigger 则把 agent、环境、prompt、cron 绑成持久资源,适合周期性审计或报告;注意同一沙箱文件会跨次保留,别把密钥写进可持久目录。
最小落地顺序
- 免费层或小预算项目跑通一次 Interactions 调用。
- 只加一个
pre门禁(例如拒绝未允许的网络域名或写路径)。 - 再加
max_total_tokens,观察 incomplete 续跑是否符合预期。 - 最后才上定时任务。
常见问题
hooks 失败会怎样?
以官方 failure semantics 为准:超时、非零退出、无效 JSON 可能直接阻断或放行,取决于文档版本。上线前用故意 deny 的脚本测一遍。
免费层能用于生产吗?
适合试验。生产仍要预算、审计与密钥隔离;免费层额度与稳定性预期按控制台说明。
会不会替代 Claude Code / Codex?
定位不同:Managed Agents 偏 API/云沙箱工人;Claude Code / Codex 偏开发者本机或 IDE 工作流。可以并存。