第三次课
用 TRAE 主控 Agent 跑了一遍多 Agent 开发流程,子 Agent 包括 CodeWriter、TestEngineer、CodeReviewer。示例需求是:用 PyQt 开发一个根据选定日期显示天气情况的应用。这里记录开发过程、发现的问题和总结的经验。
一、开发过程
主控先委派 CodeWriter,根据需求编写代码,保存到当前 workspace。CodeWriter 生成了 main.py、weather_service.py、weather_window.py、requirements.txt 等文件,完成日期选择、天气请求和结果展示。
代码完成后,主控调用 CodeReviewer 评审。评审指出几个问题:API Key 硬编码、网络请求没有超时、异常未处理、UI 线程可能被阻塞。CodeWriter 按意见修复后,进入测试阶段。
TestEngineer 读取源码,编写单元测试,使用 pytest 和 mock 模拟天气接口,在终端执行。第一轮测试发现日期格式解析错误、接口异常时界面无提示、空数据导致崩溃。Bug 清单交回 CodeWriter 修复。循环两轮后,所有测试通过。
最后主控汇总交付物:源码文件、测试代码、完整测试报告和运行说明。
二、发现的问题
天气 API 不明确,直接实现容易写死。
网络请求放在主线程,会卡住 PyQt 界面。
API Key 硬编码,评审阶段才发现。
超时、异常、空数据没有处理,测试容易暴露。
UI 和业务逻辑耦合,单元测试难写。
测试依赖真实网络,不稳定,必须 mock。
三、经验总结
先定接口和模块边界,再让 CodeWriter 写实现。
CodeReviewer 前置很有价值,能提前发现安全和结构问题。
TestEngineer 优先测业务逻辑,不依赖真实 API。
Bug 清单要具体:文件、函数、复现步骤、期望结果。
主控 Agent 要控制循环:评审无严重问题再测试,测试全绿再汇总。
最终交付至少包含源码、测试代码、测试报告和运行说明。
总结:多 Agent 协作能提升开发效率,但主控调度、评审门槛和测试反馈闭环是关键。小步迭代、接口先行、测试 mock,是这次实践最大的收获。
浙公网安备 33010602011771号