一个小小的设计错误,可以让你的 KV Cache 完全失效,每轮对话成本翻倍——那就是在 System Prompt 里写动态时间。
❌ 错误设计
System: 你是助手。
当前时间: 2026-04-10 14:35:22
...
✅ 正确设计
System: 你是助手。
(不含时间)
User: [2026-04-10] 请帮我...
其他常见"KV Cache 杀手":
精确到秒的时间戳
随机 Session ID
用户 ID 前缀
A/B 测试变量
随机 emoji 前缀
动态广告文案
任何让 System Prompt 每次不同的内容,都会导致缓存完全失效。
❌ 动态时间戳(精确到秒)
System: 你是助手。
当前时间: --:--:--
...
⏳ 等待请求...
✅ 静态 System Prompt
System: 你是助手。
(不含时间)
User: [--] ...
⏳ 等待请求...
启动后每秒自动发一次请求,观察两侧 KV Cache 命中差异
🔒
原则:System Prompt = 固定前缀。 把动态内容(时间、用户信息、随机性内容)放到 User 消息里,不要放进 System Prompt。