AI 客服系统
一个「能真正干活」的客服系统:大模型回答业务问题(RAG 兜底事实准确性)、多轮对话管理、搞不定的无缝转人工、全量质检。目标很朴素——把重复咨询的人力省下来,让人只处理机器搞不定的问题。
一、项目背景
传统客服机器人的痛点大家都体验过:关键词匹配、按钮树、答非所问,最后用户气得骂「转人工」。大模型给了新的可能,但也带来新问题:
- 幻觉:一本正经地编退款政策,业务场景里这是事故
- 知识时效:活动规则每周都在变,模型不可能跟着重训
- 成本:每句话都调大模型,账单撑不住
所以架构设计的核心思路是:大模型负责「理解和组织语言」,知识库负责「事实」,规则引擎负责「红线」。
二、整体架构
用户消息
│
▼
┌────────────┐ 意图分类(轻量模型/规则)
│ 对话网关 │──────────────┐
└────────────┘ │
│ ┌─────────┴─────────┐
│ ▼ ▼
│ FAQ 精准命中(向量检索) 开放问答(LLM)
│ │ │
│ │ ┌──────┴──────┐
│ │ ▼ │
│ │ RAG 检索增强 │
│ │ (知识库向量库) │
│ │ │ │
│ ▼ ▼ ▼
│ ┌──────────────────────────┐
└────────→│ 安全过滤 + 敏感词 + 业务规则 │
└────────────┬─────────────┘
▼
回复 / 转人工关键分层:
- 意图路由:先用便宜的分类模型把消息分成「精准 FAQ / 开放问答 / 转人工 / 闲聊」四类,闲聊用小模型,只有开放问答才走完整 RAG 链路——成本能降一大截
- RAG 链路:知识库(产品文档、政策、活动规则)切片 → 向量化入库;查询时向量检索 + 重排序(rerank),把最相关的片段塞给 LLM 组织答案
- 人机协作:用户说「转人工」或模型连续两轮置信度低,自动创建工单转坐席,附完整对话上下文——坐席不用让用户再复述一遍
三、核心难点与解决方案
1. 幻觉治理
这是最高优先级的问题,业务上宁可回答「我不知道」也不能编:
- 答案溯源:LLM 被要求只根据检索到的知识片段回答,并在回复里标注来源文档
- 拒答机制:检索相似度低于阈值时,明确告知并引导转人工,而不是硬答
- 后置校验:涉及金额、时间、政策类的关键词,用规则引擎二次核对(比如从知识片段里抽取数字做一致性校验)
2. 知识库的工程化
知识库不是「把文档扔进去」就完事:
- 切片策略:按标题层级 + 语义边界切,比固定字数切碎效果好得多;表格类内容整块保留不切
- 增量更新:运营在后台改了活动规则,5 分钟内生效——向量库按文档版本管理,支持回滚
- badcase 闭环:坐席修正过的错误回答,回流成评测集,每周跑一次回归,防止「改好了 A 又弄坏 B」
3. 多轮对话状态
用户说「那第二个呢?」——这种指代必须结合上下文。用 LLM 做对话历史的压缩摘要(超过 N 轮时把早期对话压成摘要),既保上下文又控 token 成本。槽位状态(订单号、问题类型)单独维护,不依赖模型记忆。
四、效果指标
| 指标 | 数值 | 说明 |
|---|---|---|
| 机器人独立解决率 | 【待补充】 | 无需人工介入的比例 |
| 首次响应时间 | 【待补充】 | 对比人工客服 |
| 知识库命中率 | 【待补充】 | RAG 检索准确率 |
| 用户满意度 | 【待补充】 | 会话结束评价 |
五、收获
LLM 应用落地的真话:模型只占三成,七成是工程。检索质量、意图路由、拒答策略、badcase 闭环这些「脏活」,决定了用户觉得它是「智能客服」还是「人工智障」。另外,转人工不是失败路径——把转人工做得顺滑(上下文无缝交接),用户满意度反而比强行挽留更高。
💬 对这个项目的架构细节、技术选型有想法?欢迎加我泡泡(微信)一起探讨技术与科技前沿 → 🍵 加我泡泡