# 话术流程管理使用指南 ## 1. 概述 话术流程(Script Flow)是 AI 中台的多轮对话引导系统,用于按照预定义的步骤引导用户完成信息收集、问题诊断或业务流程。它通过状态机机制实现结构化的对话流程控制。 ### 1.1 核心特性 - ✅ **多步骤编排**:支持创建包含多个步骤的对话流程 - ✅ **拖拽排序**:可视化拖拽调整步骤顺序 - ✅ **等待输入控制**:每个步骤可配置是否等待用户回复 - ✅ **超时处理**:支持超时重复、跳过或转人工 - ✅ **变量占位符**:话术内容支持动态变量替换 - ✅ **流程预览**:可视化预览流程执行效果 - ✅ **意图触发**:通过意图规则自动触发流程 - ✅ **状态管理**:自动跟踪流程执行进度 ### 1.2 典型应用场景 | 场景 | 说明 | 示例 | |------|------|------| | **订单处理** | 收集订单信息并确认 | 收集收货地址 → 确认商品 → 选择支付方式 → 确认下单 | | **退货流程** | 引导用户完成退货申请 | 确认订单号 → 选择退货原因 → 上传凭证 → 提交申请 | | **问题诊断** | 逐步排查用户问题 | 确认设备型号 → 检查网络连接 → 重启设备 → 测试结果 | | **信息采集** | 收集用户需求或反馈 | 询问需求类型 → 收集详细描述 → 确认联系方式 → 提交工单 | | **预约服务** | 引导用户完成预约 | 选择服务类型 → 选择时间 → 填写联系方式 → 确认预约 | --- ## 2. 功能介绍 ### 2.1 流程列表页面 **访问路径**:AI 中台管理后台 → 智能路由 → 话术流程管理 **页面功能**: - 查看所有话术流程列表 - 显示流程名称、描述、步骤数、关联规则数、状态、更新时间 - 快速启用/禁用流程 - 创建、编辑、预览、删除流程 **列表字段说明**: | 字段 | 说明 | |------|------| | 流程名称 | 流程的唯一标识名称 | | 描述 | 流程的用途说明(可选) | | 步骤数 | 流程包含的步骤总数 | | 关联规则 | 触发该流程的意图规则数量 | | 状态 | 启用/禁用开关 | | 更新时间 | 最后修改时间 | ### 2.2 流程编辑器 **核心组件**: 1. **基本信息区**:配置流程名称、描述、启用状态 2. **步骤编辑区**:可视化编辑流程步骤 3. **拖拽排序**:通过拖拽图标调整步骤顺序 4. **步骤配置**:为每个步骤配置详细参数 ### 2.3 流程预览器 **功能**: - 时间轴可视化展示流程步骤 - 模拟流程执行过程 - 高亮显示当前步骤 - 查看步骤配置详情 - 支持上一步/下一步/重置操作 --- ## 3. 使用步骤 ### 3.1 创建话术流程 #### 步骤 1:进入创建页面 1. 点击页面右上角的 **"新建流程"** 按钮 2. 弹出流程编辑对话框 #### 步骤 2:填写基本信息 ``` 流程名称:退货流程引导 (必填,建议简洁明确) 描述:引导用户完成退货申请 (可选,说明流程用途) 启用状态:✓ 启用 (默认启用) ``` #### 步骤 3:添加流程步骤 点击 **"添加步骤"** 按钮,配置每个步骤: **步骤 1 配置示例**: ``` 话术内容:您好,我来帮您处理退货申请。请提供您的订单号。 等待输入:✓ 开启 超时时间:60 秒 超时动作:重复当前步骤 ``` **步骤 2 配置示例**: ``` 话术内容:收到订单号 {{order_id}},请问您的退货原因是什么? 1. 商品质量问题 2. 不符合预期 3. 其他原因 等待输入:✓ 开启 超时时间:120 秒 超时动作:转人工 ``` **步骤 3 配置示例**: ``` 话术内容:好的,已记录您的退货原因。请上传商品照片或相关凭证。 等待输入:✓ 开启 超时时间:180 秒 超时动作:跳过进入下一步 ``` **步骤 4 配置示例**: ``` 话术内容:感谢您的配合!退货申请已提交,工单号为 {{ticket_id}}。我们将在 1-3 个工作日内处理,请保持手机畅通。 等待输入:✗ 关闭 ``` #### 步骤 4:调整步骤顺序 - 鼠标悬停在步骤左侧的 **拖拽图标** 上 - 按住鼠标左键拖动步骤到目标位置 - 释放鼠标完成排序 #### 步骤 5:保存流程 - 点击 **"创建"** 按钮保存流程 - 系统自动分配流程 ID - 返回流程列表页面 ### 3.2 编辑话术流程 1. 在流程列表中找到目标流程 2. 点击 **"编辑"** 按钮 3. 修改流程信息或步骤配置 4. 点击 **"保存"** 按钮 **注意事项**: - 修改后立即生效,影响正在执行的流程 - 建议在低峰期修改重要流程 - 修改前可先禁用流程,测试无误后再启用 ### 3.3 预览话术流程 1. 在流程列表中找到目标流程 2. 点击 **"预览"** 按钮 3. 在右侧抽屉中查看流程时间轴 4. 使用 **上一步/下一步** 按钮模拟流程执行 5. 查看每个步骤的配置详情 **预览功能**: - 时间轴可视化展示所有步骤 - 当前步骤高亮显示(蓝色边框) - 已完成步骤显示为绿色 - 未执行步骤显示为灰色 - 显示步骤的等待输入、超时配置 ### 3.4 删除话术流程 1. 在流程列表中找到目标流程 2. 点击 **"删除"** 按钮 3. 确认删除操作 **警告**: - 删除操作不可恢复 - 如果有意图规则关联该流程,删除后规则将失效 - 建议先禁用流程观察一段时间,确认无影响后再删除 ### 3.5 启用/禁用流程 **方式 1:列表页快速切换** - 直接点击流程列表中的 **状态开关** - 立即生效 **方式 2:编辑页面修改** - 进入流程编辑页面 - 修改 **启用状态** 开关 - 保存后生效 **禁用效果**: - 禁用后,意图规则无法触发该流程 - 正在执行的流程实例不受影响,继续执行完成 - 流程数据保留,可随时重新启用 --- ## 4. 步骤配置详解 ### 4.1 话术内容 **功能**:定义该步骤向用户展示的话术文本。 **支持变量占位符**: ``` 语法:{{variable_name}} 示例: - 您的订单号是 {{order_id}} - 尊敬的 {{customer_name}},您好! - 当前时间:{{current_time}} - 渠道:{{channel_type}} ``` **变量来源**: - 会话上下文变量 - 用户输入提取的信息 - 系统内置变量(时间、渠道等) **最佳实践**: - 话术简洁明了,避免过长 - 使用礼貌用语,保持专业 - 明确告知用户需要做什么 - 提供选项时使用编号列表 ### 4.2 等待用户输入 **功能**:控制该步骤是否需要等待用户回复。 **开启(✓)**: - 系统发送话术后,等待用户回复 - 收到用户回复后,根据条件推进到下一步 - 如果超时未回复,执行超时动作 **关闭(✗)**: - 系统发送话术后,立即推进到下一步 - 适用于纯信息告知的步骤(如确认信息、结束语) **使用场景**: - ✓ 需要收集信息:订单号、退货原因、联系方式 - ✓ 需要用户确认:是/否、选择选项 - ✗ 纯信息展示:流程说明、结果通知、感谢语 ### 4.3 超时时间 **功能**:设置等待用户回复的最长时间(单位:秒)。 **取值范围**:5 - 300 秒 **推荐配置**: - **简单问题**(如是/否):30-60 秒 - **需要查找信息**(如订单号):60-120 秒 - **需要操作**(如上传图片):120-180 秒 - **复杂问题**(如详细描述):180-300 秒 **注意事项**: - 超时时间过短:用户体验差,容易误触发超时 - 超时时间过长:流程卡住时间长,影响效率 - 根据实际业务场景调整 ### 4.4 超时动作 **功能**:定义超时后的处理策略。 #### 选项 1:重复当前步骤 **行为**:重新发送当前步骤的话术,再次等待用户回复。 **适用场景**: - 用户可能暂时离开,需要提醒 - 问题简单,用户可能忘记回复 - 重要信息收集,不能跳过 **示例话术**: ``` 首次:请提供您的订单号。 重复:您还在吗?请提供您的订单号,以便我帮您处理。 ``` #### 选项 2:跳过进入下一步 **行为**:跳过当前步骤,直接进入下一步。 **适用场景**: - 可选信息收集(如备注、补充说明) - 有默认值或兜底方案 - 不影响流程继续执行 **注意事项**: - 确保下一步不依赖当前步骤的输入 - 在后续步骤中处理缺失信息的情况 #### 选项 3:转人工 **行为**:结束流程,将会话转接到人工客服。 **适用场景**: - 关键信息收集失败 - 用户长时间无响应 - 流程无法继续执行 **效果**: - 设置 `shouldTransfer=true` - 返回转人工提示语 - 流程实例标记为"已完成" --- ## 5. 与意图规则关联 ### 5.1 创建触发规则 话术流程需要通过 **意图规则** 触发。 **步骤**: 1. 进入 **意图规则管理** 页面 2. 点击 **"新建规则"** 按钮 3. 配置规则信息: ``` 规则名称:退货意图 关键词:退货、退款、不想要了、申请退货 正则表达式:退.*货、如何.*退、想.*退 优先级:100 响应类型:启动话术流程 关联流程:选择 "退货流程引导" 启用状态:✓ 启用 ``` 4. 保存规则 ### 5.2 触发流程 **触发条件**: - 用户消息匹配意图规则的关键词或正则表达式 - 规则的响应类型为 `flow` - 规则和流程均为启用状态 **触发流程**: ``` 用户输入:我想退货 ↓ 意图识别:命中 "退货意图" 规则 ↓ 启动流程:创建 "退货流程引导" 实例 ↓ 执行步骤 1:发送第一步话术 ↓ 等待用户输入:收集订单号 ↓ 执行步骤 2:发送第二步话术 ↓ ... ↓ 流程完成:恢复正常对话 ``` ### 5.3 流程执行优先级 **优先级规则**: 1. **进行中的流程** > 意图识别 > RAG 检索 2. 如果会话存在进行中的流程实例,优先处理流程逻辑 3. 流程完成后,恢复正常的意图识别和 RAG 流程 **示例**: ``` 会话状态:退货流程进行中(步骤 2) 用户输入:营业时间是什么? 系统行为:忽略 "营业时间" 意图,继续处理流程步骤 2 ``` --- ## 6. 最佳实践 ### 6.1 流程设计原则 #### 1. 步骤数量适中 - **推荐**:3-7 个步骤 - **避免**:步骤过多(>10 步)导致用户疲劳 - **避免**:步骤过少(<3 步)无法体现流程价值 #### 2. 话术简洁明确 - 每个步骤的话术控制在 50-100 字 - 明确告知用户需要做什么 - 提供示例或选项帮助用户理解 #### 3. 合理设置超时 - 根据任务复杂度设置超时时间 - 重要步骤使用 "重复" 或 "转人工" - 可选步骤使用 "跳过" #### 4. 提供退出机制 - 在话术中告知用户如何退出流程 - 示例:"如需退出流程,请回复 '退出' 或 '转人工'" ### 6.2 话术编写技巧 #### 1. 使用礼貌用语 ``` ✓ 好的:您好,我来帮您处理退货申请。 ✗ 不好:提供订单号。 ``` #### 2. 明确指令 ``` ✓ 好的:请提供您的订单号(格式:20240227001)。 ✗ 不好:请提供信息。 ``` #### 3. 提供选项 ``` ✓ 好的:请选择退货原因: 1. 商品质量问题 2. 不符合预期 3. 其他原因 ✗ 不好:为什么要退货? ``` #### 4. 确认信息 ``` ✓ 好的:您的订单号是 {{order_id}},退货原因是 {{reason}},确认无误吗?(是/否) ✗ 不好:信息已记录。 ``` ### 6.3 测试与优化 #### 1. 测试流程 - 创建流程后,先设置为 "禁用" 状态 - 使用测试账号模拟完整流程 - 测试各种用户输入场景(正常、异常、超时) - 确认无误后再启用 #### 2. 监控数据 - 定期查看流程执行统计 - 关注步骤完成率、超时率、转人工率 - 识别用户卡住的步骤 #### 3. 持续优化 - 根据数据调整话术和超时配置 - 优化步骤顺序和数量 - 收集用户反馈改进流程 ### 6.4 常见问题处理 #### 问题 1:用户中途退出流程 **解决方案**: - 在话术中明确告知退出方式 - 设置关键词触发退出(如 "退出"、"转人工") - 超时后自动转人工 #### 问题 2:用户输入不符合预期 **解决方案**: - 在话术中提供示例和格式说明 - 使用选项列表限制用户输入 - 设置输入验证和错误提示 #### 问题 3:流程执行时间过长 **解决方案**: - 减少步骤数量,合并相似步骤 - 缩短超时时间 - 将复杂流程拆分为多个子流程 #### 问题 4:流程与意图规则冲突 **解决方案**: - 提高流程触发规则的优先级 - 在流程执行期间,系统自动优先处理流程逻辑 - 避免创建过于宽泛的意图规则 --- ## 7. API 参考 ### 7.1 列表查询 **接口**:`GET /admin/script-flows` **请求参数**: ```json { "is_enabled": true // 可选,筛选启用/禁用的流程 } ``` **响应示例**: ```json { "data": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "退货流程引导", "description": "引导用户完成退货申请", "step_count": 4, "is_enabled": true, "linked_rule_count": 2, "created_at": "2026-02-27T10:00:00", "updated_at": "2026-02-27T15:30:00" } ] } ``` ### 7.2 创建流程 **接口**:`POST /admin/script-flows` **请求示例**: ```json { "name": "退货流程引导", "description": "引导用户完成退货申请", "is_enabled": true, "steps": [ { "step_id": "step_001", "order": 1, "content": "您好,我来帮您处理退货申请。请提供您的订单号。", "wait_for_input": true, "timeout_seconds": 60, "timeout_action": "repeat", "next_conditions": [] }, { "step_id": "step_002", "order": 2, "content": "收到订单号 {{order_id}},请问您的退货原因是什么?", "wait_for_input": true, "timeout_seconds": 120, "timeout_action": "transfer", "next_conditions": [] } ] } ``` **响应示例**: ```json { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "退货流程引导", "description": "引导用户完成退货申请", "step_count": 2, "is_enabled": true, "created_at": "2026-02-27T16:00:00", "updated_at": "2026-02-27T16:00:00" } ``` ### 7.3 查询详情 **接口**:`GET /admin/script-flows/{flow_id}` **响应示例**: ```json { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "退货流程引导", "description": "引导用户完成退货申请", "is_enabled": true, "steps": [ { "step_id": "step_001", "order": 1, "content": "您好,我来帮您处理退货申请。请提供您的订单号。", "wait_for_input": true, "timeout_seconds": 60, "timeout_action": "repeat", "next_conditions": [] } ], "created_at": "2026-02-27T16:00:00", "updated_at": "2026-02-27T16:00:00" } ``` ### 7.4 更新流程 **接口**:`PUT /admin/script-flows/{flow_id}` **请求示例**: ```json { "name": "退货流程引导(优化版)", "is_enabled": true, "steps": [ // 更新后的步骤列表 ] } ``` ### 7.5 删除流程 **接口**:`DELETE /admin/script-flows/{flow_id}` **响应**:204 No Content --- ## 8. 数据模型 ### 8.1 ScriptFlow(流程实体) | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | `id` | UUID | 自动生成 | 流程唯一标识 | | `tenant_id` | string | ✅ | 租户 ID | | `name` | string | ✅ | 流程名称 | | `description` | string | ❌ | 流程描述 | | `steps` | FlowStep[] | ✅ | 步骤列表 | | `is_enabled` | boolean | ✅ | 是否启用(默认 true) | | `created_at` | datetime | 自动 | 创建时间 | | `updated_at` | datetime | 自动 | 更新时间 | ### 8.2 FlowStep(步骤实体) | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | `step_id` | string | ✅ | 步骤唯一标识 | | `order` | int | ✅ | 步骤顺序(从 1 开始) | | `content` | string | ✅ | 话术内容 | | `wait_for_input` | boolean | ✅ | 是否等待用户输入 | | `timeout_seconds` | int | ❌ | 超时时间(5-300 秒) | | `timeout_action` | string | ❌ | 超时动作:repeat/skip/transfer | | `next_conditions` | NextCondition[] | ❌ | 下一步条件(预留) | ### 8.3 超时动作枚举 | 值 | 说明 | |------|------| | `repeat` | 重复当前步骤 | | `skip` | 跳过进入下一步 | | `transfer` | 转人工 | --- ## 9. 总结 话术流程管理是 AI 中台的核心功能之一,通过可视化的流程编排,实现结构化的多轮对话引导。 ### 9.1 核心价值 - **提升效率**:自动化处理标准流程,减少人工介入 - **保证质量**:标准化话术,确保服务一致性 - **优化体验**:引导式对话,降低用户操作难度 - **数据收集**:结构化收集信息,便于后续处理 ### 9.2 使用流程 创建流程 → 配置步骤 → 关联意图规则 → 测试验证 → 启用上线 → 监控优化 ### 9.3 注意事项 1. 流程设计要简洁,避免步骤过多 2. 话术要清晰明确,提供必要的示例 3. 合理设置超时时间和超时动作 4. 测试充分后再上线 5. 定期监控数据并优化流程 --- **文档版本**:v1.0 **生成时间**:2026-02-27 **维护状态**:✅ 活跃维护 **相关文档**: - [意图规则使用指南](./intent-rule-usage.md) - [AI 中台对接文档](../AI中台对接文档.md) - [Prompt 模板管理分析](./prompt-template-analysis.md)