这篇是如何在使用 Claude API 时省 90% 的教程,Claude 官方出品。我仔细阅读完原文后,划重点如下: 1️⃣如果你是 Claude Code 桌面端 app 使用者,你什么都不用做 2️⃣如果你是会调用 Claude API 开发应用的程序员,那你一定要仔细阅读本篇 展开了解更多👇 🔸这东西是干嘛的? 用来省钱的 你每次跟 Claude 聊天,其实是在给它发一大段“指令+背景资料+对话记录”。Claude 每次都要从头读一遍,又慢又费钱。 Prompt Caching 就像是给 Claude 装了个短期记忆,它读过一遍的东西,会暂时记住。下次你再发同样的开头,它直接从记忆里调出来,不用重新读。 🔸为什么桌面端 app 使用者什么都不用做? 因为已默认自动开启 也就是只要你持续对话,两条消息间隔不超过 5 分钟,缓存就会一直有效(一直保持省钱状态) 好了,接下去的内容非技术人员可以不用看,但是可以转发推荐给你认识的用 AI 编程的程序员朋友,他们很可能会需要哦~💗 ======== 🔸 如何开启使用? 自动缓存 (Automatic):请求顶层加一个 cache_control,系统自动把断点放在最后一个可缓存的 block 显式断点 (Explicit):手动在具体 content block 上放 cache_control 🔸能省多少钱? 缓存读取只要基础价的 1/10。如果你的 prompt 前缀很长且反复使用,节省非常可观,可以省下 90% 的成本 🔸最容易踩的坑 要把缓存标记放在“不变的部分”的末尾,别放在“每次都变的部分”上。 🔸缓存预热问题是怎么解决的? 第一个用户来的时候,缓存里还是空的。Claude 还是要从头读一遍,该慢还是慢。通过这个方式来解决:发请求时设 max_tokens: 0,意思就是“你读但别说话”。Claude 会把你给的 system prompt 读一遍、写入缓存,然后返回一个空回答。不产生任何输出费用,只付一次缓存写入的钱。 注意事项: - 必须用手动模式标记缓存位置,不能用自动模式。因为自动模式会把缓存标记放在那个假的占位消息上,后面真用户来了消息不一样,缓存就对不上了。 - 缓存还是会过期。用 5 分钟缓存的话,就得每隔不到 5 分钟重新预热一次。 - 不能跟流式输出、深度思考等功能一起用。 🔸什么情况下缓存会失效? 你可以把缓存想象成一个精确到每个字的记忆。哪怕改了一个标点,它就不认了。比如: - 改了工具定义 → 全部缓存作废 - 开/关了某些功能(搜索、引用等) → 大部分缓存作废 - 改了图片、思考模式设置 → 对话部分的缓存作废 🔸还有其他需要注意的细节吗? - 内容太短不给缓存:根据模型不同,至少要 1024~4096 个 token 才能缓存。太短了系统直接忽略,也不报错。 - 并发要小心:第一个请求的缓存要等它开始返回结果后才能被别人用。如果你同时发 10 个请求,后面 9 个可能都没命中缓存。 -不同团队的缓存互不相通:你的缓存是你的,别人看不到也用不了。
From X

Disclaimer: The above content reflects only the author's opinion and does not represent any stance of CoinNX, nor does it constitute any investment advice related to CoinNX.

20