Claude Code 运行中产生大量细碎 API 调用
速览
用户发现Claude Code(cc)启动并发送简单请求时,后台产生了14次API调用,其中仅第一次用于回答。分析日志显示大部分请求在探测系统规则、工作目录、记忆规则、安全规则、可用工具等,并测试不同工具数量下的开销。这一行为可能是近期版本引入,导致效率下降。
AI 深度解读
背景
Claude Code(简称 cc)是 Anthropic 推出的命令行 AI 编程助手,允许用户在终端中通过自然语言与 Claude 交互完成代码编写、调试等任务。每次与模型的交互都会触发 API 调用,通常用户期望每次对话只产生一次或少数几次调用。然而有用户发现在实际使用中,Claude Code 在后台产生了大量细碎的 API 请求,这些请求并非直接应答用户输入,而是进行各种“探测”操作。该现象最早由 LINUX DO 论坛用户提出,并引发了社区讨论。
核心内容
一名用户观察到,启动 Claude Code 后仅发送一个简单的 “hi”,后台就产生了 14 次 API 调用。其中只有第一次调用实际回答了用户的问题,其余 13 次调用均为 cc 后台自动发起,与用户提问无关。
通过让 AI 分析日志,发现这些额外调用大部分用于进行各类“探测”任务,具体包括:
- 测试上下文各组成部分的可用性,例如系统规则(system rules)、工作目录(working directory)、记忆规则(memory rules)、安全规则(safety rules)、可用工具(available tools)、可用 skill(skills)、agent 列表等。
- 测试不同工具数量下的开销,具体方式为分别携带 1 个工具、10 个工具和 20 个工具进行调用,以评估性能差异。
该用户表示,此前并未观察到类似行为,因此无法确定是哪个版本引入了这一变化。论坛帖子共获得 4 条回复、3 位参与者。
关键要点
- 启动 Claude Code 并发送一个简单问候「hi」即触发了 14 次 API 调用,其中仅第一次是回答用户问题。
- 剩余 13 次调用为后台自发行为,主要用于探测环境配置和工具集。
- 探测内容包括:系统规则、工作目录、记忆规则、安全规则、可用工具、可用 skill 以及 agent 列表。
- 同时进行了工具数量对开销影响的测试:分别调用带有 1 个、10 个和 20 个工具的 API。
- 该行为在较旧版本中似乎未出现,用户怀疑是新版本引入的改动,但无法确认具体版本号。
意义与影响
Claude Code 在后台频繁发起探测性 API 调用,会直接增加用户的使用成本(按 token 或调用次数计费时尤为明显)。对于高频用户或长时间会话,这些“隐形”调用可能显著推高账单。同时,多余的调用也会增加响应延迟,尽管探测过程可能发生在后台或与主请求并行,仍可能占用 API 限额和上下文窗口。
从设计角度看,这种预探测机制可能是为了确保工具和上下文信息正确加载,从而提高后续交互的可靠性。但当前的触发频率和粒度(尤其是仅发送 “hi” 就产生 13 次额外调用)显得过于激进。如果确实是新版引入的行为,开发者应考虑优化:例如合并探测请求、延迟探测或只在首次使用时一次性完成。
对于用户而言,建议密切关注 Claude Code 的 API 调用日志和账单,必要时可通过环境变量或配置选项(如果有)调整探测行为。社区的反馈也可能推动 Anthropic 在后续版本中做出改进,平衡功能完整性与调用效率。
