跳到主内容
快讯直播
AI智模界
AI 词典

语义缓存:意思差不多的请求,也可以复用答案

一句话定义:语义缓存(Semantic Caching)是把用户的问题先转成向量(embedding),在历史问答库里找“意思最接近”的那一条;如果相似度超过预设阈值,就直接返回旧答案,不再调用大模型。

它和普通缓存的区别在哪

普通缓存的键是字符串,必须一模一样才算命中。用户问“怎么改密码”和“密码忘了怎么办”,在它眼里是两个完全不同的请求,各算一次钱。

语义缓存像一个记性很好的前台老员工。他不背原话,只记“这件事的意图”。你换十种说法来问同一件事,他都知道你说的是同一件事。

流程大致四步:把问题编码成向量 → 在向量库里做近邻搜索 → 算相似度(常用余弦相似度)→ 高于阈值就命中,低于阈值才真正去问大模型,并把这组问答写回缓存。

和提示缓存(Prompt Caching)的区别

维度提示缓存语义缓存
匹配依据请求前缀逐字节相同向量相似度
部署位置多在模型服务侧多在应用侧
省的是什么重复计算,降低首字延迟整次模型调用
风险基本没有“答错”问题可能命中近义但不同的问题

一句话概括:提示缓存解决“同一段长文本反复算两遍”,语义缓存解决“同一件事被问了两百遍”。

阈值:低了会答错,高了等于没缓存

这是语义缓存最经典的难题。

阈值设低了,会把“怎么退款”和“怎么退货”当成一回事;更危险的是“如何注销账号”和“如何注销公司”这类字面很近、意图完全不同的问法,用户会收到一个驴唇不对马嘴的答案,而且他还不知道是缓存造成的。

阈值设高了,只有几乎一字不差才算命中,命中率趋近于零,等于白白多了一层向量检索的开销,不如不做。

工程上的常见做法是:按业务分别定阈值,用真实日志回放,观察“命中后用户是否追问、是否点踩”,再逐步调;对时效性强的内容(价格、库存、政策)直接绕过缓存。

对从业者和普通人的意义

做产品的人:语义缓存通常用在高重复意图的场景,比如客服 FAQ、产品说明、内部知识库问答。落地时要额外注意三件事——多轮对话要把上下文一起参与匹配,否则容易串味;带用户私有信息的答案必须按用户或租户隔离,不然会把 A 的数据返回给 B;缓存要有过期和手动清理机制。

普通用户:你换个说法再问客服机器人,它不假思索就给出了同样的答案,响应快、成本低,背后很可能就是它在工作。

具体实现方式和参数配置,以各家官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。