Evose
搭建教程

教程 · 客服机器人

端到端搭一个能查订单、答常见问题、转人工的客服 Agent

从零搭一个真能用的客服 Agent,45 分钟

你将得到

一个客服 Agent,具备:

  • 答常见问题(基于 FAQ 知识库)
  • 查订单(调订单系统 API)
  • 评估满意度(自动判断是否需转人工)
  • 转人工(超出能力时自动转)

架构

┌─────────────────────────────────────────────┐
│  Chatflow Agent · 客服 Pro                  │
│                                             │
│  开始 → 意图分类                             │
│           ├─ 查订单 → 工具(订单系统) → 回复 │
│           ├─ 常见问题 → 知识检索 → LLM 回复  │
│           ├─ 不满意 / 转人工 → 通知人工      │
│           └─ 其他 → LLM 兜底                 │
└─────────────────────────────────────────────┘

前置准备

  • SaaS 5 分钟跑通 已完成
  • 准备 5–10 篇 FAQ 文档(常见问题 / 退货政策 / 配送说明等)
  • 一个订单查询 API(若没有,本教程的“查订单”分支可换成 Mock)

步骤 1 · 建知识库(5 分钟)

  1. 空间 → 数据 · 知识库新建:产品 FAQ
  2. 上传 FAQ 文档,等就绪
  3. 知识库详解

步骤 2 · 接订单系统工具(10 分钟)

2.1 注册凭据

组织 · 凭据管理:

名称: order_system_token
类型: API Key
值: <你的 token>

2.2 添加工具

空间 → 能力 · 工具添加 HTTP 插件:

名称: 订单系统
方法: queryOrder
URL:  https://order.example.com/api/orders/{{orderId}}
鉴权: Bearer {{credential:order_system_token}}
入参 Schema:
  orderId: string, required
出参 Schema:
  status: string
  ship_date: string
  amount: number

测试连接 → 通过。

步骤 3 · 创建 Chatflow Agent(20 分钟)

3.1 新建

空间 → Apps · 智能体新建Chatflow → 名为 客服 Pro

3.2 配置开始节点

inputs:
  - name: message
    type: string
    required: true

3.3 加意图分类节点

拖入 意图分类 节点(在“逻辑”组),连到开始:

input: {{message}}
intents:
  - id: query_order
    description: 用户想查订单状态、发货时间、金额
  - id: faq
    description: 询问退货、配送、产品功能等常见问题
  - id: transfer
    description: 用户表达不满或明确要求转人工
  - id: other
    description: 其他

3.4 分支 · 查订单

意图分类的 query_order 输出 → 拖入 参数抽取 节点 → 抽 orderId(string,从用户消息中提取订单号):

extraction_target:
  - name: orderId
    description: 订单号,通常是 8-12 位字母数字
    required: true

→ 连到 工具 节点:

tool: 订单系统.queryOrder
inputs:
  orderId: {{orderId}}
output_var: order

→ 连到 LLM 节点:

prompt: |
  根据订单信息回答用户:
  订单号:{{orderId}}
  状态:{{order.status}}
  发货时间:{{order.ship_date}}
  金额:{{order.amount}}
 
  用客服口吻,亲切清晰。

→ 连到 直接回复End

3.5 分支 · 常见问题

意图分类的 faq 输出 → 拖入 知识检索 节点:

knowledge_bases: [产品 FAQ]
query: {{message}}
top_k: 5
output_var: chunks

→ 连到 LLM 节点:

prompt: |
  你是客服助手。基于以下知识库片段回答用户:
  {{chunks}}
 
  规则:
  - 仅根据片段回答
  - 找不到答案时明确说"我不确定,请问需要转人工吗?"
  - 简洁、礼貌

→ 连到 直接回复End

3.6 分支 · 转人工

意图分类的 transfer 输出 → 拖入 HTTP 节点(通知客服系统创建工单):

url: https://hr.example.com/api/tickets
method: POST
body: { user_id: {{user.id}}, summary: {{message}} }

→ 连到 直接回复:

text: 已为您转接人工客服,请稍候,工单号 {{response.ticket_id}}。

End

3.7 分支 · 兜底

other 输出 → 直接 LLM 节点(无知识库)→ 友好回复。

步骤 4 · 调试(5 分钟)

在右侧调试面板逐个意图测试:

输入期望走分支
我的订单 ABC12345 什么时候到?query_order
你们的退货政策是?faq
转人工transfer
你今天天气好吗?other

步骤 5 · 发布(2 分钟)

  • 编辑页右上 → 发布到工作台
  • 可见范围:全组织 / 仅客服角色 / 指定部门
  • 渠道:工作台 + 网站嵌入(给业务装到产品页)

步骤 6 · 上线后看观测(3 分钟)

空间 → 观测:

  • 意图准确率(意图分类节点的命中率)
  • 未识别意图(冷启动,提示需补能力)
  • 节点转化率(用户最常走的分支)
  • 每对话成本(Tokens × 模型单价)

进阶

我想……加什么
自动学习用户高频问题,沉淀进 FAQWorkflow 定时跑,从对话日志聚类未识别意图
多语言支持在 LLM 节点提示词加 用 {{lang}} 回答
多渠道(钉钉/微信)部署 · 渠道
A/B 测试不同提示词加 [条件节点] 路由到不同 LLM 节点

接下来