语义缓存、Prompt Cache 和结果缓存有什么区别?
简化版
结果缓存缓存完整问答,语义缓存用向量相似度复用相近问题答案,Prompt Cache 复用重复前缀的模型计算或供应商计费优惠。三者解决的成本位置不同,也各有一致性、命中率和错误复用风险。
详细版
- 结果缓存适合同一输入稳定返回的场景,例如分类、模板化问答。
- 语义缓存适合相似问题高频出现,但要控制相似阈值和答案过期。
- Prompt Cache 主要复用长系统提示、工具说明、知识库前缀等重复上下文。
- 缓存命中会降低延迟和成本,但可能复用过期或不适配答案。
- 高风险业务要缓存证据和版本,不能只缓存自然语言答案。
完整版教学
记忆钩子:缓存不是“少调模型”这么简单,而是在质量风险可控时复用确定性或近似确定性的计算。
一、这题真正考什么
记忆钩子:缓存不是“少调模型”这么简单,而是在质量风险可控时复用确定性或近似确定性的计算。
面试官真正想看的是你有没有生产工程视角:能不能把模型能力、业务流程、用户体验、成本和风险放在同一张图里思考。回答时不要只停留在工具名,而要讲出边界、链路和验收方式。
二、核心原理和工程边界
LLM 成本通常来自输入 token、输出 token 和生成延迟。结果缓存直接绕过模型,语义缓存用 embedding 判断“这个问题是不是足够像以前的问题”,Prompt Cache 则复用相同前缀的模型内部计算或享受服务商缓存计费。不同缓存层可以叠加,但必须有版本和失效策略。
LLMOps 的难点在于模型行为不是传统函数调用,输入稍变、模型版本稍变、上下文稍变,都可能让输出分布变化。因此工程系统必须把“可变的模型行为”包进“可管理的发布、监控和回滚流程”。
三、带数字的工程算例
一个问答系统每天 20 万请求,30% 是政策类重复问题。若平均每次 2500 input token、500 output token,结果缓存命中 20%、语义缓存命中 10%,理论上可少调用 6 万次模型,但错误复用率必须被压到可接受范围。
这个算例的作用不是追求精确到小数,而是帮助你在面试中建立量级感。只要能估出 token、并发、延迟、成本或错误率的数量级,你的回答就会从概念题变成工程题。
缓存收益 = 命中次数 * 单次模型成本 - 缓存维护成本 - 错误复用成本
语义命中:cosine(query_embedding, cached_query_embedding) >= threshold
Prompt Cache 收益依赖重复前缀长度和供应商/推理框架支持
四、典型链路怎么跑
可以把这类问题拆成下面的链路来理解:
请求进入
|
精确结果缓存查询
| miss
语义缓存相似度查询
| miss
构造 prompt 并利用前缀缓存
|
调用模型
|
写入缓存并记录版本
链路图的价值在于暴露责任边界:哪一步做权限,哪一步算成本,哪一步可重试,哪一步必须审计。面试时能画出链路,通常就能自然回答故障排查和系统设计追问。
五、方案对比和选择标准
| 缓存类型 | 命中依据 | 主要风险 |
|---|---|---|
| 结果缓存 | 完全相同 key | 数据过期、用户权限 |
| 语义缓存 | 向量相似度 | 相似但答案不同 |
| Prompt Cache | 重复上下文前缀 | 前缀变化导致失效 |
| 工具结果缓存 | 外部 API 参数 | 权威数据更新滞后 |
选择方案时要先说评估维度,再说取舍。LLMOps 面试很看重这种思维,因为真实系统没有银弹,只有在质量、成本、延迟、安全和维护成本之间做平衡。
六、上线后最容易出问题的地方
- 语义缓存阈值过低会把不同问题当成同一个,阈值过高又几乎没有收益。
- 包含用户权限或实时数据的答案缓存,必须把租户、角色和数据版本纳入 key。
- 只在少量 demo 上验证会低估风险,真实流量中的长尾输入、权限组合和外部依赖更复杂。
- 没有版本记录时,线上问题很难复现;prompt、模型、知识库、工具和配置都要纳入发布记录。
七、常见误区与追问
- 误区:语义相似就一定能复用答案。 要补充适用条件、失败模式和工程兜底,避免把局部经验讲成绝对规律。
- 误区:缓存只需要按问题文本做 key。 要补充适用条件、失败模式和工程兜底,避免把局部经验讲成绝对规律。
- 误区:Prompt Cache 和结果缓存是一回事。 要补充适用条件、失败模式和工程兜底,避免把局部经验讲成绝对规律。
- 追问:语义缓存如何设置阈值? 先给判断标准,再从数据、链路、权限、监控或评测角度说明落地方案。
- 追问:缓存命中后还要不要返回引用? 先给判断标准,再从数据、链路、权限、监控或评测角度说明落地方案。
- 追问:多租户系统如何避免缓存串数据? 先给判断标准,再从数据、链路、权限、监控或评测角度说明落地方案。
八、加强记忆
按“结果、语义、前缀、工具”四层记。回答时把命中依据、节省对象、失效策略和错误复用风险一起讲清楚。
复习 LLMOps 题时,可以固定用“目标、链路、预算、风险、观测、回滚”六步组织答案。这样既能回答原理,也能自然延伸到生产系统设计。