第12章实践:客户咨询分流与待回复工作台——把AI能力组织成可交付流程
预计 2×45 分钟。先完成"运行与观察",再完成"修改与解释"。
第1步:需求与背景
为什么做这个
你在电商平台当客服,一天收到200条客户咨询。其中一半是"我的快递到哪了""能换尺码吗"这类常规问题,另一半是"我要投诉""退款怎么还没到"这类需要人工判断的复杂情况。
如果每条都人工处理,效率太低;如果全部交给AI自动回复,遇到投诉、退款争议、客户发送身份证号等情况就可能出错。
问题不是"AI能不能回复",而是"怎样把AI能力组织成一个可交付的流程"——哪些步骤让AI做,哪些步骤必须人来做,做错了谁负责,系统挂了怎么办。
项目目标
使用一组虚构电商客户咨询,完成一个完整的咨询分流工作台:
- 输入:10条模拟客户咨询 + 一份服务指南
- 处理:读取→脱敏检查→主题/紧急度分流→从服务指南找依据→生成回复草稿→人工复核
- 输出:HTML工作台,展示每条咨询的状态、证据和责任人
- 验收标准:正常咨询走AI草拟、边界咨询进人工队列、失败案例有兜底方案、绝不真实发送
明确不做
- 不真实发送任何回复(只生成草稿)
- 不使用真实客户数据
- 不接入真实电商平台API
- 不让AI承担最终决策责任
系统全景
模拟咨询(10条)
↓
① 数据读取 → ② 隐私脱敏检查
↓
③ 主题/紧急度分类 → ④ 从服务指南检索依据
↓
⑤ 生成回复草稿(AI或模板)
↓
⑥ 人工复核队列(边界/失败案例)
↓
⑦ HTML工作台 + 审计日志
核心AI问题
本章不训练模型,也不做复杂的算法。核心问题是工程化设计:
- 怎样把提示词、RAG、工具和智能体能力组织成一个流程?
- 哪些环节适合AI草拟,哪些判断必须人工负责?
- 日志、责任链和失败兜底怎样让流程可交接?
第2步:数据与信号
数据长什么样
打开 data/inquiries.json,你会看到10条模拟客户咨询:
| 字段 | 含义 |
|---|---|
| id | 咨询编号 |
| customer | 客户称呼 |
| time | 咨询时间 |
| topic | 主题标签 |
| urgency | 紧急度 |
| text | 咨询原文 |
| category | 设计分类(normal/boundary/failure) |
打开 data/service_guide.json,你会看到一份虚构的服务指南:
| 字段 | 含义 |
|---|---|
| categories | 8个咨询分类,每个含关键词、AI介入级别和处理规则 |
| privacy_rules | 敏感信息脱敏规则 |
| escalation_rules | 升级规则 |
| product_specs | 商品参数 |
AI介入级别
服务指南为每个分类定义了AI介入级别:
| 级别 | 含义 | 例子 |
|---|---|---|
| auto_draft | AI自动生成草稿,记录日志即可 | 物流查询、商品咨询 |
| draft_with_review | AI生成草稿,必须人工复核 | 退换货、订单修改 |
| human_only | AI不参与回复,仅记录和转交 | 投诉、退款争议 |
数据中的三类咨询
| 类别 | 数量 | 说明 |
|---|---|---|
| normal | 5条 | 信息完整,AI可处理 |
| boundary | 4条 | 退款争议、信息不足、投诉、隐私泄露 |
| failure | 1条 | 技术问题,AI系统不可用 |
隐私脱敏
注意 INQ08:客户主动发送了手机号和身份证号。在真实场景中,这些信息必须在进入AI处理前被替换为脱敏标记:
原文:我的手机号是13812345678,身份证号320102199001011234
脱敏后:我的手机号是[已脱敏:手机号],身份证号[已脱敏:身份证号]
第3步:AI原理
工作流设计:六段设计书
一个可交付的AI工作流不是"调用一个API",而是需要完整的设计文档。本章使用六段设计书:
第1段:任务声明
- 做什么:把客户咨询分流到正确的处理路径,生成回复草稿
- 不做什么:不真实发送、不做最终决策、不处理服务指南之外的问题
- 输入:客户咨询文本
- 输出:分类结果 + 证据 + 回复草稿 + 责任人
第2段:可行性评估(四维评分)
| 维度 | 评分(1-5) | 说明 |
|---|---|---|
| 数据充分性 | 4 | 服务指南覆盖常见场景,但无法覆盖所有情况 |
| 技术可行性 | 5 | 分类和检索是成熟技术,不需要复杂模型 |
| 风险可控性 | 3 | 边界案例(投诉、退款)需要人工兜底 |
| 可交接性 | 4 | 日志和责任链让流程可追溯 |
第3段:四段式工作流
输入(客户咨询)
↓
AI动作(分类 + 检索 + 草稿)
↓
人工复核(边界/失败案例)
↓
输出(待回复清单)
每个节点标注:
- 谁做:AI / 人工 / AI+人工
- 做什么:具体动作
- 产出什么:输出物
- 失败怎么办:降级方案
第4段:责任链
| 节点 | 负责人 | 责任内容 |
|---|---|---|
| 数据读取 | 系统 | 确保咨询完整读取 |
| 隐私脱敏 | 系统+人工 | 自动脱敏+人工确认 |
| 分类 | AI | 提供分类候选,人工可覆盖 |
| 证据检索 | AI | 从服务指南匹配规则 |
| 草稿生成 | AI | 生成回复草稿 |
| 复核 | 人工 | 边界/失败案例必须人工确认 |
| 最终发送 | 人工 | AI不发送,由人工决定 |
第5段:失效模式与对策
| 失效场景 | 影响 | 对策 |
|---|---|---|
| 分类错误 | 咨询进错队列 | 人工复核覆盖;记录误分用于改进 |
| 检索无结果 | 无法生成草稿 | 进入人工队列,由人工查找 |
| 模型不可用 | 无法生成草稿 | 使用模板兜底;或全部进入人工队列 |
| 客户发送敏感信息 | 隐私泄露风险 | 自动脱敏;如脱敏失败,整条进入人工 |
| 客户情绪激动 | 回复不当激化矛盾 | 强制进入人工队列,AI不直接回复 |
第6段:对外可解释性
当客户问"你为什么这样回复我"时,系统应能解释:
- 你的咨询被分类为{类别}
- 根据服务指南规则{规则编号}
- 回复草稿由AI生成,由{责任人}复核
- 如果你对回复不满意,可以{升级路径}
主链路图
客户咨询文本
↓
[系统] 读取 + 隐私脱敏
↓
[AI] 主题分类(匹配服务指南关键词)
↓
[AI] 紧急度判断(关键词 + 情绪词)
↓
[AI] 证据检索(从服务指南匹配规则)
↓
[AI] 草稿生成(基于规则模板或模型)
↓
[规则] 根据AI介入级别决定路径
├─ auto_draft → 记录日志 → 待发送
├─ draft_with_review → 人工复核 → 待发送
└─ human_only → 人工处理 → 待发送
↓
[系统] 生成HTML工作台 + 审计日志
第4步:协同开发
使用 Qwen Code 完成以下任务:
任务:修改一个分类规则或AI介入级别
例如:
- 把"退换货"从 draft_with_review 改为 human_only
- 新增一个分类"售后维修"
- 修改投诉的升级规则
协同流程:
1. 学生原始意图:我想修改什么,为什么
2. AI方案:Qwen Code 建议怎样改,涉及哪些文件和参数
3. 人工审查:学生接受、拒绝或改写了什么,理由是什么
4. 实际变更:查看差异后批准的最小修改,运行回归测试
5. 最终判断:修改后哪些咨询的路径变了?误分成本有什么影响?
关键问题:
- 你把AI介入级别调高(更多人工)还是调低(更多自动)?
- 这样改的代价是什么?(效率 vs 风险)
- 哪些咨询会因此改变处理路径?
第5步:测试与边界
必测项目
| 测试 | 咨询 | 预期路径 | 说明 |
|---|---|---|---|
| 正常-物流 | INQ01 | auto_draft | AI自动草拟,记录日志 |
| 正常-退换货 | INQ02 | draft_with_review | AI草拟,人工复核 |
| 边界-退款争议 | INQ03 | human_only | 强制人工,AI仅记录 |
| 边界-信息不足 | INQ05 | human_only | 无法分类,请客户补充 |
| 边界-投诉 | INQ06 | human_only | 强制人工 |
| 边界-隐私 | INQ08 | 先脱敏再处理 | 敏感信息必须脱敏 |
| 失败-技术 | INQ09 | 人工兜底 | AI不可用时的降级 |
人工兜底
- 当分类置信度低时,进入人工队列而非强行分类
- 当检索无结果时,进入人工队列而非编造回答
- 当模型不可用时,使用模板兜底或全部进入人工队列
- 当客户发送敏感信息时,先脱敏再处理;脱敏失败则整条进入人工
离线测试
断开网络或模型不可用时:
- 核心分类逻辑(关键词匹配)仍可运行
- 模板回复可代替模型生成
- 人工队列功能不受影响
第6步:交付与验收
交付物
- 六段设计书:任务声明、可行性评估、四段式工作流、责任链、失效模式、对外可解释性
- 可行性四维评分:数据充分性、技术可行性、风险可控性、可交接性
- 路由分类结果:10条咨询的分类和路径
- 证据检索记录:每条咨询匹配的服务指南规则
- 回复草稿:AI生成的回复(或模板回复)
- 人工复核标记:哪些草稿被人工修改,修改依据是什么
- HTML工作台:展示所有咨询的状态、证据和责任人
- 审计日志:每条咨询的处理记录
- AI协同证据:第4步的完整五段留痕
验收标准
- [ ] 六段设计书无缺项
- [ ] 正常咨询走AI草拟,边界咨询进人工队列
- [ ] 失败案例有兜底方案,系统不崩溃
- [ ] AI不承担签字或真实发送
- [ ] 所有数据为模拟数据
- [ ] 修改一个规则后能说明对误分成本的影响
- [ ] 至少人工改写一条回复草稿,并标记修改依据
- [ ] HTML工作台能清晰展示每条咨询的状态
第7步:迁移与拓展
核心方法迁移
本章学到的"四段式工作流 + 责任链 + 失败兜底",可以迁移到:
- 菜单信息核对:顾客询问菜品成分→AI从菜单检索→人工确认过敏原信息→生成回复
- 设备报修分流:员工报告设备故障→AI分类故障类型和紧急度→从维修手册检索→生成工单→人工派单
- 实训日志归档:学生提交日志→AI检查格式和完整性→标记缺失项→人工审核→归档
- 来访事项整理:访客留言→AI分类主题和紧急度→匹配处理规则→生成回复草稿→人工确认
迁移的关键
每次迁移只换业务数据和规则,不改变工作流和责任主题:
| 不变 | 变化 |
|---|---|
| 四段式工作流 | 输入数据类型 |
| 责任链结构 | 分类类别 |
| 失败兜底机制 | 服务指南内容 |
| 审计日志格式 | AI介入级别 |
拓展任务(选做)
- 把10条咨询扩展到20条,增加更多边界案例
- 为HTML工作台添加筛选功能(按类别、紧急度、状态筛选)
- 设计一个"误分成本矩阵":哪种误分最严重?怎样降低风险?
- 把同一工作流迁移到你的专业场景(如菜单核对、设备报修)