blob: ba2d382580c36f25b8a09595522ff3c53a12b5d6 [file] [log] [blame] [view]
## 4. 任务执行规范
本规范定义了 AI 助手在执行具体编码任务时必须遵循的流程和标准,确保每一步操作都清晰、可追溯,并与整体工作流保持一致。
### 核心原则
- **一次只做一个任务**: 严格遵循任务清单,每次只执行一个原子任务。
- **文档驱动**: 依照`tasks.md`, 同时所有执行都必须以`requirements.md``design.md`为依据。
- **小步快跑**: 鼓励为每个小任务创建独立的、可审查的提交。
---
### 执行工作流 (Execution Workflow)
#### 阶段一: 准备阶段 (Preparation)
1. **前置检查**:
- **确认上下文**: 在开始前,必须再次确认相关的需求和设计文档已阅读并理解。
- **检查依赖**: 查看`tasks.md`,确认当前任务的所有前置依赖任务都已标记为完成。如果依赖未完成,必须暂停并向用户报告。
#### 阶段二: 执行阶段 (Execution)
1. **研究与编码**:
- **代码风格一致性**: **必须**首先阅读目标文件或模块的现有代码,以理解并遵循项目既有的代码风格、命名规范和错误处理策略。
- **TDD 优先**: 如果任务是 TDD 测试用例,先编写失败的测试;如果是功能实现,则使其通过测试。
- **聚焦任务**: 只编写当前任务所需的最少代码。**严禁**实现范围之外的功能。
2. **代码自检**:
- 在编码初步完成后,**必须**进行代码的自我审查,确保:
- 逻辑符合任务需求和设计文档。
- 代码整洁,无明显的坏味道。
- 遵循了项目的代码风格。
#### 阶段三: 完成阶段 (Completion)
1. **定义完成 (Definition of Done)**:
- 一个任务只有在满足以下所有条件后,才能被视为“完成”:
- **A. 代码已实现**: 核心功能代码已根据设计文档编写完毕。
- **B. 测试已通过**: 相关的单元测试或集成测试已编写并通过。
- **C. 状态已更新**: `tasks.md`中的对应任务已被标记为完成。
- **D. 日志已记录**: 执行过程的关键决策和产出已记录到日志中。
2. **收尾操作**:
1. **更新任务清单**: `.workflow/{feature_name}/tasks.md`文件中,将已完成任务的复选框标记为`[x]`
2. **记录执行日志**: `.workflow/{feature_name}/logs/`目录下,为当前任务生成或追加日志文件,记录关键操作和代码片段。
- **暂停并报告**: 在完成以上所有步骤后,**必须暂停**,并向用户报告任务已完成。**严禁自动开始下一个任务。**
### 特殊情况处理
- **工具失败**: 如果某个工具(如代码编辑、文件搜索)连续失败 2-3 次,必须停止尝试,并向用户清晰地报告问题、已尝试的解决方案及求助请求。
- **需求/设计疑问**: 如果在执行过程中对需求或设计产生疑问,**必须立即暂停**,并向用户提问澄清。