「我的聊天机器人建议用户恢复出厂设置来解决密码问题」——作者开篇这句话,让我笑完又后怕。AI幻觉不是技术bug,是产品信任危机。
向量数据库的致命盲区
余弦相似度(Cosine Similarity,衡量两个向量方向相近程度的算法)是向量搜索的标配,但它有个尴尬特性:只关心"像不像",不关心"对不对"。
作者举了个例子:用户问"怎么重置密码",系统召回的可能是"怎么重置设备"——语义相近,后果天差地别。这种"伪相关"在客服场景能直接毁掉用户体验。
更麻烦的是,纯向量检索对精确匹配很弱。产品型号、错误代码、账户ID这类关键信息,稍微变个形就搜不到。
三源混搭:FAISS+知识图谱+BM25
作者的解法很工程:让三种检索方式互相兜底。
FAISS负责语义模糊匹配,理解"登不进去"和"无法登录"是一回事;知识图谱(Knowledge Graph,用节点和边表示实体关系的结构化数据库)锁定精确实体,确保"Model-X2024"不会匹配到"Model-X2023";BM25(一种基于词频的文本相关性评分算法)兜底关键词匹配,捕获拼写变形和缩写。
三路召回的结果,用倒数排名融合(Reciprocal Rank Fusion,一种合并多路搜索结果排序的算法)重新打分。简单说:三个学霸各交一份答案,取共识度最高的。
这个设计的妙处在于,矛盾本身成为信号——如果三路结果指向不同答案,系统就知道"这里有问题"。
"我不知道"比瞎编更值钱
最狠的一招是置信度阈值(Confidence Thresholding,设定分数下限过滤低置信结果)。作者给系统设了条硬规则:融合后的最高分低于阈值,直接回复"这个问题我找不到可靠答案"。
没有绕弯子的"根据相关资料",没有自信的胡说八道。就是认怂。
这在客服场景是反直觉的——传统KPI追求"解决率",但作者发现:一次错误答案导致的客诉升级,成本远超一次坦诚的转人工。诚实成为工程优化目标。
Benchmark数据(原文未披露具体数字,仅提及"可复现的测试结果")显示,这套方案在特定数据集上将幻觉率压到可接受区间,代价是约15%的查询触发"我不知道" fallback——作者认为这笔交易很划算。
为什么这事值得盯
AI搜索正在经历从"炫技"到"可信"的拐点。大模型厂商卷参数、卷上下文,但企业真正买单的是"不出事"。
作者的开源方案(含Python代码 walkthrough)提供了一条务实路径:不追求单点突破,用系统架构对冲不确定性。这种"工程保守主义"可能是AI落地的主旋律。
15天免费试用的CTA(行动号召)放在文末,说明作者对自己的"认怂"机制有信心——毕竟,敢让用户亲测幻觉率的搜索产品,市面上不多。
最后说句实话:我挺期待有人拿这套方案去测某些大厂AI客服的底裤。毕竟,会道歉的AI,可能比会写诗的AI更早赚到真金白银。
热门跟贴