实测先写测试后写代码的 LLM Agent:21 次全过,33 个埋藏 bug 全捕获
Infinite-Fly-2756 · reddit · 2026-11-10
作者开源了 MIT 协议的 QA 工作流 Agent QA Kit,并分享了实测数据:
- 流程设计:Claude Sonnet(经 Claude Code 运行)在功能实现前,按验收标准从 ticket 先写一个单元测试和一个浏览器测试,测试必须先失败;人工批准一次后测试被冻结;功能完成后由 Claude Haiku 运行测试,普通脚本对照真实测试报告核查 agent 的判定,agent 从不单独决定通过与否。
- 验证结果:在带隐藏测试和埋入 bug 的 demo 商店上跑 17 个小 ticket,每 ticket 3-6 次,独立 CI runner 运行。最新版本在跑过的 6 个 ticket 上 21/21 全过并抓出全部 33 个埋入 bug;前一版本在全部 17 个 ticket 上 49/51。
- 反直觉发现:
- 要求 agent 写更多测试用例反而整体变差:多抓到 1 个 bug,但对正确代码的误报从 2 次升到 5 次(/48),多源于算错的期望值;让它列出测试不覆盖的内容效果更好。
- 为尚不存在的代码写测试时 agent 会瞎猜标记结构(如把 search 字段猜成 textbox);两条简单规则修复:按 label 找字段、把值当作元素文本的一部分检查。
- 每次被拒绝的工具调用消耗一轮对话;把拒绝信息改成说明正确做法后,拒绝次数从 16 降到 1,每 ticket 少用约两轮。
- 最弱环节是人工步骤:两个真实 ticket 的测试在无人批准的情况下就被合并了。
作者强调样本小,仅作信号而非证明。
「编程与Agent」频道最新
- 亚马逊用工单决策模型替换 Sonnet 4.6,成本降 98% 年省数百万 — victormustar · 2026-11-10
- 360 次实测:代码知识图谱对编程 Agent 无明显准确率提升 — JeremyCMorgan · 2026-11-10
- 自述用 Claude Code 搭 Polymarket 机器人:一个提示词扫 1.4 万钱包 — Aiden_Tech_Ai · 2026-11-10
- Jev Engineering 提出专用微决策模型,能否替代 Flash 子代理? — Pokeasss · 2026-11-10
- 自建 AI 工具时给模型加反馈校准通道的实践建议 — menhguin · 2026-11-10
- 开发者总结异步 Agent 实用三招:watch 列表+分级自治 — menhguin · 2026-11-10