加载中...
加载中...
将Agent重复使用的系统提示和工具定义缓存起来,让后续请求只传增量内容——一条缓存命中可省90%输入Token成本、首Token延迟降低50%以上
Prompt Caching(提示缓存)是将 Agent 每次请求中**固定不变的部分**——如系统提示词、工具定义 Schema、Few-Shot 示例、知识库前置文档——在服务端缓存,后续请求只需引用缓存 ID 而非重传全文,从而大幅度减少输入 Token 消耗和首 Token 延迟(TTFT)。本质上是用「一次存储」换「每次传输」的优化策略。
Prompt Caching 按实现层级分为三种形态:
**1. 服务端自动缓存(Provider-Managed)——最省心**
Anthropic、OpenAI 等 LLM 提供商在服务端对请求做前缀匹配,自动识别并缓存相同的 prompt 前缀。开发者无需任何代码改动——同一会话中,只要系统提示词和工具定义不变,后续请求的输入 Token 开销(按缓存命中部分计费)通常降至完整价格的 10-25%。Anthropic 要求缓存段 ≥ 1024 Token(Claude),OpenAI 自动缓存 ≥ 1024 Token 的前缀(至少 1KB)。核心限制:仅对**精确匹配**的前缀生效,任何微小改动(如多一个空格)都会导致缓存失效。
**2. 客户端显式缓存(Explicit Marking)——最精细**
开发者通过 API 参数主动标记缓存的起止位置(breakpoint)。例如 Anthropic 的 `cache_control` 允许在请求中标注:「从第 0 行到第 1500 行是系统提示词,应该缓存」。这种方式让开发者可以精确控制「缓存块」的边界,突破「仅前缀」的限制,支持缓存中间的任意段落(如工具 Schema 定义块、Few-Shot 示例块)。OpenAI 也推出了类似的 manual caching 功能。
**3. 应用层缓存(Application-Layer)——最灵活**
在 Agent 框架层面实现缓存逻辑,不依赖 LLM 提供商的缓存机制。适用于多模型切换场景(如同时使用 GPT-4 和 Claude),在应用侧做 prompt 哈希 + KV 存储缓存。工具如 LangChain 的 `InMemoryCache`、GPTCache(https://github.com/zilliztech/GPTCache)支持语义相似度匹配(非精确匹配),但命中率低于 provider 级别的字节级匹配。
关键数据:根据 Anthropic 官方数据,缓存命中的 prompt 片段计费仅为原价的 10%(写缓存)+ 按需读取,输入成本可降低 90%;首 Token 延迟(TTFT)可降低 50-85%。
「分享到微信」:手机浏览器打开时一键调起系统分享面板,选择微信即可分享到朋友圈或聊天。电脑上回退为复制文案。
暂无留言,来说两句吧