集成测试 5: 用户认证模块实现(强制评估)
测试目标
验证 Agent 能够:
- 使用
subagent(mode="evaluate") 进行代码质量评估
- 根据评估结果修复代码
- 实现评估-修复-重新评估的迭代流程
测试场景
实现一个用户认证模块,包含:
关键点:任务明确要求必须使用 subagent 工具评估每个功能的安全性。
为什么这个测试能触发 subagent 使用?
1. 明确的评估要求
- System prompt 中明确规定必须使用 subagent 评估
- 任务描述中详细说明了评估流程
- 提供了 subagent 调用的示例代码
2. 安全关键场景
- 用户认证是安全关键模块
- 有明确的安全检查点(密码加密、SQL注入、输入验证等)
- 评估不通过必须修复
3. 工作流程强制
- 步骤 1: 规划(使用 goal)
- 步骤 2: 实现(编写代码)
- 步骤 3: 评估(使用 subagent)← 强制步骤
- 步骤 4: 修复(如果评估失败)
4. 质量门槛
- 代码必须通过评估才能标记为完成
- 创建了"实现"和"验证"的明确分离
运行测试
cd examples/integration_test_5
python run.py
预期结果
- ✅ Agent 创建 3 个 goal(注册、登录、密码重置)
- ✅ Agent 使用 subagent(mode="evaluate") 至少 3 次
- ✅ 获得评估结果(passed/不通过 + 理由)
- ✅ 如果评估不通过,Agent 会修复代码并重新评估
- ✅ 生成 auth.py 代码文件
- ✅ 生成 IMPLEMENTATION_REPORT.md 报告
与之前测试的区别
| 测试 |
评估要求 |
结果 |
| 测试 1 |
提示使用评估 |
✅ 使用了 |
| 测试 2-4 |
无提示 |
❌ 未使用 |
| 测试 5 |
强制要求评估 |
应该使用 |
关键差异:
- 测试 1-4: 评估是可选的,Agent 自行判断
- 测试 5: 评估是强制的,是工作流程的一部分