怎么用 AI 改代码 Bug?
把报错贴给 AI,它给你一个看起来很有道理的修复方案,改完报错变了但问题还在。多数时候不是它能力不行,是你给的信息不够它定位——它看不到你的上下文。
这件事该用哪些工具
C
Cursor
能读整个项目上下文,直接在代码里改,最省来回粘贴
C
Claude
长上下文推理强,适合分析跨多个文件的逻辑问题
C
Claude Code
在终端里直接读仓库、跑测试、改代码,适合后端和脚本类问题
具体怎么做:四步
给完整的错误信息,不要只给最后一行
报错的堆栈有调用链,AI 靠这个判断问题出在哪一层。只贴「TypeError: undefined」它只能猜。
给它最小可复现的代码,不是整个文件
把出错的那段逻辑抽出来,加上必要的输入数据。文件太长它会忽略中间部分,只改头尾。
先让它说「你认为原因是什么」,再让它改
跳过诊断直接改代码,它经常改表面症状。让它先说出因果链,你能判断它是不是真的看懂了。
改完必须自己跑一遍,并想清楚「为什么原来会错」
不知道为什么错,说明你只是碰巧改对了。下次同样的问题还会出现。
可以直接复制的提示词
把花括号里的内容换成你自己的情况,整段粘进对话框即可。提示词里的要求越具体,输出越能用。
定位 Bug 根因
我遇到一个 bug,请先只做诊断,不要给修复代码。
环境:{语言/框架/版本,例:Python 3.11 + FastAPI}
现象:{具体表现,什么时候出现、什么时候不出现}
完整报错:
{粘贴完整堆栈}
相关代码:
{粘贴最小可复现代码}
数据/输入:
{粘贴触发问题的具体输入}
请回答:
1. 这个错误的直接原因是什么(精确到哪一行、哪个变量)
2. 为什么这个变量会是这个值(往上追一层)
3. 有哪几种可能的根因,各自的证据是什么
4. 你还需要我提供什么信息才能确定
5. 怎么用最小的改动验证你的判断(不要直接修,先给验证方法)
如果信息不足,直接说不足,不要猜。给出修复方案并说明副作用
基于上面的诊断,请给修复方案。 要求: 1. 给 2 个方案:一个最小改动(只修这个 bug)、一个更彻底(消除这类问题的根源) 2. 每个方案给出完整可粘贴的代码 3. 说明每个方案会影响哪些已有功能 4. 说明为什么原来会错(不是「应该这样写」,而是「原来的写法在什么情况下会出问题」) 5. 给一个能防止这个 bug 再出现的检查方法(测试用例或断言) 不要改我没提到的代码。
最容易踩的三个坑
只贴报错最后一行
「Cannot read property of undefined」这一句能对应几十种原因。没有堆栈,AI 只能给你最常见的那个,通常不是你遇到的。
让它改整个文件
它会顺手重构你没让它动的地方,引入新问题。要求它只输出改动的那几行。
不看它的诊断直接抄代码
它可能改对了症状但理解错了原因。这类修复会在两三周后以另一个形式爆发。
常见问题
AI 会不会把我的代码传到网上?
取决于工具。本地 IDE 类工具(Cursor、Copilot)多数有隐私模式,可关掉代码上传;网页版对话默认会保存。涉及公司代码,先确认公司的合规要求。
为什么它给的代码跑不通?
常见三个原因:用了你环境里没有的库或版本、假设了不存在的数据结构、省略了错误处理。让它写明依赖版本,并要求完整代码不要省略。
简单 bug 也要按这个流程吗?
不用。拼写错误、少个逗号这种直接改。流程是给「改了没解决」或「不知道为什么错」的情况用的。
其他实操教程
这套流程是实际跑通的,不是理论推演
工具迭代很快,界面和功能可能已经变了。如果你按这个流程做下来卡在某一步,欢迎告诉我们,会核实后补充。