Claude Code 2.1.212 现在允许开发者为 AI 会话可以生成的子代理(sub-agents)和网络搜索(web searches)数量设置硬性限制,为防止成本失控提供了一个具体的控制手段。

此次更新增加了两个可配置的上限——一个针对子代理生成,另一个针对网络搜索调用——两者在每个会话中的默认值均为 200。开发者可以通过环境变量降低这些数值,并且任何运行超过两分钟的 MCP (Model-Control-Plane) 调用都会自动转入后台运行,从而防止单个缓慢的工具导致整个工作流停滞。

为什么现在这些限制至关重要

虽然可以无限制地调用其他代理或抓取网页的 AI 代理非常有用,但它们也可能成为财务隐患。一个模糊的提示词可能会触发一系列连锁反应式的子代理,每个子代理都会消耗 token 并调用外部工具。其结果是,账单可能会在任何人察觉之前就迅速膨胀。在实践中,团队报告了以下情况:

  • Token 消耗量异常,远超原始任务预算。
  • 重复的子代理互相覆盖编辑内容,导致结果冲突。
  • 产生大量难以拼凑在一起的碎片化输出。
  • 缓慢的外部工具拖慢整个会话,使快速查询变成长达数分钟的等待。

通过设置硬性上限,Claude Code 强制系统在成本失控前停止,同时仍能提供可供人工检查的部分答案。

如何设置上限

这三个调节参数通过环境变量公开:

export CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION=12   # default 200
export CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION=30   # default 200
export CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS=120000   # 2 minutes

默认设置对于大多数探索性工作来说已经足够宽松,但团队可以根据特定任务的风险状况进行收紧。发布公告的文章提供了一些参考起点:

  • 本地 Bug 修复: 0-2 个子代理,0-5 次搜索。
  • PR 审查: 3-5 个子代理,0-10 次搜索。
  • 故障调查: 2-4 个子代理,10-25 次搜索。
  • 广泛的架构研究: 1 个合成器 (synthesizer),2-4 个研究员 (researchers),20-40 次搜索。

这些并非硬性规定,而是旨在作为开发者进行迭代的基准。

权衡取舍

对代理活动设置硬性上限并不能取代良好的任务设计。如果一个问题对于单个会话来说过于庞大,推荐的方法是将其拆分为多个阶段,为每个阶段分配预算,并在继续下一步之前设置人工检查点。一个受限的系统应该返回带有待解决问题的有用部分结果,而不是在重复的循环中不断消耗资金。

设置过于激进的上限存在风险,即代理可能会在得出可行解决方案之前停止,迫使开发者以更高的限制重新运行任务。这种额外的迭代可能会增加开销,但一个不受控制的会话所带来的成本可能要高得多。

投入生产环境

  1. 升级到 Claude Code 2.1.212 的预发布(staging)环境。
  2. 选择一个工作流(例如 PR 审查)并设置一个保守的预算。
  3. 配置日志记录,以捕获启动的子代理数量、执行的网络搜索次数,以及任何达到两分钟阈值的 MCP 调用。
  4. 审查每一次达到上限的运行。确定上限是节省了资金还是阻碍了实际进展,并据此调整限制。

由于上限是在运行时强制执行的,因此它们会立即显示在日志中。跟踪这些指标的团队可以建立反馈循环:降低预算,直到代理开始无法完成任务,然后将其提高到刚好能完成核心任务的程度。

后续关注点

目前仍处于推广初期,因此关于成本节约的真实数据还很有限。采用这些上限的组织应该监控:

  • 变更前后的单次会话成本
  • 不同预算水平下的任务完成率
  • 代理提前停止与运行至耗尽时的用户满意度对比。

如果事实证明这些上限是有效的,我们可能会看到整个行业对具备预算意识的 AI 代理的广泛推动。如果开发者发现限制过于严格,下一个迭代版本可能会引入更细粒度的控制,例如针对每个工具的预算或基于观察到的支出进行动态扩展。

核心结论:Claude Code 2.1.212 为团队提供了一种简单且可执行的方式,防止 AI 驱动的自动化变成一场财务意外。利用这些上限,监控结果,并让数据指导您应赋予代理多少自主权。