第 39 章:Prompt Cache 稳定性

可缓存性是一份序列化契约;仅有语义相似不够。

公开源码快照:实现细节取自 Kocoro 公开仓库 origin/main4ec6772 提交,复核日期为 2026-07-27。章节讲的是不变量;具体常量应以当前源码为准。

39.1 问题是什么

无害的顺序变化、每 Turn 过滤 Schema、时间戳和原地改写历史都会破坏 Prompt Cache。语义看似相同,但字节前缀已经无法复用。

39.2 设计原则

构建规范前缀:稳定的系统脚手架、确定排序的工具和稳定的 Skill 元数据。allowed-tools 应在执行期拒绝,而不是每 Turn 删除 Schema。Fork Request 要复制可变切片,并保证共享前缀字节一致;任何有意破坏前缀的重写都应记录。

39.3 快照证据

源码快照观察
4ec6772BuildForkedRequest 保持字节一致的共享前缀
4ec6772allowed-tools 是执行限制,不是 Schema 过滤
4ec6772原地重写消息会发送 Cache Compaction 遥测

以上数值描述的是一个有日期的实现快照,不是普遍契约。

39.4 实现检查表

  • 测试序列化后的完整前缀快照。
  • 所有由 Map 生成的列表都先排序。
  • 把缓存命中率与成功率、延迟一起监控。

39.5 本章结论

可缓存性是一份序列化契约;仅有语义相似不够。

这些章节应作为一个系统阅读:上下文、工具 Schema、持久化、操控、时间纪律、循环检测和并发会彼此影响。

引用本文 / Cite
Zhang, Wayland (2026). 第 39 章:Prompt Cache 稳定性. In AI Agent 架构:从单体到企业级多智能体. https://waylandz.com/ai-agent-book/%E7%AC%AC39%E7%AB%A0-Prompt-Cache%E7%A8%B3%E5%AE%9A%E6%80%A7/
@incollection{zhang2026aiagent_39_-Prompt-Cache,
  author = {Zhang, Wayland},
  title = {第 39 章:Prompt Cache 稳定性},
  booktitle = {AI Agent 架构:从单体到企业级多智能体},
  year = {2026},
  url = {https://waylandz.com/ai-agent-book/%E7%AC%AC39%E7%AB%A0-Prompt-Cache%E7%A8%B3%E5%AE%9A%E6%80%A7/}
}