来源信息
- 文档类型:阅读笔记 · 整理日期 2026-10-07
- 原文:《Lessons from building Claude Code: Prompt caching is everything》 · 作者 Thariq Shihipar · 发布于 claude.dev · 发布日期 2026-04-30
- 原文地址:https://claude.dev/blog/lessons-from-building-claude-code-prompt-caching-is-everything/
- 本文为阅读整理,观点与数据以原文为准;原文不提供的事实均已标注为整理者说明。
阅读范围
- 已读取全文,覆盖布局、更新、模型、工具、压缩与总结。
前缀布局与更新
缓存复用基于请求前缀匹配。稳定的系统指令与工具放前面,其后是项目资料、会话状态和逐轮增长的消息;前缀中途改变会影响后续复用。精细时间戳、工具顺序变化或参数变化都可能破坏稳定性。新状态宜追加为消息,而非重写开头。
模型与工具
模型有各自的缓存。长会话为简单问题换便宜模型,可能因重建输入缓存增加成本;文章建议可用简短交接让子代理处理。
工具集合也属于前缀。Plan Mode 用消息表达行为限制,保持定义不变;工具搜索保留顺序稳定的轻量入口,需要时再加载完整 schema。保留定义并不等于允许所有操作,权限仍需独立约束。
压缩与工程结论
上下文压缩需要读取历史。若另起一套系统提示且移除工具来总结,原前缀就无法复用。文章的做法是保持父会话的系统、上下文、工具和历史,再追加总结请求,并预留容纳请求与摘要的缓冲空间。
作者把缓存命中率当作运行指标持续监测。这里讨论的是输入计算复用,不是结果缓存,也不保证答案正确。文章图示中的折扣和上下文规模属于当时例子,本文不把它们当作当前价格或所有产品的固定参数。
游戏开发应用建议
以下为整理者建议,非原文实测,也不表示已经实施。
若开发长会话游戏代理,可将世界规则、工具契约和项目约束作为稳定资料,将本轮 NPC 状态、玩家事件与任务变化放在消息尾部。不要为了命中率保留失效规则:规则真的变化时,应明确更新并接受必要成本。
规划和执行阶段用清楚的状态转换及权限检查区分。探索资料的副任务只携带必要目标与约束,不能假定换模型一定便宜。摘要需保留资源占用、未完成动作、玩家选择和待验证风险,而非只保留自然语言剧情。
评估可记录命中率、输入用量、延迟、任务成功率与摘要丢失信息;在相同负载下比较稳定前缀与频繁改写的方案。这里没有实测结果或节省比例。对包含私人存档和玩家数据的系统,数据最小化、隔离与正确性应优先于缓存收益。
小结
稳定前缀、追加更新和兼容父请求的旁路总结是文章主线;缓存优化必须结合权限、信息有效性和实际指标。
参考来源
- 原文:Lessons from building Claude Code: Prompt caching is everything(claude.dev,2026-04-30)
- Claude Code 官方文档:提示缓存
- Claude 平台文档:Prompt caching
- Claude Code 官方文档:费用