测试显示,AI编程工具的对比结果在很大程度上会受到工具说明、指示文件和MCP连接配置影响,而不只是模型本身。图片来源:Shutterstock

最新测试显示,Anthropic旗下AI编程工具Claude Code在用户输入指令前,就可能先向模型发送数万Token。在真实开发环境中,其首轮请求规模约为7.5万Token,这意味着成本和上下文窗口利用率都可能受到影响。

据外媒GIGAZINE 7月13日(当地时间)报道,AI咨询公司Systima近日对Claude Code与开源AI编程工具OpenCode进行了对比测试,并披露了上述结果。

测试中,Systima在同一台电脑上分别运行Claude Code 2.1.207和OpenCode 1.17.18,并调用同一模型Claude Sonnet 4.5。随后,Systima在中转服务器端记录实际发送给模型的数据,并据此统计Token数量。

即便是在最简场景下,两者差距也十分明显。在不连接MCP(Model Context Protocol)服务器、也不加载任何用户设置的空白工作区中,仅要求输出“OK”时,Claude Code首个请求发送给模型的内容约为32800 Token,而OpenCode仅约6900 Token。

差异主要来自可调用工具的说明文本规模。Claude Code会随系统提示词一并向模型发送27种工具的说明,仅这部分内容就占用了约2.4万Token;OpenCode则包含10种工具说明,整体输入规模约为6900 Token。

即使关闭全部工具功能,两者差距依然存在。Systima称,Claude Code的系统提示词约为6500 Token,而OpenCode约为2000 Token。

Systima指出,初始输入过大带来的问题不只是成本。以Claude Sonnet 20万Token的上下文窗口为基准,Claude Code在尚未读取实际代码或用户对话前,就已先行占用约六分之一的上下文容量。即便启用提示词缓存,可以降低重复传输带来的费用,已占用的上下文窗口规模也不会因此减少。

在真实开发环境中,包含项目规则的指示文件也会进一步推高负担。加入一个72KB的CLAUDE.md文件后,Claude Code和OpenCode每次请求都会额外增加约2万Token。由于这类指示文件默认会随每次请求一并发送,文件越长,Token消耗也会相应增加。

用于连接外部服务和开发工具的MCP服务器,同样会抬高初始负载。由于MCP需要向模型说明可用功能及其参数,每新增一个服务器,通常会增加约1000至1400 Token;如果连接5个MCP服务器,首轮输入还会再增加约5000至7000 Token。

Systima测得,在同时启用MCP服务器、指示文件和插件的真实开发环境中,Claude Code在用户输入指令前就会先向模型发送约7.5万Token。该环境下,可用工具数量增至118种,传递给模型的数据量达到311KB。Systima认为,在不同配置下,首个请求规模可能升至7.5万至8.5万Token。

不过,初始Token更高,并不必然意味着整体效率更差。在反复进行文件生成和程序执行的测试中,Claude Code会将多个工具打包后一次调用,将总请求次数压缩至3次,总输入Token约为12.1万。

相比之下,OpenCode采取逐个调用工具的方式,共发出9次请求,总输入Token约为13.2万,反而更高。这也意味着,即便初始负载较低,如果请求次数增加,最终Token消耗差距仍可能被拉平。

但在使用子代理(Sub-agent)的场景中,成本会明显上升。Claude Code将任务拆分为2个子代理后,每个代理都需要重新载入系统提示词和工具说明,再叠加上层代理复核结果所带来的额外开销,总输入Token从约12.1万飙升至51.3万。

Systima强调,本次数据来自特定测试环境,结果会随着模型版本、MCP配置等因素变化。该公司建议,在部署和运行AI代理时,不能只看计费界面,还应记录实际发送给模型的提示词内容和Token用量,并在逐项增加指示文件和MCP服务器时,持续检查初始负载的变化。

关键词

#Anthropic #Claude Code #OpenCode #Systima #Claude Sonnet 4.5 #Token #MCP #上下文窗口 #系统提示词 #指示文件
版权所有 © DigitalToday。未经授权禁止转载或传播。