99 lines
2.5 KiB
Markdown
Executable File
99 lines
2.5 KiB
Markdown
Executable File
# Loop工程
|
||
|
||
> 相关:[[核心Loop]]、[[超级Loop]]、[[Harness工程]]、[[测试策略金字塔]]
|
||
|
||
## 定义
|
||
|
||
**Loop工程**是AI编程的第4阶段,通过构建测试套件和验收规则,让AI能够根据验收规则自动循环,实现半自动有人值守的开发。
|
||
|
||
**核心思想**:让AI能根据验收规则自动循环,构建测试套件,定义输出结果。
|
||
|
||
## 核心特征
|
||
|
||
### 1. 自动循环
|
||
- AI根据验收规则自动运行
|
||
- 失败时自动修复并重试
|
||
- 直到满足退出条件
|
||
|
||
### 2. 测试驱动
|
||
- TDD驱动开发
|
||
- 先写测试再写代码
|
||
- 测试作为验收标准
|
||
|
||
### 3. 有人值守
|
||
- Plan阶段需要人工确认
|
||
- 执行阶段AI自治
|
||
- 异常时需要人工介入
|
||
|
||
## Loop类型
|
||
|
||
### [[核心Loop]]
|
||
- 范围:API测试
|
||
- 验证:后端逻辑
|
||
- 复杂度:中等
|
||
- 适用:后端开发
|
||
|
||
### [[超级Loop]]
|
||
- 范围:API测试 + E2E测试
|
||
- 验证:前后端联动
|
||
- 复杂度:高
|
||
- 适用:全栈开发
|
||
|
||
## Loop流程
|
||
|
||
```
|
||
Plan阶段(人机协作)
|
||
↓
|
||
装载需求规格 → 创建Plan → 确认Plan
|
||
↓
|
||
执行阶段(AI自治)
|
||
↓
|
||
编写测试 → 编写实现 → 运行测试
|
||
↓ ↓
|
||
↓ 失败 ↓ 成功
|
||
↓ ↓
|
||
修复重试 ←──────────────────── 退出循环
|
||
```
|
||
|
||
## 退出条件
|
||
|
||
1. 所有测试通过
|
||
2. 代码符合规范(Lint通过)
|
||
3. 没有编译错误
|
||
4. 满足验收标准
|
||
|
||
## 适用场景
|
||
|
||
- **复杂项目**:需要自动化开发流程
|
||
- **持续集成**:需要持续交付
|
||
- **团队协作**:需要统一的开发流程
|
||
- **质量保证**:需要严格的测试覆盖
|
||
|
||
## 优势
|
||
|
||
- **自动化**:减少人工干预
|
||
- **质量保证**:TDD驱动,代码质量有保障
|
||
- **可追溯**:Plan记录了实现过程
|
||
- **持续迭代**:可以快速修复问题
|
||
|
||
## 挑战
|
||
|
||
- **Plan质量**:Plan阶段需要充分沟通
|
||
- **测试覆盖**:需要编写全面的测试
|
||
- **运行时间**:Loop可能需要较长时间
|
||
- **调试复杂**:失败时需要调试
|
||
|
||
## 最佳实践
|
||
|
||
1. **Plan阶段充分沟通**:关闭所有开放性问题
|
||
2. **TDD驱动**:先写测试再写代码
|
||
3. **记录状态**:方便复盘和优化
|
||
4. **逐步扩展**:从核心Loop开始,逐步引入超级Loop
|
||
|
||
## 相关概念
|
||
|
||
- [[核心Loop]]:Loop工程的具体实现
|
||
- [[超级Loop]]:Loop工程的扩展实现
|
||
- [[Harness工程]]:Loop工程是Harness的组成部分
|
||
- [[测试策略金字塔]]:Loop工程使用的测试策略
|