客户在微信客服里问"这个多少钱",机器人回了一段功能介绍,末尾还补了句"可以试用"。截图发过来,客服同事问是不是 AI 坏了。模型没坏,坏在它前面的知识库检索层——AI 拿到的上下文里根本没有价格信息,只能拿功能描述硬答,再凭训练语料的直觉补一句试用,看起来通顺,完全不对题。这类问题在工单里的原始描述都是"机器人答非所问",但拆开看,答案的质量上限在检索层就定了。这篇复盘我们企业微信 AI 自动回复链路上,检索层踩过的三次翻车和一次架构选型,给同行参考。
配图## 一问价格答功能:裸产品名的平局挤出我们的知识库是检索式的:每条知识带一组关键词,客户消息进来先分词,再按命中关键词的个数和权重打分,取前三名拼进 AI 的上下文。事故那条知识的关键词只配了产品名裸词。后果是:客户问价格时,所有含该产品名的条目全都命中同一个词、得分相同,价格条目没有任何独特词给它加分,同分排序又按更新时间垫底,挤不进前三。AI 看到的上下文里压根没有价格,回答自然答非所问。修法是把关键词从"分类标签"的思路改成"检索索引":产品名加意图词复合配置,比如"产品名 价格 多少钱 报价",并给意图词更高权重,让"问价格"这个意图本身参与排序。上线后价格类问法的命中稳定了下来。教训落在配置侧:检索式知识库里,关键词不是给系统看的分类,是给客户消息准备的钩子。配置界面引导配置的人用"客户会怎么问"的原话做关键词,再配一个试算入口当场验证命中,比培训他们理解打分算法有用得多。举一个修复前后的对比:客户问"你们那个扫码进来的客服机器人多少钱"。修复前,这句话分词后命中的是几个产品名裸词,一堆功能介绍条目同分,价格条目排在第四名开外,AI 只能拿功能描述搪塞;修复后,价格条目带着"多少钱"“报价"两个意图词的权重直接登顶,AI 拿到价格信息,回复既准确又克制。同一条客户消息,同一个模型,检索层一改,答案判若两物——这就是上下文决定下限的意思。## 版本号变成负数:一次乘法溢出第二个问题更隐蔽:有客户改了知识库,客服端永远拿旧答案,怎么改都不生效。翻日志,快照版本号是个负数。根因是快照版本号用秒级时间戳乘以十亿生成,落库字段却是三十二位整数。算一笔账:秒级时间戳本身约十七亿七千万,乘以十亿是一点七七乘十的十八次方,而三十二位有符号整数的上限约二十一亿四千万,乘完直接溢出截断成负数。版本比较逻辑是"版本变大才重装快照”,负数比库里的历史版本都小,快照永远不更新——配置改得再勤,客服端读到的都是上线那天的旧数据。修法除了换成六十四位整数,更重要的是补了一条边界测试:新生成的版本号必须大于库里已有的版本号。溢出这类 bug 在单测里很好拦,难的是先想到"这个数会溢出"——两个来源不同、量纲不同的字段相乘之前,先把理论上限算一遍,这条该进代码评审的清单。## 改完要等五分钟:快照时效的两档设计第三个问题是体验:知识库改完马上测,还是旧答案,要等五分钟才生效。桥接服务每五分钟无条件重装一次知识库快照,这个兜底保住了"最终一致",但用户视角就是"改了没反应",客服收到的工单原话是"系统坏了"。修法分两档:知识库的发布动作变成主动发缓存失效通知、版本号加一,桥接服务收到通知立刻重装,秒级生效;不点发布,最多五分钟由兜底机制自然生效。显式失效管"我要马上对",兜底过期管"我忘了发布也不能永远旧",两档叠加,任何一条路径都不会留下永久旧数据。配置页上我们把这件事写成了明话:“不发布也会在五分钟内自动生效”。上线后"改了没反应"的工单就绝迹了——用户不是不能等,是不能不知道要等多久。## 为什么先不上向量:答案列恒空的教训排查期间内部有个声音:上向量检索做语义匹配,不就没有关键词配置这些事了?我们翻了自己一版半接线的向量管道:向量化的写入管道没接完,答案列恒空,等于线上跑着一个空转的模块,全靠关键词层和兜底在撑,这件事还是季度审计逐列对账时抓出来的。这次选型的结论是:向量检索留在路线图上,但关键词层必须先做扎实,理由是可解释、可复算。关键词引擎的每条回复都能从日志回答"命中了哪条知识、为什么命中、得分多少",客服反馈"答错了"能定位到具体条目去修;语义检索召回是好,可一旦答错说不清为什么,对接客服排障是灾难。两者并不冲突:关键词层做可解释的基线,向量做补充召回、混合排序,但基线层的每一次命中都要能对账,这条不妥协。## 小结三次翻车一个共同病根:检索层被当成了内部实现,没被当成要验收的产品行为。配置的人按"分类"的直觉填关键词,生成版本号的人没算过溢出,做缓存的人只保证了最终一致——每一层在自己的视角里都对,拼起来就是"机器人答非所问"。后来我们把四十多种真实问法固定成回归用例,每次动关键词、动排序、动版本逻辑都跑一遍,命中不对就拦在发布之前;检索日志里也加了命中率统计,命中不了前三的消息单独归档,每周回头补关键词。企业微信 AI 自动回复的体验下限,不取决于模型多聪明,取决于喂给它的上下文对不对。## 参考文章- 微信客服自动回复怎么设置:入口与规则详解- 企业微信自动回复设置:从接入到转人工的完整方案

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐