diff --git a/smart-data-developer/SKILL.md b/smart-data-developer/SKILL.md index 6b9cbdc..dd97072 100644 --- a/smart-data-developer/SKILL.md +++ b/smart-data-developer/SKILL.md @@ -38,11 +38,15 @@ description: 智能数据开发员工。自动将需求开发成为数据查询 ## 工作流程 ``` -用户需求 → [步骤1: 需求分析] → [步骤2: 模型设计] → [步骤3: SQL编写] → 最终交付 - ↓ ↓ ↓ - requirement-analyzer model-design-generator write-sql +用户需求 → [步骤1: 需求分析] → [用户审核确认] → [步骤2: 模型设计] → [用户审核确认] → [步骤3: SQL编写] → 最终交付 + ↓ ↓ ↓ ↓ ↓ + requirement-analyzer 用户确认 model-design-generator 用户确认 write-sql ``` +**关键节点**: +- 步骤1完成后必须等待用户审核确认,确认后才能进入步骤2 +- 步骤2完成后必须等待用户审核确认,确认后才能进入步骤3 + --- ## 步骤1:需求分析(调用 requirement-analyzer) @@ -62,19 +66,45 @@ description: 智能数据开发员工。自动将需求开发成为数据查询 ### 关键要求 - **必须引导**:不要假设用户需求,主动询问关键信息 - **记录进度**:记住用户已提供的信息,避免重复询问 -- **推进流程**:需求分析完成后,主动告知用户并进入下一步 +- **等待确认**:需求分析完成后,**必须等待用户审核确认**才能进入步骤2 ### 需求分析完成标志 - 用户确认了需求类型(指标表需求 / 自定义统计表需求) - 生成了完整的《数据需求技术规范文档》 -- 用户对需求文档无重大修改意见 +- **用户审核确认**:用户明确回复"确认"、"正确"、"继续"等表示认可的答复 + +### 用户审核确认环节 +需求分析完成后,向用户展示需求文档摘要并等待确认: + +``` +✅ 需求分析已完成! + +📄 文件路径:{requirement-analyzer返回的路径} + +需求文档包含: +- 需求基础信息:需求编号、需求描述、提出方等 +- 需求详细信息:需求背景、业务口径、运行频次等 +- 数据源:共 M 张表,N 个字段 +- 输出表字段:共 K 个字段 + +请您审核以上需求文档: +- 需求描述是否准确? +- 业务口径是否完整? +- 数据源是否正确? +- 输出字段是否符合预期? + +回复"确认"、"正确"或"继续"以进入步骤2(模型设计)。 +如有问题,请指出需要修改的内容。 +``` + +**注意**:必须等待用户明确确认后才能继续,用户未确认时停留在步骤1。 --- ## 步骤2:模型设计(调用 model-design-generator) ### 执行时机 -需求分析完成后,**立即**进入此步骤。 +**用户确认需求分析后**,才能进入此步骤。 ### 开场白策略 **不预设开场白**。调用 `model-design-generator` 子技能时,使用该子技能自带的引导话术作为开场白。 @@ -89,19 +119,43 @@ description: 智能数据开发员工。自动将需求开发成为数据查询 ### 关键要求 - **传递上下文**:将步骤1生成的需求文档路径传递给模型设计技能 - **跟踪文件**:记录生成后的模型设计文档路径,供步骤3使用 -- **主动推进**:模型设计完成后,主动告知用户并进入下一步 +- **等待确认**:模型设计完成后,**必须等待用户审核确认**才能进入步骤3 ### 模型设计完成标志 - 生成了完整的《模型设计技术规范文档》 - 包含 SQL 编排步骤、目标表属性、目标表字段 -- 用户确认设计合理(可选) +- **用户审核确认**:用户明确回复"确认"、"正确"、"继续"等表示认可的答复 + +### 用户审核确认环节 +模型设计完成后,向用户展示设计文档摘要并等待确认: + +``` +✅ 模型设计已完成! + +📄 文件路径:{model-design-generator返回的路径} + +设计文档包含: +- 编排步骤:共 N 步(step01-stepNN) +- 目标表属性:表名、数据目录、数据源类型等 +- 目标表字段:共 M 个字段 + +请您审核以上模型设计: +- 编排步骤是否合理? +- 目标表属性是否正确? +- 字段设计是否符合预期? + +回复"确认"、"正确"或"继续"以进入步骤3(SQL编写)。 +如有问题,请指出需要修改的内容。 +``` + +**注意**:必须等待用户明确确认后才能继续,用户未确认时停留在步骤2。 --- ## 步骤3:SQL编写(调用 write-sql) ### 执行时机 -模型设计完成后,**立即**进入此步骤。 +**用户确认模型设计后**,才能进入此步骤。 ### 开场白策略 **不预设开场白**。调用 `write-sql` 子技能时,使用该子技能自带的引导话术作为开场白。 @@ -220,9 +274,11 @@ SQL 脚本包含: ```python state = { - "current_step": 0, # 0=初始, 1=需求分析, 2=模型设计, 3=SQL编写, 4=完成 + "current_step": 0, # 0=初始, 1=需求分析, 1.5=等待确认, 2=模型设计, 2.5=等待确认, 3=SQL编写, 4=完成 "step1_complete": False, # 需求分析完成 + "step1_confirmed": False, # 需求分析用户确认通过 "step2_complete": False, # 模型设计完成 + "step2_confirmed": False, # 模型设计用户确认通过 "step3_complete": False, # SQL编写完成 "data": { "requirement_doc_path": None, # 需求文档路径(由子技能返回) @@ -233,6 +289,14 @@ state = { } ``` +**状态流转规则**: +- 步骤1完成后 → `current_step=1.5`,`step1_complete=True`,等待用户确认 +- 用户确认需求后 → `current_step=2`,`step1_confirmed=True`,进入模型设计 +- 用户未确认需求 → 保持 `current_step=1.5`,等待确认 +- 步骤2完成后 → `current_step=2.5`,`step2_complete=True`,等待用户确认 +- 用户确认模型后 → `current_step=3`,`step2_confirmed=True`,进入SQL编写 +- 用户未确认模型 → 保持 `current_step=2.5`,等待确认 + **路径获取方式**:每个子技能在执行完成时会返回具体的文件保存路径,smart-data-developer 需记录这些路径并传递给后续步骤。 --- @@ -242,9 +306,10 @@ state = { ### 核心原则 1. **主动引导**:不要等用户问,主动告知当前状态和下一步 -2. **按序执行**:必须按 需求分析 → 模型设计 → SQL编写 的顺序执行 -3. **完整交付**:确保三个步骤都完成,才算任务完成 -4. **文件传递**:每个步骤产生的文件路径必须传递给下一个步骤 +2. **按序执行**:必须按 需求分析 → 用户确认 → 模型设计 → 用户确认 → SQL编写 的顺序执行 +3. **审核必确认**:需求分析和模型设计完成后,**都必须等待用户明确确认**才能进入下一步 +4. **完整交付**:确保三个步骤都完成,才算任务完成 +5. **文件传递**:每个步骤产生的文件路径必须传递给下一个步骤 ### 关键时机 @@ -252,8 +317,12 @@ state = { |-------------|---------| | 模糊需求(如"统计投诉量") | 主动引导补充关键信息,然后触发 requirement-analyzer | | 明确需求 | 直接触发 requirement-analyzer 开始需求分析 | +| 需求分析完成后用户确认 | 用户回复"确认"、"正确"、"继续"等 → 进入步骤2(模型设计) | +| 需求分析完成后用户修改意见 | 根据用户意见调整需求文档,再次等待确认 | +| 模型设计完成后用户确认 | 用户回复"确认"、"正确"、"继续"等 → 进入步骤3(SQL编写) | +| 模型设计完成后用户修改意见 | 根据用户意见调整模型设计,再次等待确认 | | 中途修改 | 回到对应步骤重新执行 | -| 询问进度 | 告知当前处于哪个步骤 | +| 询问进度 | 告知当前处于哪个步骤(含审核确认状态) | ### 错误处理