开发者Abd Rahman Saber Abdo的一项技术分析揭示了AI编程助手领域一个被忽视的隐性成本。在Claude Code等AI编码代理工具中,一份1000行的CLAUDE.md文件每轮对话会消耗7000至10000个token——而这些指令大多是模型通过阅读代码库已经知晓的内容。
这个数字意味着严重的资源浪费。按照20至30轮来回对话的典型会话计算,仅文档重复注入就会烧掉数十万token的上下文窗口。更关键的是,当模型上下文利用率达到85%时,其表现明显劣于30%利用率的状态。上下文不是免费资源,过度填充直接损害输出质量。
![]()
问题的根源在于CLAUDE.md的工作机制。整个文件内容会在每一轮对话开始时注入上下文窗口,而非仅一次。开发者在其中写下的"本项目使用React"或"使用TypeScript"等指令,往往只是重复代码文件中显而易见的信息——package.json早已表明技术栈,.ts文件后缀无需额外说明。
Abdo的分析指出,95%的代理设置根本不需要CLAUDE.md。真正需要它的场景仅限于5%的例外情况:公司内部方法论、特定领域约定等无法从代码中推导的专有信息。其余情况下,这份"仪式感"满满的文档只是在制造更笨的代理和更高的账单。
替代方案是Skills机制。与CLAUDE.md的表面相似,Skill文件同样包含名称、描述和详细指令体,但加载方式截然不同。只有名称和描述会被注入上下文——约50个token,而非7000+。指令体留在磁盘上,直到代理判断其相关才会读取。
这种渐进式披露(progressive disclosure)让代理按需取用,而非永久负重。代理遇到匹配描述的任务时读取完整指令,否则保持静默。token消耗从每轮7000-10000骤降至约50,降幅超过99%。
Skill的另一优势在于递归构建能力。工作流运行中产生的新模式可以固化为Skill,失败修复后的经验可以沉淀为可复用组件。这与静态CLAUDE.md形成对比——后者一旦写成便难以动态演进,往往沦为过时的包袱。
对于已经依赖CLAUDE.md的团队,迁移路径并非一蹴而就。Abdo建议从审计现有文档开始:哪些指令是代码自描述的?哪些是真正的专有知识?前者删除,后者转化为Skill。这个过程本身也是对代码可发现性的一次检验——如果模型读不懂你的代码,或许该优先改进代码而非撰写更多文档。
这一发现对AI编程工具的使用方式具有范式意义。在上下文窗口竞争日益激烈的今天,"多写文档"的本能反应可能适得其反。精妙的约束设计——知道何时不说话——正在成为高效人机协作的核心技能。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.