# 意图驱动话术流程 - 功能定界 ## 1. 功能边界(Scope) ### 1.1 核心目标 将现有的"固定话术"流程升级为"意图驱动"模式,使 AI 能够根据步骤意图和上下文灵活生成话术,而不是机械地返回预设文本。 ### 1.2 覆盖范围(In Scope) #### 后端改造 - **数据模型扩展**:在 `ScriptFlow.steps` 中增加意图驱动字段(intent, script_mode, constraints 等) - **话术生成引擎**:在 FlowEngine 中实现三种模式的话术生成逻辑 - `fixed`:固定话术(向后兼容) - `flexible`:意图驱动,AI 根据意图和约束实时生成 - `template`:模板填充,AI 填充变量部分 - **上下文传递**:将对话历史、会话上下文传递给话术生成器 - **向后兼容**:确保现有固定话术流程不受影响 #### 前端改造 - **配置界面升级**:在话术流程配置页面增加模式选择和意图配置 - **模式切换**:支持三种模式的动态切换和对应配置项显示 - **约束条件管理**:支持添加/删除话术约束标签 - **预览增强**:在流程预览中显示意图信息 #### API 变更 - **数据结构扩展**:ScriptFlow API 的 steps 字段增加新字段(向后兼容) - **无需新增接口**:复用现有的 CRUD 接口 ### 1.3 不覆盖范围(Out of Scope) - **意图识别**:不涉及用户输入的意图识别(已有 IntentRule 模块负责) - **多轮对话管理**:不改变现有的流程状态机逻辑 - **LLM 模型选择**:使用现有的 LLM 调用机制,不涉及模型切换 - **性能优化**:不涉及话术生成的缓存、预生成等优化(可后续迭代) - **A/B 测试**:不涉及多版本话术的效果对比 --- ## 2. 外部接口清单 ### 2.1 需要修改的接口 | 接口路径 | 方法 | 变更类型 | 说明 | |---------|------|---------|------| | `/admin/script-flows` | POST | 扩展请求体 | steps 字段增加意图驱动字段 | | `/admin/script-flows/{id}` | PUT | 扩展请求体 | 同上 | | `/admin/script-flows/{id}` | GET | 扩展响应体 | 返回新增字段 | ### 2.2 内部依赖 | 模块 | 依赖关系 | 说明 | |------|---------|------| | FlowEngine | 修改 | 增加话术生成逻辑 | | Orchestrator | 调用 | 调用 LLM 生成话术 | | ChatMessage | 读取 | 获取对话历史作为上下文 | --- ## 3. 文档清单 ### 3.1 必须产出的文档 - [x] `scope.md` - 功能定界(本文档) - [ ] `requirements.md` - 需求规范(用户故事 + 验收标准) - [ ] `design.md` - 设计文档(数据结构 + 流程图) - [ ] `openapi.admin.yaml` - 接口契约(扩展现有契约) - [ ] `tasks.md` - 任务分解(Phase 划分) ### 3.2 可选文档 - [ ] `migration.md` - 数据迁移方案(如需数据库变更) - [ ] `testing.md` - 测试用例(重点场景) --- ## 4. 风险与依赖 ### 4.1 技术风险 | 风险 | 影响 | 缓解措施 | |------|------|---------| | LLM 生成话术不稳定 | 用户体验差 | 提供 fallback 到固定话术 | | 生成延迟过高 | 影响对话流畅度 | 设置超时,超时返回默认话术 | | 向后兼容性问题 | 现有流程失效 | 默认 script_mode=fixed | ### 4.2 依赖项 - **LLM 服务可用性**:依赖 Orchestrator 的 LLM 调用能力 - **数据库迁移**:需要 Alembic 迁移脚本(如果修改表结构) - **前端组件库**:依赖 Element Plus 的表单组件 --- ## 5. 验收标准概览 ### 5.1 核心验收点 - [ ] 后端支持三种话术模式(fixed/flexible/template) - [ ] 前端配置界面支持模式切换和意图配置 - [ ] 现有固定话术流程不受影响(向后兼容) - [ ] flexible 模式能根据上下文生成不同话术 - [ ] 生成失败时有明确的 fallback 机制 ### 5.2 非功能性要求 - [ ] 话术生成延迟 < 2 秒(P95) - [ ] API 响应时间不增加 > 10% - [ ] 数据库迁移无数据丢失 --- ## 6. 下一步 确认功能边界后,请执行: ``` 生成 spec/intent-driven-script/requirements.md 需求文档 ```