面向 LLM 的语义缓存
安全复用含义
通过安全的相似度、隔离、新鲜度、验证与旁路规则设计 LLM 语义缓存。
发布日期:2026年3月24日 · QVeris团队制作

速览
Embedding 距离是证据,不是复用答案的最终授权。
搜索、密钥、元数据与存储必须阻止跨租户发现与返回。
稳定解释可能允许复用;价格、可用性与工具结果通常不行。
缓存命中仍需策略、来源、质量与响应形状检查。
语义缓存本质上是检索系统
精确缓存只有在规范化请求材料一致时才复用结果;语义缓存则通过 Embedding 或其他方式表示意图,检索历史条目,并接受超过决策阈值的候选。它让改写表达也可复用,同时也把检索错误、阈值校准、元数据过滤、答案验证与评测变成生产责任。
误命中应视为正确性事故,而不只是缓存指标。对相似但含义不同的问题返回旧答案,可能比漏命中更危险,尤其涉及策略、金融或用户特定请求时。阈值应按工作负载与风险类别设置,而不是全站共用一个相似度数字。
缓存策略与 Key Metadata 应包含租户和授权分区、用户类别、模型与 Prompt 版本、语言、Schema、工具需求、来源集合、安全上下文和新鲜度窗口。需要外部动作、当前事实、个性化状态或非幂等工具的请求,默认应旁路答案复用。
语义缓存决策阶段
| 阶段 | 最适合 | 选择前验证 |
|---|---|---|
| 标准化与指纹 | 移除无关差异,同时保留身份与意图。 | 不得删除影响授权、安全、工具或含义的字段。 |
| 检索候选 | 只搜索获授权的租户与策略分区。 | 相似度排序前按模型、提示词、语言、来源、工具与新鲜度过滤。 |
| 应用复用策略 | 把相似度与工作负载特定 Gate 结合。 | 按误命中成本校准阈值,不能采用万能分数。 |
| 验证响应 | 检查策略、形状、来源、完整性与过期情况。 | 被缓存的不安全或过时答案仍然不安全或过时。 |
| 带证据写入 | 存储答案、表征与决策元数据。 | 版本化 TTL、来源时间、租户、提示词、模型与失效链路。 |
判断什么可以安全复用
用正向与对抗样例定义可接受的语义等价。
附加来源感知 TTL,并在模型、提示词、策略或数据变化时失效。
按租户与所有授权相关上下文划分存储和检索。
工具、动作、实时数据、个人数据与高风险决策默认跳过,除非明确证明安全。
安全评估语义缓存
评测对应该来自真实查询变化,而不只是合成改写。由领域负责人标注两个请求在相同上下文下是否可以共享答案,并加入在实体、日期、单位、权限或请求动作上不同的对抗性近邻。
- 构建已标注的相似、不相似、歧义、过期、跨策略与跨租户测试对。
- 分别测量误命中率与严重程度,以及漏命中,因为两者风险不对称。
- 按工作负载校准阈值,并检查决策边界附近的表现。
- 测试 Prompt、模型、策略、来源、Schema 与授权变化后的失效。
- 验证工具、个性化与实时数据请求不能返回过期或未授权答案。
- 通过可追踪命中决策、Shadow Comparison 和一键全局或工作负载旁路进行灰度。
把授权与新鲜度放在相似度之前
只标准化已证明无关的差异,再结合租户、授权与策略上下文生成 Lookup Fingerprint。检索必须从已授权分区开始,不能先全局搜索再在排序后过滤敏感结果。做最终相似度判断前,应先移除过期条目,以及模型、Prompt、Schema、语言、来源或安全版本不兼容的条目。
对剩余候选排序,应用工作负载特定阈值,并验证所选答案的 Schema、引用与新鲜度。记录 Query 与 Entry Fingerprint、Metadata Filter、相似度分数、阈值版本、接受原因与节省估算。存在不确定性或验证失败时,走正常模型路径,并可用新结果改进后续评测。
生产规则:当请求需要外部工具、个性化状态或当前数据时,默认旁路才安全。
QVeris 让实时数据边界更明确
QVeris 发现并调用外部 API、工具、服务与实时数据。应在工作负载 Envelope 中标记能力需求、来源身份、实体、生效时间与最大新鲜度年龄,让语义缓存能够旁路复用,或基于已验证来源状态建立 Key。当正确答案会随市场、用户账户或工作流状态变化时,“同一个问题”并不足够。
只有不会抑制必需真实调用时,才缓存推理模板或转换结果。工具输出需要独立缓存与新鲜度策略,并受权限与 Provider Evidence 限制。对于外部动作,只能缓存规划产物;不能把之前成功的动作当作跳过或重复新请求的依据。
继续阅读相关实施指南
通过这些相关指南继续比较下一项架构决策、实施边界或运营控制,无需重新开始调研。
FAQ
它能为含义相近的措辞复用答案,而不仅限于相同请求密钥。
误命中导致返回错误、过期、未授权或上下文不兼容答案。
通常应旁路,除非工具结果幂等、来源明确且受显式新鲜度契约治理。
