内容提要
Anthropic优化了Claude Code的API技能,将初始上下文令牌消耗从超20万降至约2.5万,降幅超85%。此前,技能加载大量参考文档,即使简单问题也消耗巨量令牌,影响性能并增加成本。新版本改为按需加载文档,仅读取任务相关材料,提升效率,适应AI编码中令牌成本日益重要的趋势。
延伸解读
隐藏的令牌开销:问题早已被开发者发现
在Anthropic官方修复之前,开发者已在GitHub上报告了该问题。有开发者发现,/claude-api技能在调用时会将共享参考文件和检测到的语言文档直接嵌入技能主体,单次调用就消耗约12万令牌,其中一份迁移文档就占约3.6万令牌。即使只问一句话,也可能消耗约20万令牌。这提醒我们,AI管道中的隐藏开销往往需要实际测量才能暴露。
按需加载:平衡上下文与性能的关键
Anthropic的修复将技能加载从一次性全部加载改为按需加载,初始上下文成本从超过20万令牌降至约2.5万,降幅超过85%。这种设计遵循了Anthropic自己的技能文档建议:SKILL.md只包含核心指令和链接,详细材料放在支持文件中,仅在需要时读取。虽然可能增加额外的文件读取,但只针对任务相关材料,为实际工作留出更多上下文空间。
令牌消耗的连锁反应:企业级AI的隐忧
技能加载后,其内容会作为固定开销保留在上下文中,即使开发者只看到较小的请求和响应。这种隐藏开销在企业规模下可能被放大,因为每个请求都会重复消耗。随着代理式工作流兴起,令牌成本已成为AI预算中增长最快的部分。此案例表明,优化令牌使用不仅关乎成本,也直接影响模型性能和输出质量。
Q&A
Claude Code的API技能在优化前消耗多少令牌?
优化前,Claude Code的/claude-api技能在回答单个问题前会消耗超过20万令牌,有时甚至达到约20万令牌。
Anthropic如何将Claude Code技能的令牌消耗降低到约2.5万?
Anthropic通过将技能的参考文档改为按需加载,而不是在技能启动时一次性加载所有内容,从而将初始上下文令牌消耗从超过20万降至约2.5万,降幅超过85%。
Claude Code的/claude-api技能是什么?
/claude-api是Claude Code中的一个内置技能,用于加载与Claude API和Managed Agents相关的参考文档,帮助开发者使用Anthropic的API。
开发者如何发现Claude Code技能消耗大量令牌的问题?
开发者在GitHub上提交了问题报告。例如,有开发者在2024年7月7日发现,/claude-api技能将共享参考文件和检测到的语言文档直接嵌入技能主体,导致单次调用消耗约12万令牌,其中一个迁移文档就占约3.6万令牌。
Claude Code技能在无法检测项目语言时会发生什么?
当技能无法检测项目语言时,它会加载C#、cURL、Go、Java、PHP、Python、Ruby和TypeScript的文档,以及26个共享Markdown文件,总计约812,650字节,但实际任务可能只需要其中一个文件。
Anthropic的Claude Code最佳实践指南对上下文窗口有何警告?
指南警告说,随着上下文窗口被填满,性能会下降,模型更可能丢失早期指令或犯错。
Claude Code技能优化后,开发者还能获得所需的参考文档吗?
可以。优化后,技能按需加载文档,Claude会在识别出相关语言或API功能后,额外读取必要的文件,只加载与任务相关的材料,从而在保持功能的同时减少令牌消耗。