Files
chill_notes/AI工程/概念/核心Loop.md
2026-06-22 11:30:51 +08:00

4.3 KiB
Executable File
Raw Blame History

核心Loop

相关:Loop工程超级LoopHarness工程测试策略金字塔

定义

核心Loop是AI编程中AI自治运行的开发循环通过Plan → TDD → 验证的流程,实现半自动有人值守的开发。

核心思想Plan阶段人机协作执行阶段AI自治。

核心流程

开始进入循环
    ↓
[Chat] 进入Plan模式
    ↓
装载需求规格给出指令进行Plan
    ↓
[Chat] 符合要求退出Plan模式开始执行
    ↓ 是
[模型] 读取Plan
    ↓
创建API测试实现代码
    ↓
[模型] 运行测试/浏览器调试,是否成功?
    ↓ 否 → 重复多次/白天持续很久/夜间
    ↓ 是
[模型] 退出循环
    ↓
给予ByPass权限

三个阶段

阶段1Plan规划

  • 输入:需求规格、技术规格
  • 输出:实现方案、任务列表
  • 关键:关闭所有开放性问题
  • 人工介入确认Plan是否合理

Plan模版

# Plan: 实现用户注册功能

## 目标
实现用户注册API支持邮箱验证

## 任务列表
- [ ] 1. 创建数据库表users
- [ ] 2. 实现POST /api/v1/users API
- [ ] 3. 实现邮箱验证逻辑
- [ ] 4. 编写单元测试
- [ ] 5. 编写API测试

## 实现方案
1. 使用Flyway创建users表
2. Controller接收CreateUserCommand
3. AppService调用UserRepository保存
4. 发送验证邮件

## 验收标准
- 所有单元测试通过
- 所有API测试通过
- 代码符合阿里巴巴Java开发手册

## 状态
- 开始时间2026-06-20 10:00
- 预计完成2026-06-20 12:00

阶段2执行Implementation

  • 输入Plan
  • 输出API测试、实现代码
  • 关键按照Plan逐步实现
  • AI自治:无需人工介入

步骤

  1. 编写API测试
  2. 运行测试(断言失败)
  3. 编写实现代码
  4. 运行测试(通过)

阶段3验证Verification

  • 输入API测试、实现代码
  • 输出:测试结果、修复建议
  • 关键:所有测试通过
  • AI自治:自动运行测试,自动修复

Loop规则

1. Plan等待确认

在docs/plans下根据模版创建Plan等待人工确认。

2. 编写API测试

根据Plan实现API测试运行成功并断言失败。

@Test
void testCreateUser() {
    CreateUserRequest request = new CreateUserRequest();
    request.setUsername("testuser");
    request.setEmail("test@example.com");
    request.setPassword("Password123");
    
    Response<UserResponse> response = userClient.create(request);
    
    assertEquals(201, response.getCode());
    assertNotNull(response.getData().getId());
}

3. 编写实现

编写单元测试 + 实现代码,通过编译。

@PostMapping("/users")
public Response<UserResponse> createUser(@RequestBody CreateUserRequest request) {
    return Response.success(userAppService.create(request));
}

4. 运行API测试

运行测试,并修复失败的测试和其他错误。

mvn test -Dtest=UserApiTest

退出条件

  1. 所有API测试通过
  2. 所有单元测试通过
  3. 代码符合规范Lint通过
  4. 没有编译错误

ByPass权限

AI在某些情况下可以跳过某些步骤

  • 测试环境不可用
  • 第三方服务不可用
  • 紧急修复

在AGENTS.md中定义ByPass规则。

适用场景

  • 后端开发API开发、业务逻辑实现
  • 中等复杂度需要TDD驱动的开发
  • 团队协作:需要统一开发流程

优势

  • 质量可控TDD驱动代码质量有保障
  • 可追溯Plan记录了实现过程
  • AI自治:执行阶段无需人工介入
  • 持续迭代:可以快速修复问题

挑战

  • Plan质量Plan阶段需要充分沟通
  • 测试覆盖:需要编写全面的测试
  • 运行时间Loop可能需要较长时间

最佳实践

  1. Plan阶段充分沟通:关闭所有开放性问题
  2. TDD驱动:先写测试再写代码
  3. 记录状态:方便复盘和优化
  4. ByPass控制:紧急情况可以跳过步骤

相关概念