elksmmx 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前
..
README.md 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前
TEST_DOCUMENTATION.md 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前
quick_test.py 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前
run.py 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前
task.prompt 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前
test_output.log 83db9cd446 重构了文件架构;修改agent沟通机制为信号机制 4 周之前

README.md

集成测试 6: 信号驱动机制测试

测试目标

验证新实现的信号驱动 Sub-Agent 通讯机制是否正常工作。

测试内容

1. SignalBus 创建

  • ✅ 验证 AgentRunner 中 SignalBus 实例已创建
  • ✅ 验证 signal_bus 被传递到工具 context

2. 信号发送机制

  • ✅ 验证 SubAgentManager 发送 subagent.start 信号
  • ✅ 验证 SubAgentManager 发送 subagent.complete 信号
  • ✅ 验证信号包含正确的数据(trace_id, parent_trace_id, result)

3. 信号接收机制

  • ✅ 验证主 Agent 在循环中检查信号
  • ✅ 验证 _handle_signal 方法被调用
  • ✅ 验证信号被正确处理

4. wait=True 模式(同步)

  • ✅ 验证 SubAgentManager 启动后台任务
  • ✅ 验证 _wait_for_completion 轮询信号
  • ✅ 验证收到完成信号后返回结果

5. 后台任务执行

  • ✅ 验证 Sub-Agent 在后台运行
  • ✅ 验证后台任务完成后发送信号
  • ✅ 验证后台任务的错误通过信号传播

运行测试

cd examples/integration_test_6
python run.py

预期结果

  1. 信号发送: 每次 subagent 调用应该发送 2 个信号

    • subagent.start: Sub-Agent 启动时
    • subagent.complete: Sub-Agent 完成时
  2. 信号接收: 主 Agent 应该在每次循环迭代时检查信号

  3. 评估功能: Agent 应该使用 subagent(mode="evaluate") 评估代码

  4. 文件生成: 应该生成 validator.py 和 REPORT.md

监控输出

测试脚本会实时显示:

  • [信号发送]: 每次信号发送
  • [信号接收]: 每次信号接收
  • [评估结果]: 评估是否通过

测试场景

任务:实现一个简单的数据验证模块

  • 包含 3 个验证函数(email, phone, age)
  • 使用 goal 工具规划任务
  • 使用 subagent(evaluate) 评估实现质量
  • 生成测试报告

这个场景会触发:

  • 多次 subagent 调用
  • 信号的发送和接收
  • 后台任务执行
  • 信号轮询机制

成功标准

  • ✅ SignalBus 已创建
  • ✅ 发送了信号(至少 2 个)
  • ✅ 接收了信号(至少 2 个)
  • ✅ 包含预期的信号类型(start, complete)
  • ✅ 使用了 subagent(evaluate)
  • ✅ 生成了代码文件

注意事项

  1. 信号监控: 测试脚本通过钩子函数监控信号的发送和接收
  2. 实时输出: 信号活动会实时显示在控制台
  3. 详细日志: 完整的 trace 日志保存在 .trace/ 目录