AI 生成的代码出 Bug 了:让 Agent 自己修好的 5 个套路
AI 写代码快,修 Bug 却慢——因为你还在用人肉调试的老办法指挥 Agent。「修一下」是最贵的指令。本文 5 个套路:先复现再动手、一次给全上下文、二分定位、修完必须补回归测试、3 次修不好就换方案。调试是 AI 时代程序员最后的护城河之一。

先说个扎心的事实:你指挥 Agent 修 Bug 的方式,决定了它烧多少钱
AI 写代码已经很快了,但几乎每个 vibe coder 都经历过这个绝望时刻:一个 bug,Agent 修了 40 分钟、改了 12 版,越修越糟,最后你含泪 git checkout 回滚,token 账单还多了一长串。
问题通常不在模型,在你给的指令。大多数人修 bug 时只会说一句话:"这里报错了,修一下。"——这是最贵的指令,因为它把定位、复现、验证的全部工作都推给了 Agent 在黑暗中摸索,而摸索的每一分钟都是按 token 计费的。
人肉调试时代,你靠的是经验和直觉;Agent 时代,你要把"调试方法论"显式地教给它。下面 5 个套路,每一个都能直接复制进你的 prompt。
套路 1:先复现,再动手——不许直接改代码
这是最重要的一条,给 Agent 的第一指令永远应该是:"先写一个能稳定复现这个 bug 的最小脚本,跑通给我看,确认复现了再改代码。"
为什么?三个原因。第一,复现脚本是"验收标准"——修完之后跑一遍就知道修好没,不用你人肉点来点去。第二,它逼 Agent 先理解 bug,而不是凭感觉改。第三,很多"修不好"的 bug,本质是 Agent 根本没复现出来,它在修一个自己想象中的问题。
实操模板:"不要直接修改源代码。先在 /tmp/repro/ 下写一个最小复现脚本,用 xxx 命令运行,把输出贴给我。等我确认复现成功,你再开始定位。"
套路 2:把上下文一次给全——别挤牙膏
Agent 最常见的失败模式是"在信息不全的情况下开始猜"。你只贴了报错的第一行,它就敢重构整个函数。正确做法是:报错堆栈全文、相关日志、复现步骤、最近一次改动(git log/diff)、运行环境,一次性给够。
有个简单的判断标准:如果你把这些信息拿走,一个人类工程师能不能定位问题?不能的话,Agent 也不能——它只会用更多的 token 制造更多的幻觉。挤牙膏式对话(问一句答一句)是 token 的焚化炉。
另外,明确告诉 Agent 哪些文件是"只读参考"、哪个目录是"嫌疑范围"。把搜索空间圈小,定位速度会快一个数量级。
套路 3:二分定位——让 Agent 像用 git bisect 一样思考
面对一个"不知道哪儿坏了"的问题,别让 Agent 把全仓库读一遍。教它二分法:"先列出 3 个最可能的故障点,按概率排序;对每一个,设计一个 1 分钟能验证的实验;从概率最高的开始,一个一个排除。"
更狠的招:直接让它用 git bisect。"这个 bug 是最近 20 个 commit 里引入的,用 git bisect 配合复现脚本自动定位到具体 commit,把那个 commit 的 diff 贴给我。"——机器最擅长做这种枯燥的二分搜索,别浪费它的长处。
关键心态转变:定位问题和修复问题是两件事,要分两个指令下。混在一起,Agent 就会边猜边改,改出三个新 bug。
套路 4:修完必须写回归测试——不写测试的修复等于没修
"修好了"在 Agent 的世界里经常意味着"这次运行没报错"。你的指令里必须加一条硬性要求:"修复完成后,为这个 bug 写一个回归测试,放进测试套件,跑全量测试确认没有破坏其他功能。"
这条的价值是双重的:短期看,它逼 Agent 验证自己的修复不是"头痛医头"(比如把报错 catch 住吞掉);长期看,你的测试套件在悄悄变厚——每一个修过的 bug 都变成了一道护栏。三个月后你会发现,AI 写出来的项目,测试覆盖率反而比很多人肉项目高,因为"修 bug 必须补测试"这条规则是机器最擅长遵守的。
注意:让 Agent 先跑现有测试套件,确认基线是绿的,再修。否则它可能把"本来就红的测试"也算成自己的锅,或者反过来。
套路 5:3 次修不好就换方案——给 Agent 设定尝试上限
这是省钱的终极套路。Agent 有个坏毛病:一条路走不通,它会换个姿势继续撞墙,撞 20 次,烧掉你一顿饭钱。必须在指令里设上限:"如果同一个方案尝试 3 次还没修好,停下来。回滚所有改动,用 200 字总结你已经排除了什么、还剩哪几种可能,然后等我决定换方案。"
这条规则背后是一个判断:连续失败 3 次,说明初始假设大概率是错的,继续试只是沉没成本。人类工程师的直觉是"这条路不对,换条路";Agent 没有这种直觉,你得替它装上。
配套动作:修 bug 前先 git stash 或开新分支。让 Agent 在沙盒里折腾,修好了再合回来——回滚成本从"含泪重写"变成"一条命令"。
3 个反模式,看到就停
第一,"修一下"式指令:没有复现、没有范围、没有验收标准,等于让 Agent 自由发挥烧你的钱。第二,一次改多处:让 Agent 同时改 5 个文件,出问题你根本不知道是哪一处改坏的——一次只动一个嫌疑点。第三,不看 diff 就合并:Agent 的 diff 你必须扫一眼,特别是删代码、改条件、动迁移脚本的地方,这是之前安全指南里讲过的红线,这里再强调一次。
最后:调试能力是 AI 时代最保值的技能
写代码这件事,AI 已经比大多数人快了。但"定位一个诡异 bug"——理解系统、提出假设、设计实验、排除干扰——依然是人类工程师的核心价值,而且短期内 AI 替代不了。
更妙的是,上面这 5 个套路,本质上都是"好的人类调试习惯"的显式化。你把方法论教给 Agent 的过程,也是在训练你自己的调试直觉。AI 时代,提问题的人比写答案的人更值钱——而调试,就是提问题的艺术。
下次 bug 出现时,别急着说"修一下"。先问 Agent:"复现脚本呢?"
相关文章

每个 vibe 项目都会经历同一个黑色幽默时刻:网站白屏了,朋友比你的监控先告诉你。这篇实战为一人团队搭建完整错误监控体系:5 分钟 Sentry 最小闭环、错误边界、上报上下文设计、后端结构化日志、AI 调用专项防护、告警分级降噪,最后附上线检查清单。

10 月 3 日,工程师 Kevin Liao 发表檄文冲上 HN 前页:记忆插件是一场 RAG 片段抽奖,Agent 需要的是文档工作区。本文拆解他的诊断、开源的 Operator Memory 插件、两个最强的反方质疑,以及今晚就能开始的最小实践。

Gergely Orosz 走访 OpenAI、Anthropic、Cursor、Ramp 后写下的 2026 行业现状:近 100% 代码由 AI 生成、Agent PR 八个月涨近 10 倍、code review 沦为表演、IDE 被判为遗产产品。本文提炼报告要点,并给出 vibe coder 的三个判断与四件本周可做的事。