追踪 Claude Code 工具描述的版本漂移
作者通过逐版哈希 npm 包中的工具声明文件,统计 Claude Code 工具描述的变化,称变更比例从二月的 9% 升至十月的 44%。该方法只能检验仍可读取的工具描述,无法验证已转入二进制的系统提示词。
原文暂未完整获取,基于公开信息的快读
Claude Code 升级后,影响 Agent 行为的工具说明也可能发生变化。一位作者逐版下载 npm 包,对工具声明文件计算哈希,报告称相关变更比例从二月的约 9% 升至十月的约 44%。这项追踪提供了一个检查升级差异的入口,但它能观察到的范围有限,也不能直接证明任务表现变差。
目前能确认什么
作者检查的是 npm 包中的 package/sdk-tools.d.ts。据节选,该文件的 JSDoc 注释包含发送给模型的工具描述。工具描述会告诉模型工具的用途、参数及使用方式,是 Agent 执行任务时接收的输入之一。
统计方法很直接:计算每个版本的文件 SHA-256,只要与前一版本不同,就记为一次变更。作者使用了不同大小的发布窗口,因此阅读百分比时,也要看对应的样本量。
文件哈希变化只能确认文件内容变了,不能单独说明改了什么、影响有多大。
系统提示词则存在观测缺口。作者称,自 2.1.113 起,相关可读代码不再随 npm 包提供,因此无法通过同样的方法核验系统提示词,也无法确认另一篇帖子所称的「超过四分之三发布修改了系统提示词或工具描述」。
我的判断
对维护 AI 编程评测和 CI 流程的程序员,这项追踪最有用的提醒是:只记录模型名称,还不足以解释结果变化。Claude Code 的版本、工具说明同样属于需要控制的变量。
具体可以把 Claude Code 版本写入评测配置,并随结果保存。升级后若通过率或工具调用行为变化,先用旧版本重跑同一组任务,再检查声明文件的差异,能缩小排查范围。
但目前不能据此认定 Claude Code 越来越不可靠。还需要逐项查看差异,区分措辞调整、声明变化和行为约束变化,再用相同任务验证影响。节选中的 Gemini CLI 对照只有四个版本,检查范围也不同,尚不足以支持两个产品长期稳定性的强结论。