修不完的 bug 死循环:四轮归因与回归测试打破螺旋

修不完的 bug 与逃不出的循环:AI 辅助根因诊断实战

一、引子:永远修不完的 bug 前几天,以完全实现 GEAR 协议为目标的 Aristotle 项目[1],终于成功验证了所有核心技术线路,代码也完成了第三次重构,实现了基本功能,并完善了测试。在准备把开发分支合并到 main 上线前,我做了一轮手工测试,发现 SKILL.md 的指令没有被模型正确执行——拿到了 action 却不调用 task() 启动后台 subagent,反而去加载了 LEARN.md。从排查这个问题开始,更多的 bug 被陆续发现: ...

2026-05-01 · 14 分钟
五阶段完整管线:从需求到代码,每道防线拦截上一层漏过的错误

AI 辅助 TDD 全流程:从需求到代码的完整防线

这是"用 TDD 驯服 AI 编码代理"系列的第 6 篇。前四篇分别讲了需求层、设计层、测试层和审核层,第 5 篇把审核层升级为程序正义。本篇把它们串成一条可落地的完整管线。 ...

2026-04-30 · 7 分钟
程序正义入协议:对抗式审核,每一步决策都可验证

程序正义入协议:让 AI 审核的每一步都经得起检验

我之前做的 Ralph Loop 审核机制,有个隐藏问题。 v0.2 的流程只有「发现问题→修复→确认收敛」。第 4 篇提过,创造者如果认为审查者误判,可以在下一轮提供证据,由审查者重新评估——但那只是一句规则,不是正式协议。没人检验审核本身的质量。审查者可能标错问题严重等级。主代理可能盲目接受不合理建议。 ...

2026-04-30 · 9 分钟
Ralph Loop:多轮收敛审核,连续两轮零问题才退出

Ralph Loop:AI 的错误不是随机的,是收敛的

这是"用 TDD 驯服 AI 编码代理"系列的第四篇。前三篇按管线顺序讲了需求层、设计层和测试层。本篇讲最后一道防线——审核机制。 第三篇留下的问题 第三篇结尾提了一个问题:PRD 写了,技术方案写了,测试方案写了,流程是对的。但这些文档里的事实性声明——平台 API 的行为、框架的限制、依赖库的接口——都是 AI 生成的。一个人逐条核实,时间上不现实。但不核实,又可能踩进 coroutine-O——Aristotle 的异步编排原型——同样的坑。 ...

2026-04-29 · 9 分钟
PRD 到技术方案:文档是护栏,不是负担

PRD → 技术方案:AI 时代文档不是负担,是护栏

这是"用 TDD 驯服 AI 编码代理"系列的第三篇。前两篇分别讲了测试层的需求锚定和需求层的 GEAR 消歧协议。本篇补中间一环——PRD 做完之后,技术方案该做什么。 ...

2026-04-29 · 10 分钟
结构化需求文档 vs 一句话需求:AI 自动填空的陷阱

为什么 AI 辅助 Aristotle 开发必须从 GEAR 协议开始:需求层的消歧实践

这是"用 TDD 驯服 AI 编码代理"系列的第二篇。上一篇讲了测试层的需求锚定方法[1]。测试的前提是需求清晰。本篇回头补上游——需求层的消歧实践。 ...

2026-04-25 · 7 分钟
需求锚定:测试方案文档先于测试代码先于业务代码

先写测试文档,再写测试代码:AI 开发的需求锚定

这是"用 TDD 驯服 AI 编码代理"系列的第一篇。整个系列讲一件事:为什么 AI 辅助开发需要比传统开发更严格的流程纪律,以及每一步具体怎么做。 ...

2026-04-23 · 15 分钟