Agent Team开发天气查询器

Agent team 开发

创建CodeWriter、CodeReviewer、TestEngineer,然后在主控 Agent进行以下提示词:
请将目标文件输出在(目标目录)目录下。
你作为主控SOLO Agent,调度子Agent团队完成开发+测试任务: 可用子Agent:CodeWriter、TestEngineer、CodeReviewer。
工作流程:
先委派CodeWriter,根据需求编写完整程序代码,保存到当前workspace;
代码完成后调用CodeReviewer进行代码评审;
评审无严重问题,调用TestEngineer,读取源码,编写单元测试,在终端执行测试;
测试发现bug,把bug清单交给CodeWriter修复,循环迭代;
所有测试全部通过后,汇总:源码文件、测试代码、完整测试报告。生成在目标目录下。
需求:用PyQT开发一个根据选定的日期显示天气情况的应用

开发过程

本项目由主控 SOLO Agent 调度三个子 Agent 完成:

1. CodeWriter(开发)

  • 完成 5 个源码文件的初版实现,Mock 确定性、Real 回退、GUI 离屏冒烟全部验证通过。

2. CodeReviewer(两轮评审)

  • 第一轮:0 项高风险,2 项中风险 → 返修:
    • M1:网络请求在 GUI 线程同步执行,界面冻结(含启动时自动查询)
    • M2:失败路径模态 QMessageBox 阻塞自动化测试
  • CodeWriter 修复(QThread 异步化 + _show_error 可覆写方法,并顺手修复 4 项低风险:数据模型校验、构造参数 fail-fast、工厂 fallback 冲突、QApplication argv 构造)
  • 第二轮:M2 已修复,但异步改造引入 2 项新中风险 → 再次返修:
    • N1:finished 槽混淆线程身份,竞态下可误删运行中新线程致崩溃
    • N2:closeEvent 的 wait(10000) 忽略超时返回值,超时销毁运行中线程可致 abort
  • CodeWriter 精准修复(sender() 身份识别 + 严格重入守卫 + wait 超时拒绝关闭)
  • 第三轮(针对性复核):N1/N2 修复正确无新增缺陷 → 放行

3. TestEngineer(测试)

  • 编写 5 个测试文件共 164 条用例,在离屏(offscreen)环境下执行。
  • 首轮因测试桩缺少 instance() 方法与 pytest-qt 4.5.0 钩子不兼容而报错(测试侧问题,已修复),修复后连续多轮运行全部通过。
  • 未发现被测代码 bug,0 项返修。

发现问题

  • 对于权限请求与调用,有多次碰壁后尝试多种方案的情况,且频繁需求权限,占用大量时间
  • 采用agent team的调用时间明显比单个agent的时间久,其中每一个agent重新理解当前工作占用大量时间
  • 迭代很多时候是发现AI实现功能与目标有偏差,然而这里无法得到过程验证

总结经验

  • agent team的产出时间要久非常多,且迭代功能依旧需要人看到结果后进行介入
  • 多个agent协作可以有效减少bug问题,且对评审的agent提要求可以让实现的过程更加可控,偏向于低风险实现方案
    源码以及报告参见https://github.com/xiling1102/Weather-checker
posted @ 2026-10-10 21:59  xiling1102  阅读(4)  评论(0)    收藏  举报