意图识别:消息进来该走哪条路
作者:程序员马丁
note
Ragent AI —— 从 0 到 1 纯手工打造企业级 Agentic RAG,拒绝 Demo 玩具!AI 时代,助你拿个offer。
上一篇讲了 Query 改写,RAG 系统的多轮对话能力已经比较完整了:会话记忆让模型记住了上下文,Query 改写让检索系统也能理解上下文,检索效果大幅提升。
但你把这套系统上线之后,会发现一个尴尬的问题。
用户说“你好,我想咨询一下”,系统拿“你好我想咨询一下”去向量数据库里检索,召回了退货政策、保修条款、配送时效三个 chunk,然后模型基于这些 chunk 回答:“您好,关于退货政策,我们提供七天无理由退货服务……”——用户只是打了个招呼,你给人家讲退货政策?
用户说“我查一下我的年假余额”,系统去知识库里检索年假余额,召回了公司年假制度:正式员工每年享有 10 天带薪年假……,模型回答:“根据公司年假制度,正式员工每年享有 10 天带薪年假。”——用户想知道自己还剩几天年假,不是问年假制度。这个问题应该调 HR 系统的 API,不是查知识库。
问题出在哪?你的 RAG 系统是一根筋的——不管用户说什么,都往知识库里检索。就像一家医院没有分诊台,所有患者来了都直接送去内科,牙疼的、骨折的、做体检的全挤在内科门口。
今天要讲的就是给 RAG 系统装一个分诊台——意图识别与问题路由。用户消息进来,先判断它应该走哪条路:查知识库、调工具、直接闲聊、还是反问用户补充信息,然后把请求分发到对应的处理流程。