王子

CASE 04 / ENGINEERING IN DETAIL

AI 客服与知识检索平台

参与咨询消息与路由开发,结合业务上下文区分咨询场景。

奇富科技 · 参与咨询消息与路由模块开发 · 2026

问题与约束

咨询处理需要结合工单背景,选择信息澄清、状态查询、知识检索或人工分流。项目保存模型调用和知识引用,供排查答复与运营反馈使用。我的参与范围是咨询消息与路由模块,下文也说明这些模块所在的整体处理流程。

核心链路简化示意

以下图示为技术思路的简化表达。

  1. 01 / 消息受理接收咨询并保存记录
  2. 02 / 场景路由规则、分类与上下文
  3. 03 / 知识检索检索得分与命中阈值
  4. 04 / 答复与反馈引用、调用与运营记录

架构取舍与实现

01

先保存处理记录,再异步调用模型

难点咨询接收与模型调用速度不同,失败后还需要知道任务停在什么状态。

方案通过 RabbitMQ 接收消息,保存处理记录后异步调用模型;结合重复消息判断、状态条件重试与超时清理管理任务。

考虑模型调用失败后,可以依据任务记录判断是否重试或清理超时状态,而不只依赖本次请求的返回。

02

按工单组织上下文和路由

难点只用当前一句话判断咨询,容易忽略工单背景和不同业务场景的差异。

方案路由按阶段结合规则判断、模型分类与知识检索,并按咨询工单组织有限上下文,支持信息澄清、状态查询和人工分流。

考虑路由能使用工单背景,同时保留各阶段的判断,便于排查分类或检索发生偏差的位置。

03

保存引用、Prompt 和模型调用信息

难点仅保存最终文本,难以解释答案来源与某次调用出现偏差的原因。

方案平台接入百炼知识库,结合检索得分与阈值组织答复;保存路由、引用片段、Prompt 版本、模型和 Token 信息,并记录运营反馈。

考虑排查一条答复时,可以对照引用片段、当时的提示词和模型调用,判断问题来自检索还是生成。

这套设计解决了什么

参与咨询消息处理与场景路由开发。所在系统结合工单上下文处理咨询,并按任务状态处理重复消息、失败重试和超时清理。

验证关注点

  • 重复消息、超时任务与失败重试,是否按状态条件进入正确处理路径?
  • 知识未命中、检索异常或上下文不足时,是否给出适当分流或反馈?
  • 一条答复能否追溯到使用的知识引用、Prompt 版本及模型调用?

我的职责

参与咨询消息与路由模块开发,结合业务上下文区分咨询场景。

技术与主题

  • Java 17
  • Spring Boot 3
  • LangChain4j
  • RabbitMQ
  • PostgreSQL
  • RAG / 百炼

聊聊你的技术需求。

把业务目标、现有系统和交付范围发给我,一起梳理关键问题与实现路径。

发送合作邮件 ↗