性能与成本常被视为一对矛盾:想要降低成本,往往意味着性能下降。但在实际应用中,我们发现许多使用Claude平台的项目可以通过三种方法在不牺牲性能的前提下减少开销:最大化提示缓存命中率、升级至前沿Claude模型时去除提示中的反模式,以及根据任务调整计算强度。我们已将这些指导原则整合进了claude-api技能。本文将展示如何利用Claude Code和claude-api在降低成本的同时保持甚至提升性能。
提示缓存
在Claude生成回复之前,会先将提示处理成内部工作状态,这一步称为预填充(prefill),是处理输入中最耗费资源的部分。提示缓存会保存该状态(键值缓存,KV缓存),当请求以相同前缀开始时,Claude会直接读取缓存而非重新计算。缓存读取的费用远低于完整输入的费用。
要有效利用提示缓存,需要注意以下几点:
- 提示缓存绑定到特定模型。
- 缓存读取要求提示内容在字节级别完全一致。
- 提示缓存有有限的生存时间(TTL)。
基于此,实用建议包括:
- 避免在对话中途更改计算强度或思考设置,这些设置会成为缓存前缀的一部分。Claude Opus 5和Fable 5.1支持在对话中途更新计算强度而不破坏缓存。
- 避免在前缀中包含易变值,如动态时间戳或ID,这会导致缓存失效。
- 避免工具定义自动重排序,使用Claude Messages API时,工具定义固定排在提示顶部,任何变动都会破坏缓存。
- 分支对话时,只有前缀字节完全相同、模型和计算强度一致时,子代理才能共享父缓存。
- 避免同步工具调用或子代理运行时间超过缓存TTL,否则缓存可能过期,导致下一轮请求成本增加。
解决方案
我们积累了以下提示缓存管理经验:
- 监控提示缓存命中率。Claude Console提供缓存诊断功能,能详细说明缓存未命中的原因。如果命中率异常下降,可通过缓存诊断API定位差异。

- 延迟加载不常用工具,使用
defer_loading标记,避免它们进入缓存前缀,只有在工具搜索时才加载,保证缓存稳定。 - 通过消息形式更新系统提示,避免直接编辑系统提示破坏缓存。
- 组织请求结构,使稳定部分(工具定义和系统提示)保持不变,动态对话内容放在后面。

- 在缓存已被破坏时更改模型或计算强度,例如执行压缩操作时。
- 随着对话增长动态调整缓存断点,Claude平台支持自动缓存断点设置。
- 预热缓存:发送
max_tokens: 0的请求并设置缓存断点,提前处理提示并写入缓存,减少延迟。 - 不要超过缓存TTL,默认5分钟,长时间阻塞工具调用时可考虑设置1小时TTL。
指令优化
提示中积累的指令往往用于弥补模型弱点,但随着前沿Claude模型能力提升,某些“反模式”指令反而会降低性能并增加成本,常见反模式包括:
- 验证仪式,如“仔细检查你的工作”或“回复前核实两次”,前沿模型会字面执行,浪费令牌。
- 过度强调彻底性,如“必须做到极致彻底”,导致冗长回答和额外工具调用。
- 固定步骤流程和思考模板,如“逐步思考并使用草稿纸”,前沿模型无需此类辅助,反而浪费资源。
- 过时示例,基于旧模型失败模式的few-shot示例会误导新模型。
- 矛盾规则,前沿模型更严格执行指令,矛盾指令会降低表现。
- 过时配置,旧版Claude设置可能被新平台拒绝。
解决方案
我们在claude-api技能中新增了prompt-audit命令,用于检测并移除这些反模式。运行/claude-api prompt-audit可扫描工作目录中的提示、技能和工具描述,自动优化提示。
例如,我们在客户支持基准测试中,从Opus 4.8迁移到Opus 5,分别测试了六种反模式。结果显示,Opus 5在未优化时因验证仪式和强调指令导致成本增加和性能下降。运行prompt-audit后,成本降低14.6%,准确率提升5.3%。

计算强度(Effort)
计算强度决定Claude“努力工作的程度”。低强度时,Claude快速得出结论;高强度时,会更深入思考、验证和探索备选方案。

不同强度下的成本与性能表现差异显著。例如,Claude Fable 5在低强度下在FrontierCode Diamond基准测试中得分11.5%,每任务成本5.35美元;最高强度得分30.9%,成本19美元。得分提升约2.7倍,成本提升约3.5倍。
在Claude Fable 5.1的Humanity's Last Exam测试中,低强度得分约53%,成本约0.30美元;最高强度得分约61%,成本约2.23美元。最后一步提升成本显著但得分提升有限。

计算强度设置不当会导致:
- 过高强度导致过度思考,增加成本和延迟,甚至降低答案质量。
- 过低强度导致思考不足,减少工具调用,答案基于不完整信息。
解决方案
- 在较低强度下测试更强模型,往往比弱模型高强度更经济高效。例如,Claude Fable 5.1低强度表现相当于Fable 5高强度,但成本仅为三分之一。

- 了解任务特性,通过不同强度水平的性能测试,判断是否值得增加计算强度。
我们使用/claude-api hillclimb命令自动搜索最佳计算强度和模型配置。以客户支持基准为例,起始于Opus 4.8高强度,经过优化后,Opus 5低强度结合prompt-audit提升准确率至98.9%,成本降至每票2.6美分。进一步切换到Sonnet 5低强度,成本降至1美分,但准确率下降。通过添加路由规则和退款交叉验证,准确率恢复至98.9%。最终在未见过的测试票据上,准确率达90.5%,成本仅为原来的五分之一。

自动化成本优化
提示缓存、指令优化和计算强度调整是常用的成本控制手段。我们的文档介绍了更多方法。为全面审计使用Claude API的应用代码,我们新增了/claude-api cost-optimize命令:它分析成本来源,自动应用节省措施,并在提供评估时展示性能与成本的权衡。
cost-optimize首先定位令牌消耗来源,支持通过组织使用报告、API响应日志或代码估算获取数据。然后按优先级推荐节省方案,包括提示缓存、裁剪请求内容、限制输出和批处理无监督任务。若提供评估,还会计算不同模型和计算强度下的成本与性能。
我们在四个公开基准上测试,起点均为Sonnet 5:
- LegalBench:成本降低约58%,通过共享任务前缀缓存、低强度和批处理实现。
- tau2-bench零售:成本降低约73%,通过显式缓存断点实现。
- OfficeQA Pro:成本降低约52%,通过批处理和文档缓存实现。
- SWE-bench Verified:成本降低约55%,通过设置中等强度和限制输出长度实现。

入门指南
- 迁移到前沿Claude模型后,先运行
/claude-api prompt-audit检查并优化现有提示。 - 应用中想做成本审计时,使用
/claude-api cost-optimize,它会分析消耗并尝试多种节省策略。 - 需要在成本与性能间反复调优时,使用
/claude-api hillclimb,它基于评估数据自动搜索最佳配置。
更多信息请参阅:


