提示缓存是什么
提示缓存复用相同前缀已计算的注意力键值状态,命中时不必重算前缀,从而降低首 token 延迟与输入侧计费。命中的前提是前缀逐字符一致,因此工程要点在布局:稳定内容放最前,会话级内容居中,本轮输入与实时数据放最后。具体命中规则、最小前缀长度与折扣力度以所用服务商的文档为准。
基本信息
| 原理 | 前缀的键值状态可复用,前缀字符变化即失效 |
|---|---|
| 布局 | 稳定前缀 → 会话级上下文 → 本轮输入 |
| 常见击穿 | 改系统提示、调示例顺序、前缀含时间戳或随机 ID |
| 收益 | 首 token 延迟下降与输入费用下降,幅度随服务商与命中率变化 |
| 观测 | 命中率、节省延迟、节省费用三项一起看 |
典型使用场景
- 客服与问答机器人:系统提示长且固定,缓存收益最直接
- 少样本抽取任务:示例放前缀,示例调整集中到低峰期做
- 批量同类任务:几千条请求共用同一前缀,前缀只算一次
- 多轮会话:会话级上下文按会话缓存,不跨用户复用
- 成本压降:把命中率当指标管理,提示改动前先评估对命中率的影响
布局与失效面
布局与失效面
[稳定前缀] 系统提示 + 少样本示例 # 改动越少越好,集中低峰期
[半稳定] 会话级上下文 # 按会话缓存,不跨用户
[易变尾部] 当前输入 + 实时数据 # 每次都不同,放最后
# 常见击穿原因:前缀里塞时间戳、随机 ID、按哈希排序的字典
# 观测指标:命中率、首 token 延迟、输入 token 费用常见动作对命中率的影响
| 动作 | 影响 | 建议 |
|---|---|---|
| 改系统提示 | 该前缀全量失效 | 集中批量改,避免每天微调 |
| 调整示例顺序 | 前缀变化即失效 | 示例顺序固定,改动走版本 |
| 前缀插入时间戳 | 每次都不命中 | 时间戳移到尾部 |
| 前缀加公共知识 | 前缀变长但命中率不变 | 放前缀内,注意总长度上限 |
缓存是性能与成本优化,不改变输出内容。为了命中率牺牲提示可读性得不偿失,先保证语义正确再优化布局。