PolyAI 中文文档 下载 App

话题匹配不上:RAG 召回失败的排查路径

问题现象

客户在对话里问了一个问题(比如"退款需要多久"),但智能体没有召回对应的知识话题,而是说"抱歉我没理解,请再说一遍"或者"这个问题请联系人工客服"。

排查步骤

第一步:在 Conversations 面板里看 RAG 实际匹配结果

打开 Conversations → 找到那通失败的对话 → 看每一轮的话题匹配面板:

情况含义下一步
显示"未匹配任何话题"RAG 完全没召回看第二步
匹配到了错误的话题(比如"store hours"而不是"refund")召回了但语义跑偏看第三步
匹配到了正确话题但回答仍然不对话题匹配没问题,是 LLM 生成或 Actions 的问题看第四步

第二步:检查示例问题覆盖度

如果完全没匹配,最常见的原因是示例问题和用户真实问法差太远:

修复:从 Conversations 里复制用户真实说的话,加进对应话题的 Example Queries 里。每加 5-10 个,在 Sandbox 里重新测试。

第三步:消除话题之间的歧义

如果匹配到了错误话题,原因可能是多个话题的语义范围有重叠:

修复:

  1. 合并语义重叠的话题(多个小话题合并成一个大话题)
  2. 给容易混淆的话题补充区分性示例问题:在 "refund process" 话题里加示例问题"退款"、"退钱",在 "return policy" 话题里加"退货"、"换货"

第四步:检查 Actions 和 LLM 行为

如果话题匹配正确但回答不对:

检查项怎么查
话题 Actions 里配了 /Flow: XXX 但 Flow 不存在或拼写错误Studio → Topics → 对应话题 → Actions 字段
LLM 被 Agent Settings 的 Rules 覆盖Agent Settings → Rules → 有没有禁止某些回答
Agent Builder 最近改过 Rules 或 Agent 设置Deployments → Live history → 看近期发布 diff

快速修复 vs 深度优化

情况快速修复深度优化
只有 1-2 个话题偶发匹配不上给这几个话题补示例问题定期从 Smart Analyst 拉 Top unmatched queries,批量优化
大量话题匹配不上整体检查话题结构、合并碎片化话题用 RAG 测试集做系统化评估
匹配正确但回答不对检查 Actions 和 Rules回看 Agent Builder 最近的改动历史

验证修复

改完话题后不要直接 Publish 到 Live——先在 Sandbox 里用相同的问法测试。话题改动实时生效,改完就可以在 Sandbox 里测。测通了再走 Deployments 流程。