项目实战:自动化客服工作流
最后一章,做一个自动化客服工作流:识别用户意图 → 知识库自助解答 → 复杂问题自动建工单 → 全程可控可审计。综合运用工作流、工具与 Agent。
1. 需求拆解
- 用户提问进来,先判断意图:咨询 / 投诉 / 技术故障 / 其他
- 咨询类:用知识库自助回答
- 故障/投诉类:调用工具查订单、建工单,必要时转人工
- 全流程记录日志,便于复盘
2. 工作流编排(第 10、11 章)
画布设计:
[Start: 用户问题 + 用户ID]
→ [LLM 意图分类] (输出: intent)
→ [条件节点]
intent == 咨询 → [知识检索] → [LLM 生成回答] → [End]
intent == 故障 → [工具: 查订单] → [条件: 是否需人工]
是 → [工具: 创建工单] → [End: 已建单]
否 → [LLM 给出解决步骤] → [End]
其他 → [End: 转人工提示]意图分类节点(LLM):
请将用户问题分类为以下之一,只输出标签:
consult(咨询)/ complaint(投诉)/ fault(故障)/ other(其他)
问题:{{#start.query#}}条件节点依据 {{#classify.intent#}} 分流。
3. 工具接入(第 9 章)
定义两个 API 工具:
# 查订单
name: query_order
method: GET
endpoint: https://api.internal.example.com/orders/{order_id}
# 创建工单
name: create_ticket
method: POST
endpoint: https://api.internal.example.com/tickets
body: { user_id, summary, priority }工具的 description 写清「何时用、参数、返回」,保证 Agent/条件判断能正确驱动。
⚠️写操作工具要加保护
「创建工单」是写操作。工作流里应限制触发条件(仅在确认需人工时),并在后端做幂等与鉴权,避免重复建单。
4. 知识库自助解答(第 4、5 章)
咨询分支复用第 17 章的知识库,混合检索 TopK=4,把片段喂给 LLM 生成友好回答。
5. 混合 Agent(第 12 章,可选增强)
对「故障」分支,可把「查订单 → 判断 → 建单」封装为一个子 Agent,让它自主多步查证,外层工作流只负责调度与兜底。
6. 发布、评估与运营(第 14、15、16 章)
- 发布为 WebApp 嵌入客服页;后端 API 供 App 调用
- 收集日志,标注「分流错误 / 回答错误」的会话
- 用标注集回归评估,逐步提升意图分类准确率
- 权限:客服主管看全量日志,一线仅用不配
💡先覆盖主干再补长尾
第一版先稳住「咨询自助 + 故障建单」两条主线,长尾意图(方言、多意图混合)后续用更多标注慢慢补,别想一次到位。
小结
- 用工作流把「意图分类 → 分流 → 检索/Agent/工具 → 输出」串成可控流程
- 咨询走知识库自助,故障走工具建单,其他转人工
- 写操作工具需条件触发 + 后端保护
- 日志标注 + 回归评估驱动长期优化
- 至此 18 章全部完成,你已具备端到端落地 Dify 的能力 🎉