微信扫码
添加专属顾问
我要投稿
Anthropic工程师揭秘:一个缓存机制如何让AI编程成本暴降90%,让Claude Code成为可能。核心内容: 1. Prompt Caching技术原理:通过前缀匹配复用计算结果 2. 对AI编程工具的关键价值:降低81%成本,提升响应速度 3. 实际应用效果:92%缓存命中率,单任务成本从$6降至$1.15
|
import{PromptCaching}from'@anthropic/claude-code'; // Anthropic 工程师揭秘:一个缓存机制如何让 AI 编程成本暴降 90% "Prompt Caching 是 Claude Code 能够存在的根本原因。"—— Thariq, Anthropic Engineer |
你有没有想过,像 Claude Code 这样的 AI 编程助手,每次跟你对话时,到底要花多少钱?
答案可能会吓你一跳。一个普通的编程任务,AI 需要来回对话几十轮,每轮都要处理几万甚至几十万个 token。如果每次都"从头算起",光 API 费用就能让钱包哭泣。
但 Anthropic 的工程师们找到了一个绝妙的解决方案——Prompt Caching(提示缓存)。最近,Anthropic 工程师 Thariq 在推特上分享了一条炸裂的消息:
更夸张的是,Claude Code 团队把缓存命中率当作核心运维指标来监控——如果命中率掉了,他们会当作生产事故(SEV)来处理。
这到底是什么黑科技?今天我们来好好聊聊。
想象你去一家餐厅点餐。每次你都要把完整的菜单读一遍,然后告诉服务员你要什么。Prompt Caching 就像是服务员记住了你之前读过的菜单内容——下次你只需要说"跟上次一样,但把甜点换成提拉米苏"就行了。
技术上说,Prompt Caching 通过前缀匹配的方式工作:API 会缓存从请求开头到每个缓存断点之间的所有内容。当下一次请求的前缀跟之前一样时,系统直接复用已有的计算结果,不需要重新处理。
这带来了两个巨大的好处:
Claude Code 这类 AI 编程助手有一个特点:对话特别长。
一个完整的编程任务可能涉及几十轮对话,每轮都要带上完整的系统提示词、工具定义、项目上下文和历史对话。根据实测数据,一个任务跑下来可能要调用92 次大模型,消耗约200 万个输入 token。
如果不用缓存,按 Claude Sonnet 的价格($3/百万 token),光输入就要 $6。但用了 Prompt Caching 之后呢?
这不是小数目。对于每天处理成千上万次编程任务的平台来说,Prompt Caching 直接决定了商业模式能不能跑通。
Thariq 在帖子中分享了多条宝贵的工程经验。这些经验不仅对 Anthropic 内部有用,对所有基于大模型构建产品的开发者都极有参考价值。
Prompt Caching 是基于前缀匹配的,这意味着你把什么东西放在前面,直接影响缓存效果。
Claude Code 的请求结构遵循严格的层级顺序:
把最稳定的内容放在最前面,变化最频繁的放在最后面。这样,即使对话历史在不断增长,前面的工具定义和系统提示词依然可以命中缓存。
这条经验价值千金。
Thariq 明确说了:"在对话中途更改工具集,是人们破坏缓存的最常见方式。"
因为工具定义是缓存前缀的一部分。一旦你添加或删除一个工具,整个对话的缓存全部失效。这就像你在一本已经读了一半的书里突然插入了一页新纸——后面所有的页码都乱了。
Claude Code 的解决方案非常巧妙:根本不切换工具集。所有工具始终保留在请求中,Plan 模式不是通过"拿掉编辑工具"来实现的,而是通过EnterPlanMode和ExitPlanMode这两个工具来控制。模型收到一条系统消息说明当前处于什么模式,但工具列表保持不变。
Claude Code 支持用户安装各种 MCP(Model Context Protocol)工具插件。工具一多,工具定义本身就会占用大量 token,而且经常变化。
怎么办?Claude Code 发明了一种"延迟加载"机制:
defer_loading: true标记
这样,缓存前缀保持稳定,不会因为用户装了个新插件就全部失效。
有时候系统提示词里的信息过时了,你可能很想直接更新它。但这样做的代价是:整个缓存失效。
Claude Code 的做法是:保持系统提示词不变,把更新的信息作为下一轮对话中的一条系统消息插入。这样,系统提示词的缓存依然有效,新信息则作为对话历史的一部分被处理。
Claude Code 的架构不是单一模型在干活。它使用了多层代理:
关键在于,子代理在执行任务时,会尽量共享父代理的缓存前缀。这意味着主代理已经缓存的系统提示词和工具定义,子代理可以直接复用,不需要重新处理。
从实测数据来看,不同阶段的缓存复用率差异明显:
预热阶段的几次调用是故意为之——它们把工具定义和子代理提示词提前加载到缓存中,为后续的高效执行铺路。
如果你在用 Claude API 构建自己的应用,这里是几条实用建议:
"cache_control": {"type":"ephemeral"}
系统会自动把最后一个可缓存的内容块作为断点,随着对话增长自动管理缓存。
进阶用法:手动设置断点
最多可以设置 4 个缓存断点,适合以下场景:
注意最低缓存门槛
不同模型有最低 token 数要求。Claude Sonnet 系列最低 1024 token,Claude Opus 最低 4096 token。太短的提示词无法被缓存。
关于缓存定价
举个例子,用 Claude Sonnet 4.6($3/百万 token):
只要缓存命中率超过 50%,你就已经在省钱了。
Prompt Caching 不只是一个"省钱小技巧"。从 Claude Code 的实践来看,它是整个产品架构的基石。
Thariq 的原话是:"我们整个工程体系都围绕 Prompt Caching 来构建。"缓存命中率高了,成本降了,就能给订阅用户提供更宽松的使用额度。这是一个正向循环。
对于正在构建 AI 应用的开发者来说,这个信号很明确:缓存不是可选的优化项,而是必须从第一天就考虑的核心架构决策。把静态内容放前面,动态内容放后面,不要在对话中途改变工具集,善用子代理共享缓存——这些原则看似简单,但做到了就能省下 80% 以上的成本。
Anthropic 官方 Prompt Caching 文档:
https://platform.claude.com/docs/en/build-with-claude/prompt-caching
Thariq 原帖:
https://x.com/trq212/status/2024574133011673516
🔗 往期推荐:
飞书社群开源知识库:https://my.feishu.cn/wiki/PFJswU0arip563kZbpNccWkIn0f?fromScene=spaceOverview
今天的文章就到这里啦,如果觉得不错,可以点个赞、在看、转发,三连支持我~
扫描下方图片中我的微信二维码备注"进群",拉你进社群一起交流学习!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-13
用Spring AI Alibaba把MultiAgent实现从5天压到5小时
2026-02-12
Prompt caching 技术是如何实现 1 折的推理成本优化的?
2026-02-12
灵码+Qwen3-Coder——使用Skill机制实现代码审核
2026-02-12
AutoSkill:AI 智能体的自我进化引擎
2026-02-10
终于用上了Google 的Antigravity,体验一把最新的Skills吧!
2026-02-10
MSE Nacos Prompt 管理:让 AI Agent 的核心配置真正可治理
2026-02-06
Claude Code Skill 开发完全指南:从入门到精通
2026-02-05
业务稳定造就大模型的降本增效?Claude 核心能力拆解(一)
2026-01-04
2026-01-13
2025-12-02
2026-01-29
2026-01-10
2025-12-07
2026-01-01
2026-01-18
2026-01-15
2025-12-04
2026-02-12
2026-02-05
2026-01-23
2026-01-19
2026-01-19
2026-01-15
2026-01-05
2025-12-30