AI客服答非所问的排查链路:从日志还原到意图路由与生成验证
AI客服答非所问,先改提示词还是知识库?
给AI客服落地团队一份可直接照做的排查清单,从日志审计到回归测试都有具体步骤,能立刻用于优化现有产品体验。
当用户询问“我的退款什么时候到”时,助手却回复通用政策说明——这种答非所问的根源可能藏在路由、检索、知识版本或生成环节。本文通过真实案例拆解排查链路,从日志还原到意图识别、知识检索、模型生成,教你用证据定位问题,避免盲目修改提示词。
用户在订单页问“我的退款什么时候到”,助手回了一句“退款申请提交后,平台会按原支付方式退回,请耐心等待”。用户要的是自己那笔钱的进度,它给的是通用说明。
碰到这种,手别太快。答非所问,错的可能在路由,可能在检索,可能在知识版本,也可能在生成,还有可能压根没调到实时数据。一上来就改提示词,多半白改。
就说这个例子。那句话是从帮助中心的通用退款说明里拿来的,这笔订单的退款状态其实是“已完成”,助手当次压根没调订单接口。个人进度查询压根没走到实时查询这一步。
可这只是个假设。真到线上,得先确认当时是不是这么回事。要看那一轮的记录:用户原话和时间、入口和订单上下文、意图和路由结果、检索候选和版本、送进模型的上下文、工具调用和返回、提示词和模型配置版本,还有最终回答。少了这些,只能复现相似的症状,说不清当初为什么答错。
先把那一轮的日志翻出来
这条请求可以按日志还原:从订单页进来;用户问退款什么时候到;系统路由到了政策问答;检索返回通用退款说明;没调退款查询;模型就着这些材料组织出一段政策回复。
顺着这条链查,范围就小了。订单页没把上下文传进客服,个人进度查询根本无从开始;上下文传了,看路由有没有识别出“查这笔订单”;路由对了,看退款接口有没有被调、返回了什么。
日志要是没留检索结果或接口记录,就用授权测试账号和固定订单状态,在测试环境重放这个问题,知识版本、提示词、模型、配置都固定住。重放能说明当前配置下还会不会出同样的现象;线上状态已经变了、原配置又没留档,它证明不了当时的根因。这个分寸要拿捏。
他问的是规则,还是自己的单
“退款通过后多久到账”是在问一般规则;“我这笔退款什么时候到”是在查自己的订单。两句话挨着,处理路径可能完全不同。系统能读到订单页上下文,分类时就得把上下文一起算进去;用户从公共入口进来,就先确认订单对象,再决定要不要查实时状态。
意图识别这块,别光看问法,看实际路由结果,再拿一组边界相近的问题验分类:
- “退款一般多久到账?”——查通用规则。
- “退款通过后,通常几天能到账?”——查规则,回答要说明适用条件。
- “我这笔退款现在到哪一步?”——查个人进度,需要订单上下文和业务接口。
- “订单号……,这笔退款为什么还没到?”——查个人进度并解释当前状态;状态解释不了原因,转人工核查。
这组问题要连入口条件一起测。光把问法加进样例,说明不了分类就是根因,得核对当时的上下文、路由输出,还有改完相邻的规则问题是不是还走原路。
路由对了,再看知识检索。看检索候选、排序、文档版本,还有最后注入模型的片段。候选里有正确文档但排序靠后,跟知识库压根没有正确内容,是两码事。检索到新旧两份规则,得先确认哪份有效,再调版本标记或检索配置。
知识库里放退款规则、申请条件、办理说明;某笔订单当前的进度,得从订单或支付系统查。两者有时一起参与回答:先查订单状态,再引用规则解释这个状态。排查时就得分清,回答里的事实分别来自哪里。
材料没错,再看模型怎么说
路由、检索候选、送进模型的上下文都符合预期,回答还是把“审核通过”说成“退款已到账”,才轮到查生成。
把这一轮送进模型的内容摊开看:用户问了什么,订单状态和更新时间是什么,检索片段完不完整,提示词和模型配置是哪一版,最终回答又多说或少说了什么。检索结果对,不代表注入的上下文一定完整;片段可能被截断,状态字段也可能在拼接时丢了含义。
把这些信息放进一条验收样例:
入口与上下文:已登录用户,从本人订单详情页进入;订单归属校验通过。
用户问题:“我的退款什么时候到?”
接口返回:退款已审核通过,退款指令尚未发出;更新时间为10月8日;没有预计到账时间。
检索内容:当前有效退款规则,说明审核通过后的后续处理环节。
预期回答要点:说明审核已通过、退款指令尚未发出;告知更新时间;不补写具体到账日;提供人工核查入口。
记录版本:路由配置、检索配置、提示词、模型版本与接口返回时间。
模型上下文里漏了“退款指令尚未发出”,查拼接或截断;上下文完整、回答还声称“已到账”,查生成指令和模型参数变化;接口字段本身把审核完成和退款完成混成一体,就先改业务字段定义。修哪里,跟证据对上。
改一处,回头测一圈
排查表能把一次问题留成可复查的记录:
一次修复要是同时改了知识内容和检索配置,就把这两项当一组变更记下来,比较改前后的候选和回答,重跑相关核心样例。提示词、模型或全局配置变了,也要跑完整的核心回归集,看其他意图、状态、人工转接有没有退化。修复后把样例结果记下来,下次遇到同类问题就有据可查。
本文由 @王蒙 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力