一句话结论
Claude 的长上下文窗口(最高可达 20 万–100 万 token)让你能把整本产品手册、整个代码库或长文档直接放进提示词;再配合 Prompt Caching 把不变的长上下文缓存起来,长文档处理的成本最高降 90%、延迟降 85%——这是 RAG 之外更简单的知识注入方案。
什么时候用长上下文,而不是 RAG
Anthropic 的经验法则:当知识库小于约 20 万 token(约 500 页)时,直接整库放进提示词即可,无需 RAG 。知识更大再上 RAG。长上下文 + 缓存的组合,既简单又便宜。
缓存命中的前提是「前缀稳定」。把不变的手册/系统指令放在请求最前面,变的部分(用户问题)放后面,才能复用到缓存。
Prompt Caching 怎么省钱
| 缓存档位 | 省钱幅度 | 适用 |
|---|---|---|
| 标准 5 分钟 TTL | 长提示成本降最高 90% | 多轮对话、短会话 |
| 扩展 1 小时 TTL | 延迟降最高 85% | 长时运行 agent 工作流 |
调用示例(Python)
import anthropic
client = anthropic.Anthropic()
resp = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
system=[{
"type": "text",
"text": open("handbook.txt").read(), # 整本手册
"cache_control": {"type": "ephemeral"} # 标记为可缓存前缀
}],
messages=[{"role": "user", "content": "第 3 章的退货流程是什么?"}]
)
长上下文下提示词怎么写更有效?
Claude 在超长文档里偶尔”犹豫”不敢答。给一句引导如「最相关的句子是:」能显著提升长上下文抽取准确率(官方实测从 27% 提升到 98%)。更多写法见 Anthropic 提示词工程。
常见问题
长上下文会取代 RAG 吗?
不会完全取代。 500 页以内直接塞提示词最省事;超出就上 RAG,或两者结合(先 RAG 召回再放进长上下文精读)。
缓存为什么有时没命中?
前缀不一致(系统指令/手册放在会变的位置)、或两次请求间隔超过 TTL 。确保稳定前缀 + 合理 TTL 。
成本和直接用 RAG 比如何?
语义检索省 token 但增加工程复杂度;缓存长上下文几乎零改动、长文档最高省 90%。小知识库优先长上下文方案。
所有模型都支持缓存吗?
Claude 3.5/3.7/4 等系列支持;具体档位与价格以 Anthropic 官方文档为准。
想稳定控格式可看 Anthropic 提示词工程;要做多步智能体见 OpenAI Agents API。
查看 Anthropic Prompt Caching 官方说明





评论 (0)