实测 LLM 语义缓存:危险查询反而更像安全查询,多数系统不该上
bfeeny · reddit · 2026-09-27
作者亲手构建并测量了一个 LLM 语义缓存系统,结论反直觉:大多数系统不应该用语义缓存。
核心实验:作者构造了 40 组三元组——原始提示、语义相同的改写、以及改动最小但正确答案不同的「近似错问」(如「去夏威夷旅行」→「去日本旅行」)。结果显示:改写的余弦相似度中位数为 0.836,而危险的近似错问反而高达 0.911——不该缓存的查询平均比该缓存的更近,40 个近似错问中有 33 个高于改写的中位数。这不是重叠问题而是倒置,根源在于嵌入编码的是句子「关于什么」,而决定答案的那一个 token 只是舍入误差。
先例佐证:GPTCache 论文承认当前嵌入下命中率不超过 90%,重排器也无法区分好坏命中;AWS ElastiCache 在 63,796 条真实查询上的基准显示阈值从 0.75 调到 0.99,准确率都卡在 91%-93%。
修复方案:相似度召回 3 个候选,再用一个便宜小模型判断存储问题与新问题是否真的同答案。基于 DynamoDB 向量索引 + AgentCore Gateway 拦截器实测:验证开启、召回 ≥0.65 时,90% 的改写被正确服务、仅 5% 近似错问被误服务;关闭验证器后误服务率飙到 90%——而且关闭反而更快,这就是陷阱:常规缓存指标双双变好,实际却在输出错误答案。
经济学与结论:对昂贵模型,0.15% 命中率即可回本;对便宜模型永远不划算(验证成本是被替代调用的 32 倍)。但成本不是跳过的理由,错误率才是——错误的缓存答案与错误的模型输出无法区分。精确缓存虽然触发少,但零错误,胜过「偶尔错得很自信」。代码、CloudFormation 和原始数据均在博文中。
「编程与Agent」频道最新
- 在 BigQuery 上自建语义与知识层,如何暴露给 Agent 当工具 — batmanparam · 2026-09-27
- OpenAI 启动首期 Codex Physical Builds,全球 35 名开发者入选 — OpenAIDevs · 2026-09-27
- 多角色 Bot 流水线实测翻车:总卡审批等待,不如直接用编码 Harness — Old_Grapefruit8774 · 2026-09-27
- Opus 5.5 串起 Blender、图像生成与 three.js,浏览器里跑出 3D 场景 — burny_tech · 2026-09-27
- Claude 将砍掉 plan 模式,同日 Google 才宣布上线该功能 — dotey · 2026-09-27
- Gary Marcus 转发警告:大团队用 AI Agent 或已有未知安全事故 — GaryMarcus · 2026-09-27