本规范定义了一套基于Code Agent的AI辅助软件研发工作流,通过状态驱动和结构化提示,使AI Agent能够高效完成开发任务。
{阶段, 任务, 进度, 记忆, 下一步}
五元组类型-ID-内容
graph TD
开始[任务输入] --> AI{AI任务分类}
AI -->|新功能| 完整[S1→S2→S3→DG1→(S4↔S5)→DG2→S6→S7→DG3→S8]
AI -->|Bug修复| 快速[S2→(S4↔S5)→DG2→S8]
AI -->|需求变更| 变更[S1→S2→S3→(S4↔S5)]
AI -->|紧急上线| 紧急[(S4↔S5)→S6→S8]
注:(S4↔S5)
表示任务级循环
AI Agent基于关键词匹配和上下文理解,自动选择合适的执行路径。
AI执行提示:
## 任务:S1 - 用户故事细化
将输入需求转换为符合INVEST原则的用户故事。
### 输入:
- 用户原始需求描述
### 执行步骤:
1. 识别所有用户角色。
2. 为每个角色生成故事:作为[角色],我希望[功能],以便[价值]。
3. 验证每个故事符合INVEST原则。
4. 使用 `.aceflow/templates/s1_user_story.md` 模板格式化输出。
### 输出:
- **用户故事**:`/aceflow_result/{iteration_id}/S1_user_story/s1_{storyId}.md`
- **用户故事清单**:`/aceflow_result/{iteration_id}/S1_user_story/s1_all_user_story.md`
- **需求记忆**:`/.aceflow/memory/REQ-001-[需求简述].md`
AI执行提示:
## 任务:S2 - 任务拆分
基于用户故事进行任务分解。
### 输入:
- **用户故事**:`/aceflow_result/{iteration_id}/S1_user_story/s1_all_user_story.md`
- **配置文件**:`/.aceflow/config.yaml`
### 执行步骤:
1. 分析每个用户故事,拆分为独立可执行的任务(目标≤8小时)。
2. 评估任务复杂度、依赖关系,并分配优先级。
3. 单个任务文件,使用 `.aceflow/templates/s2_tasks_main.md` 模板格式创建。
4. 主任务清单,使用 `.aceflow/templates/s2_tasks_group.md` 模板格式创建。
### 输出:
- **主任务清单**:`/aceflow_result/{iteration_id}/S2_tasks/s2_all_tasks.md`
- **单个任务文件**:`/aceflow_result/{iteration_id}/S2_tasks/s2_{taskId}.md`
AI执行提示:
## 任务:S3 - 测试用例设计
为每个用户故事设计完整的测试用例。
### 输入:
- **用户故事**:`/aceflow_result/{iteration_id}/S1_user_story/s1_all_user_story.md`
- **任务清单**:`/aceflow_result/{iteration_id}/S2_tasks/s2_all_tasks.md`
### 执行步骤:
1. 分析用户故事的验收标准。
2. 设计测试场景:正常流程、边界条件、异常场景。
3. 编写具体测试步骤,并标注自动化可行性。
4. 使用 `.aceflow/templates/s3_testcases.md` 模板格式化输出。
5. 每个任务对应一个 testcases 文件。
### 输出:
- **测试用例**:`/aceflow_result/{iteration_id}/S3_testcases/s3_{taskId}_testcases.md`
- **测试用例汇总**:`/aceflow_result/{iteration_id}/S3_testcases/s3_all_testcases.md`
AI执行提示:
## 任务:S4-S5 - 功能实现与测试循环
以任务为单位循环执行开发和测试,直到所有任务完成。
### 循环流程:
1. **选择任务**:从 `s2_all_tasks.md` 中选择一个未完成的任务。
2. **S4 (实现)**:
- 编写功能代码,遵循项目规范。
- 使用 `.aceflow/templates/s4_implementation_report.md` 模板创建实现报告。
- 使用 `.aceflow/templates/s4_implementation.md` 功能实现文档汇总表,存在则跳过。
- **产出**:
- 代码文件
- 单任务实现报告保存到 `/aceflow_result/{iteration_id}/S4_implementation/s4_impl_{taskId}.md`
- 功能实现文档汇总表保存到 `/aceflow_result/{iteration_id}/S4_implementation/s4_implementation_all.md` 创建。
3. **S5 (测试)**:
- 运行相关测试(如 `mvn test` 或 `npm test`)。
- 检查代码覆盖率。
- 使用 `.aceflow/templates/s5_test_report.md` 模板创建任务测试报告。
- 使用 `.aceflow/templates/s5_test_report.md` 模板创建汇总测试报告。
- **产出**:
- 单格任务测试报告 `/aceflow_result/{iteration_id}/S5_test_report/s5_test_{taskId}.md`
- 更新汇总报告 `/aceflow_result/{iteration_id}/S5_test_report/s5_test_all.md`
4. **决策与状态更新**:
- ✅ 测试通过 -> 更新 `s2_all_tasks.md` 中任务状态为“完成”,选择下一任务。
- ❌ 测试失败 -> 标记为“失败”,修复后重测。
- 📋 所有任务完成 -> 进入S6。
AI执行提示:
## 任务:S6 - 代码评审
对本次迭代的代码进行全面评审。
### 评审范围:
- 本次迭代修改的所有 `/src/` 目录下的文件。
### 评审清单:
1. **代码质量**:命名、格式、注释。
2. **逻辑正确性**:业务逻辑、边界、错误处理。
3. **性能与安全**:性能问题、安全漏洞。
4. **可维护性**:复杂度、重复代码、设计模式。
### VSCode辅助工具:
- ESLint/Pylint, SonarLint, GitLens
### 输出:
- 使用 `.aceflow/templates/s6_code_review.md` 模板创建评审报告。
- **评审报告**:`/aceflow_result/{iteration_id}/S6_codereview/s6_codereview.md`
AI执行提示:
## 任务:S7 - 准备演示和收集反馈
准备功能演示材料并设计反馈收集方案。
### 准备内容:
1. **演示脚本**:功能概览、核心场景、性能指标。
2. **演示环境**:确保可用,准备数据。
3. **反馈表单**:满意度、用户体验、改进建议。
### 输出:
- **演示脚本**:使用 `.aceflow/templates/s7_demo_script.md` 模板创建,保存到 `/aceflow_result/{iteration_id}/S7_feedback/demo_script.md`
- **反馈模板**(可选):`/aceflow_result/{iteration_id}/S7_feedback/feedback_template.md`
AI执行提示:
## 任务:S8 - 生成进度汇总报告
总结本次迭代的执行情况并提供优化建议。
### 数据来源:
- 状态文件、执行日志、各阶段产出物。
### 执行步骤:
1. 运行分析脚本:`python .aceflow/scripts/analyze.py --iteration {iteration_id}`
2. 使用 `.aceflow/templates/s8_summary_report.md` 模板格式化报告。
3. 使用 `.aceflow/templates/s8_learning_summary.md` 模板总结经验教训。
### 输出:
- **进度报告**:`/aceflow_result/{iteration_id}/S8_summary/summary_report.md`
- **经验总结**:`/.aceflow/memory/LEARN-{iteration_id}.md`
.aceflow/
├── state.json # 流程状态
├── config.yaml # 项目配置
├── memory/ # 记忆池(需求、决策、风险、学习)
├── templates/ # 报告和文档模板
│ ├── s1_user_story.md
│ ├── s2_tasks_main.md
│ ├── s2_tasks_group.md
│ ├── s3_testcases.md
│ ├── s4_implementation_report.md
│ ├── s5_test_report.md
│ ├── s6_code_review.md
│ ├── s7_demo_script.md
│ ├── s8_summary_report.md
│ └── s8_learning_summary.md
├── scripts/ # 辅助脚本
│ ├── init.py
│ ├── state_manager.py
│ └── analyze.py
└── logs/ # 执行日志
aceflow_result/ #流程执行结果目录
init.py
python .aceflow/scripts/init.py [iteration_id]
state_manager.py
python .aceflow/scripts/state_manager.py <command> [args]
python .aceflow/scripts/state_manager.py update S1 100
analyze.py
python .aceflow/scripts/analyze.py --iteration <id>
此文件用于定义项目类型、技术栈、执行阈值、代码规范等,使其高度可配置。