内容提要
本文介绍了在 Amazon Bedrock 上为 Claude 应用设计的 Prompt Cache 策略,旨在降低输入成本和响应延迟,适用于长上下文应用。讨论了 cache checkpoint 的放置、内容块的定义及其限制,并提出了单个尾部 checkpoint 和三 CP 布局两种策略。建议监控使用情况,以优化性能和降低成本。
延伸解读
Prompt Cache 策略的实际应用
在设计 Prompt Cache 策略时,团队需考虑应用场景的复杂性。对于固定的客服机器人或稳定的 RAG 流程,单个尾部 checkpoint 策略较为合适;而在开放的 agentic 场景中,采用三 CP 布局可以提供更高的鲁棒性,避免因内容块数量波动导致的缓存命中率下降。
监控与优化的重要性
上线后,持续监控 cache hit rate、cache write 和 cache read token 的使用情况至关重要。这些数据不仅能帮助识别潜在问题,还能为后续的优化决策提供依据。建议在初期使用三 CP 布局,并在观察到稳定性后再考虑简化策略。
20-block 回看限制的影响
20-block 回看限制是设计 Prompt Cache 时必须考虑的关键因素。它限制了当前 checkpoint 与最近可命中 checkpoint 之间的 block 距离,若某一轮新增过多 content blocks,可能导致缓存命中率下降。因此,控制每轮新增的内容块数量是确保高效缓存的关键。
Q&A
什么是 Prompt Cache 策略,它的主要目的是什么?
Prompt Cache 策略旨在降低长上下文应用的输入成本和响应延迟,特别适用于包含长系统提示和多轮历史的 Claude 应用。
在设计 Prompt Cache 时,推荐的布局策略有哪些?
推荐的布局策略包括单个尾部 checkpoint 和三 CP 布局,适用于不同复杂度的场景。
如何监控 Prompt Cache 的使用情况以优化性能?
建议监控 cache hit rate、inputTokens、cacheWriteInputTokens 和 cacheReadInputTokens,以便及时排障和优化策略。
什么是 content block,它在 Prompt Cache 中的作用是什么?
Content block 是 Bedrock Converse API 中的基本元素,影响 cache 命中率,20-block 回看限制约束当前 checkpoint 与最近可命中 checkpoint 的距离。
Prompt Cache 的成本模型是如何划分的?
Prompt Cache 的成本模型分为普通 input、cache write 和 cache read token,三者互不重叠。
在使用 Claude 模型时,如何处理 reasoningContent 和 cache checkpoint 的关系?
建议保留完整的 reasoningContent 和 signature,不要在 reasoningContent 后插入 cachePoint,以避免模型拒绝该位置。