调试排错
AI 生成的代码跑不起来,别慌。关键不是让 AI 帮你调,而是你学会引导 AI 调——你定位问题区域,AI 给方案。
代码跑不起来是常态
先建立一个预期:AI 生成的代码,第一次跑不起来是正常的。不是 AI 太差,也不是你太菜。AI 写代码就像人写文章——第一稿总有问题,改几轮才靠谱。
所以调试排错不是"意外情况",而是 AI 编程的标准流程的一部分。你的调试能力,直接决定了你的产出效率。
第一步:看报错信息
代码跑不起来,浏览器或终端通常会给你一个报错信息。这是最宝贵的线索。
报错信息一般包含:
- 错误类型:比如 "SyntaxError"(语法错)、"TypeError"(类型错)、"ReferenceError"(引用了不存在的东西)
- 错误位置:第几行、哪个文件
- 错误描述:具体说了什么
你不需要看懂报错信息的每一句话。你只需要把它完整地贴给 AI。
第二步:把报错喂给 AI
喂报错信息有讲究。
给什么
- 完整的报错信息:不要只截一半,不要自己翻译成"好像是XX问题"
- 出错的代码:把报错指向的那段代码也贴上
- 你当时在做什么:"我在点击添加按钮的时候报了这个错"
不给什么
- 不要把整个项目的代码全贴:贴报错附近的就够了。全贴了 AI 反而被干扰。
- 不要加你的猜测:"我觉得是第 30 行的问题"——你可能猜错,AI 会跟着你错。让 AI 自己判断。
一个好的喂报错示例
运行后报了以下错误:
TypeError: Cannot read property 'value' of null
at addTask (script.js:15)
出错时的代码:
(贴上 script.js 第 10-20 行)
我当时在输入框里打完字按回车,就报错了。
AI 看到这些信息,通常能直接定位问题并给修正方案。
从"AI 帮我调"到"我引导 AI 调"
新手用 AI 调试的方式是:"代码跑不了,帮我看看。"然后把所有代码扔过去。
这种方式 AI 有时能解决,有时不能——因为它要在一大堆代码里找问题,效率低。
进阶的方式是你先定位问题区域,再让 AI 给方案:
- 缩小范围:根据报错信息和你的操作,判断问题大概在哪个功能模块。
- 描述现象:"点击删除按钮没反应,控制台没有报错,但任务也没被删除。"
- 给相关代码:只给删除功能相关的代码。
- 让 AI 分析:"看看这段代码为什么删除不生效。"
你做了"定位"的工作,AI 做"修正"的工作。这是协作,不是甩锅。
AI 自信地给错答案
这是 AI 编程最坑的地方:AI 会非常自信地给一个错误的答案。
它不是在骗你——它真的"觉得"自己是对的。但因为它的理解基于概率,有时候概率最高的答案恰好是错的。
怎么应对:
- 验证 AI 的修正:AI 给了改法,你要跑一遍确认。不要假设它对了。
- 如果改了还是不对:不要让 AI 在同一个方向上继续改。它可能走错路了。换一个角度描述问题,或者给更多上下文。
- 多方验证:如果不确定 AI 的答案对不对,可以换一个 AI 工具问同样的问题,对比答案。两个 AI 给的方案一致,可信度就高了。
调试的心态
调试是最考验心态的环节。来回了三四轮还没解决,很容易烦躁。但烦躁会让你的反馈变得不精准,AI 跟着也"晕"。
记住:每一轮调试都在缩小问题范围。即使这轮没解决,你也排除了一个可能性。如果连续五轮没进展,停下来,开新对话,重新描述问题——往往换个"新鲜的大脑"就解决了。