Claude Code 是一个用于与 Anthropic 模型交互的命令行工具,它包含一个提供子代理实时状态更新的后台功能。每隔 30 秒,该工具会将代理的整个对话转录发送给模型(通常是 Claude 3 Opus)以生成一个简短的 3-5 个单词的摘要。此摘要仅用于更新代理面板中的状态行,不会影响实际对话或模型的主要任务。然而,由于这些调用包含了完整的转录内容和工具架构,它们可能会占据用户 Token 消耗的很大一部分——在子代理密集的会话中,其成本甚至可达到总支出的 16.4% 到 26%。

该图像展示了外观状态更新导致高 Token 成本的核心问题以及社区开发的解决方案。
虽然该功能为在终端上观察操作的用户提供了视觉体验,但对于自动化脚本、CI/CD 流水线或无人值守会话来说,这往往是不必要的。目前,没有任何官方配置选项可以在不完全禁用后台代理的情况下关闭这些特定的摘要调用。这一差异是通过 OpenTelemetry 导出发现的,这些导出显示 `agent_summary` 查询源有时产生的成本甚至超过主对话本身。由于这些调用被排除在标准会话日志之外,除非用户监控原始遥测数据,否则这些成本通常对用户是不可见的。
这张图片显示了社区要求提供官方设置以管理后台摘要调用的请求。
为了解决这个问题,社区开发了一个 Bun 预加载脚本 (`no-agent-summary.js`),用于拦截并中和摘要计时器。该脚本通过包装 `setTimeout` 和 `setInterval` 函数来工作;当它检测到包含摘要计时器特定内部锚点的回调时,它会返回一个永远不会触发的惰性句柄。这允许工具正常运行子代理,同时跳过昂贵的摘要请求。用户可以通过设置 `BUN_OPTIONS` 环境变量来预加载此脚本。虽然此修复方法有效,但它仍属于变通方案;由于该工具定期更新,用户必须验证在新的二进制版本中内部字符串锚点是否保持不变。