CASE 04 / ENGINEERING IN DETAIL
AI 客服与知识检索平台
参与咨询消息与路由开发,结合业务上下文区分咨询场景。
问题与约束
咨询处理需要结合工单背景,选择信息澄清、状态查询、知识检索或人工分流。项目保存模型调用和知识引用,供排查答复与运营反馈使用。我的参与范围是咨询消息与路由模块,下文也说明这些模块所在的整体处理流程。
核心链路简化示意
以下图示为技术思路的简化表达。
- 01 / 消息受理接收咨询并保存记录
- 02 / 场景路由规则、分类与上下文
- 03 / 知识检索检索得分与命中阈值
- 04 / 答复与反馈引用、调用与运营记录
架构取舍与实现
先保存处理记录,再异步调用模型
难点咨询接收与模型调用速度不同,失败后还需要知道任务停在什么状态。
方案通过 RabbitMQ 接收消息,保存处理记录后异步调用模型;结合重复消息判断、状态条件重试与超时清理管理任务。
考虑模型调用失败后,可以依据任务记录判断是否重试或清理超时状态,而不只依赖本次请求的返回。
按工单组织上下文和路由
难点只用当前一句话判断咨询,容易忽略工单背景和不同业务场景的差异。
方案路由按阶段结合规则判断、模型分类与知识检索,并按咨询工单组织有限上下文,支持信息澄清、状态查询和人工分流。
考虑路由能使用工单背景,同时保留各阶段的判断,便于排查分类或检索发生偏差的位置。
保存引用、Prompt 和模型调用信息
难点仅保存最终文本,难以解释答案来源与某次调用出现偏差的原因。
方案平台接入百炼知识库,结合检索得分与阈值组织答复;保存路由、引用片段、Prompt 版本、模型和 Token 信息,并记录运营反馈。
考虑排查一条答复时,可以对照引用片段、当时的提示词和模型调用,判断问题来自检索还是生成。
这套设计解决了什么
参与咨询消息处理与场景路由开发。所在系统结合工单上下文处理咨询,并按任务状态处理重复消息、失败重试和超时清理。
验证关注点
- 重复消息、超时任务与失败重试,是否按状态条件进入正确处理路径?
- 知识未命中、检索异常或上下文不足时,是否给出适当分流或反馈?
- 一条答复能否追溯到使用的知识引用、Prompt 版本及模型调用?
我的职责
参与咨询消息与路由模块开发,结合业务上下文区分咨询场景。