LLM 的缓存比传统缓存难在哪
传统接口缓存看 URL 与参数;LLM 的请求体是**自然语言**,同一个意思有无数种写法,
所以"键怎么定"就是核心难题。做错了会出现两种糟糕结果:**该命中没命中**(白花钱),
或者**不该命中却命中**(答非所问)。
三层缓存(强烈建议按这个顺序做)
**一、精确缓存(最稳)**
键 = 请求体的**规范化哈希**:模型 + 提示词版本 + 参数 + 输入文本(去首尾空白、统一换行、统一大小写规则按需)。
**二、语义缓存(要克制)**
把输入向量化,相似度超过阈值就复用旧结果。
**三、前缀缓存 / 上下文复用(省在输入侧)**
很多推理服务对"相同前缀"有优惠。做法:把**稳定部分放前面**(系统提示、固定示例),
**变化部分放后面**(用户输入)。这样前缀能复用,输入成本明显下降。
三类**不要**缓存的东西
该观测什么
落地顺序
1. 先做精确缓存(含版本号),立刻见效且风险低;
2. 加前缀复用(把稳定内容前置,几乎无风险);
3. 最后才考虑语义缓存(白名单 + 抽检 + 可关闭开关)。