产品上新

Google 为托管智能体加入环境钩子与预算控制

运行时开始同时承载策略、成本和调度,但钩子故障默认放行。

2026年7月29日 · 周三深度报告高置信重要度 4/5
#Gemini API#Managed Agents#Agent#沙盒#开发工具

本文要点

  • 现有预览智能体从旧默认模型切换为 Gemini 3.6 Flash,下次交互自动生效。
  • 工具调用前后新增可编程钩子,允许在沙盒内阻断、校验或审计。
  • 单次交互可设 token 预算,达到上限后保留状态并暂停。

阅读辅助

先看数字、证据和来源,再读正文。

Gemini 3.6 Flash默认模型
调用前与调用后钩子阶段
4 条 Claim Audit

Gemini 3.6 Flash 现在是 antigravity-preview-05-2026 的默认模型。

3 个时间点

2026-07-07 · Google 扩展 Managed Agents,加入后台任务与远程 MCP 服务器集成。

6 个来源6 个非 X 来源

Google 在 7 月 28 日为 Gemini API Managed Agents 增加环境钩子、显式模型选择、token 预算、定时触发、免费层入口和环境管理接口。托管智能体的控制面由此开始成形,服务重点从单纯运行任务推进到约束、暂停和重复调度任务。

本次默认变化有严格范围:antigravity-preview-05-2026 现在默认运行 Gemini 3.6 Flash。如果调用方省略 agent_config,下一次 interaction 会自动使用 gemini-3.6-flash,无需改代码;调用方也能显式钉住 Gemini 3.5 Flash 或 3.5 Flash-Lite。这是已有预览智能体的默认底层模型切换,Gemini 3.6 Flash 已在此前发布。

控制能力并不等于默认安全。pre_tool_execution 能在工具真正运行前返回 denypost_tool_execution 则只能在动作完成后做格式化、测试或审计。更关键的限制是:脚本崩溃、HTTP 返回非 2xx、超时或输出无法识别的 JSON 时,运行时会把它当作 allow,继续执行工具。Google 用这种故障放行避免遥测或 lint 服务卡死整个应用,但安全关键团队不能把“装了钩子”直接等同于“危险动作必然被拦住”。

开发者得到的是一组更清楚的运行边界,企业平台团队得到的则是一组仍需二次设计的策略接口。免费层降低试验门槛,预算参数缓解失控消耗,cron trigger 支持无人值守任务;然而免费层有配额、预算是 best-effort、定时执行会重用同一环境,这些条件决定了它们仍需要配额监控、故障策略和环境卫生配套。

默认值变了,产品没有重新首发

Google 原文的状态动词是 “is now the default” 和 “No code changes are required. Your next interaction picks it up automatically.” 忠实的中文应是:Gemini 3.6 Flash 现在成为 antigravity-preview-05-2026 的默认模型;既有调用无需修改代码,下一次交互自动采用。这里没有“再次提高”或“重新发布”的含义,也没有说所有 Gemini API 请求都被强制迁移。

这个范围差异很重要。antigravity-preview-05-2026 是 Managed Agents 使用的预览智能体标识,底层模型可由 agent_config.model 指定。省略配置时才走默认值;如果企业为了回归稳定性显式固定 Gemini 3.5 Flash 或 Flash-Lite,新默认不会替它改写配置。Google 当前列出的三种选择,分别承担均衡能力、上一代通用工作流和更低延迟成本的角色。

控制点7 月 28 日后的行为不应误读为
默认模型antigravity-preview-05-2026 省略配置时用 Gemini 3.6 FlashGemini 3.6 Flash 在当天首次发布
自动采用无需改代码,下一次 interaction 使用新默认值正在运行的交互被中途热切换
显式选择可传 agent_config.model 固定支持模型所有 Gemini 模型都可作为该 agent 后端
免费层无 active billing 的项目可用 API key 试验无限 token、无限调用或所有工具零成本

时间线上,Google 在 7 月 7 日已经为 Managed Agents 增加后台任务与远程 MCP 服务器集成。那一轮主要解决长任务异步执行和外部工具连接。本期是在这个执行底座上补充策略入口、预算与调度,news peg 是控制能力进入产品,而不是托管智能体概念第一次出现。

钩子真正阻断什么

环境钩子由沙盒内的 .agents/hooks.json 配置。运行时支持 2 个生命周期事件:pre_tool_execution 在工具运行前触发,可以明确 allowdenypost_tool_execution 在工具完成后触发,可以运行格式化、单测、文件验证或审计上报,但不能撤销已经发生的写文件、网络访问或代码执行。

匹配器使用 RE2 正则。code_execution|write_file 可以同时命中两个工具,匹配全部工具需要写 *;官方文档同时提醒,想匹配一类文件工具时要用合法正则 .*,不能把 shell glob *_file 原样搬过来。处理器既可以是在沙盒中运行的命令,也可以是向外部 HTTPS 端点发 POST 的 HTTP hook。两类 handler 的默认超时都是 30 秒;公告中的 10 秒15 秒只是配置示例,不是平台统一上限。

前置拒绝的机制很直接。handler 输出 {"decision":"deny","reason":"..."} 后,工具调用被立即跳过,拒绝理由进入模型上下文,模型可以改走安全路径或向用户解释。后置 handler 会收到工具参数、环境 ID 和执行错误;它适合记录证据或校验产物,却不构成事务回滚。

最值得企业安全团队单独写进设计文档的是失败语义:

钩子结果运行时处理风险含义
前置返回合法 deny跳过工具,把理由交给模型可形成显式阻断
前置返回合法 allow正常执行工具策略明确放行
脚本非零退出或超时allow 处理策略服务故障时危险动作仍可能执行
HTTP hook 非 2xxallow 处理网络或服务故障不会锁死应用
返回普通文本或未知 JSONallow 处理序列化错误会退化为放行
后置 hook 报错已完成动作无法撤销只能补告警、重试或事后处置

这是一种以可用性优先的 fail-open 设计。对代码格式化、非关键遥测和普通质量检查,它减少了因辅助系统故障导致的主任务停摆;对支付、生产变更、PII 读取和凭证访问,它却意味着单一钩子不能成为唯一授权边界。更稳妥的部署需要把不可绕过的权限留在网络 allowlist、最小权限凭证、外部审批或目标系统自身的访问控制中,钩子负责补充上下文策略而不是替代底层隔离。

预算暂停不是硬断电

Managed Agents 会进行多轮推理、工具执行、代码运行和文件管理,单次 API 调用背后可能是一条很长的自主循环。agent_config.max_total_tokens 提供了一个总预算,口径覆盖输入、输出与 thinking token,缓存 token 不计入。达到上限时,interaction 返回 incomplete,而不是把任务标成成功或直接抹掉工作状态。

恢复方式是传入 previous_interaction_id,同时给一笔新预算,让智能体从暂停处继续。对长仓库审计、迁移报告或批量修复,这比进程被杀后从头再来更实用。不过文档明确称上限是 best-effort:运行时在步骤之间检查预算,因此实际 token 使用可能略微越过设定值。它适合防止明显失控,不应被当成精确账单封顶或财务系统的绝对授权线。

预算也没有覆盖全部成本含义。官方定价说明写的是,Antigravity 同时面向 free tier 和 paid tier 项目,付费口径取决于底层 Gemini 模型 token 以及使用的工具。免费层项目有 free rate limit 和 usage quota,但公告没有给出一套跨项目固定的免费额度。所谓“免费层可用”,准确范围是:开发者可以用没有 active billing 的项目 API key尝试这类工作流;它不是永久免费、无限调用,也不保证所有工具成本都被同一配额覆盖。

从一次调用到持续工人

Scheduled triggers 把 agent、environment、prompt 和 cron schedule 绑定为持久资源,在无人手动发起时按计划运行。创建时必须给 cron 表达式和 IANA 时区;trigger 初始状态为 active,在下一个匹配时点触发。每次执行重用同一环境,所以前一轮生成的文件能被后一轮看到。

这个持久性既是价值也是风险。它适合每天扫描 issue、定期处理报告或按小时检查仓库,但旧文件、失败中间态和凭证痕迹也会跨运行保留。文档提供两个值得纳入基线的默认值:单次 trigger 执行超时为 600 秒;连续失败达到 5 次后自动暂停。团队还需要自行决定如何清理工作目录、如何区分幂等任务、失败后是否允许下次运行继续消费半成品。

Environments API 则补上沙盒生命周期管理。环境闲置 15 分钟后会自动快照并停止,自最后活跃起离线保留 7 天,期间可用环境 ID 恢复;TTL 到期后自动删除,也可在任务结束时主动删除。列举、检查和删除环境的接口解决了客户端断线后找回 ID、避免孤儿沙盒长期遗留等运维问题,但并不替团队完成数据分类和删除证明。

早报观点

这次更新最有价值的部分,是 Google 把智能体产品的竞争点从“能否自主完成任务”往“谁能定义运行时边界”移动。模型选择解决能力与成本路由,前后置钩子提供策略插入点,预算把长循环变成可暂停状态机,trigger 与环境 API 则把单次请求扩成持续工作单元。它们组合起来,才接近企业真正会采购的智能体底座。

但“可插入控制”还不是“默认可治理”。钩子故障按 allow 处理,是整套设计中最容易被宣传语遮住的事实。它体现了平台对可用性的取舍,却要求高风险用户另建真正 fail-closed 的权限层。如果企业只看到“可以阻断工具”,没有测试超时、HTTP 失败和无效 JSON,控制面反而会产生错误安全感。

预算控制也应被理解为运行保护,而非精确结算。best-effort 上限、底层模型与工具的组合计费、免费层配额未在公告中量化,意味着成本治理仍需观测实际 usage。定时任务复用环境则把问题进一步从“一次调用花多少钱”推到“持续运行是否会积累状态污染与权限漂移”。

因此,这批功能已经让 Managed Agents 更像运行时,而不只是远程代理演示;它们是否足以进入严格企业工作流,要看三件事:故障时能否保持预期安全姿态,成本上限能否被真实账单验证,持久环境能否做到可审计清理。功能入口已经出现,生产保证仍需由平台与使用方共同补齐。

上线前应做的验证

安全团队应先构造负向测试:让前置脚本崩溃、故意超时、让 HTTP 端点返回 500,并返回格式错误的 JSON,确认平台确实放行,再决定哪些动作必须移到外部授权层。只有正常 deny 的演示不足以证明策略可靠。

成本团队需要用真实长链任务测 max_total_tokens 的超额幅度,同时把模型 token、工具调用和重试分别计量。免费项目则要记录实际 rate limit 与 quota,而不是把“可用”直接填进零成本假设。

运维团队应把 trigger 的 600 秒默认超时、5 次连续失败自动暂停和环境 7 天保留写进告警与清理规则。对复用沙盒的任务,还要验证上轮残留文件是否会影响下轮输入,凭证是否可轮换,任务是否能在重复执行时保持幂等。

模型默认值也应进入回归流程。没有显式钉住模型的调用会在下一次 interaction 自动采用 Gemini 3.6 Flash;这减少了迁移工作,却也把默认变化直接带入输出质量、工具选择与成本。生产用户若更重视可重复性,应显式指定模型,并为升级建立测试窗口,而不是完全依赖平台默认。