适合什么场景
处理报错是 AI 最擅长的事之一。**关键是给足信息**:代码原文 + 报错原文 + 你想做什么。
最常见的失败是:只说"我的代码报错了",不给代码也不给报错——AI 只能猜。
提示词原文
你是资深工程师。请帮我调试代码:
代码: ``` {代码} ```
报错信息: {报错}
我的目标:{目标}
要求: 1. 先解释这个报错的含义(用大白话) 2. 定位最可能的原因,按可能性排序 3. 给出修复后的完整代码(不要只给片段) 4. 说明改了什么、为什么这么改 5. 指出代码中其他潜在问题 6. 如果我理解错了方向,直接告诉我 ```
变量怎么填
- **代码**:给**完整**文件或完整函数,不要只给一行。问题常出在上下文
- **报错**:**整段复制,不要截取**。报错的堆栈信息里,最上面几行和最后一行最关键
- **目标**:说清"我原本想让这段代码做什么"。AI 常发现你的思路本身有问题
**技巧**:如果代码很长,说明哪部分是你写的、哪部分是 AI 生成的,方便定位。
生成效果示例
**报错**:`TypeError: Cannot read properties of undefined (reading 'map')`
**解释**: ``` 大白话:你在一个"空"的东西上调用了 .map()。 .map() 只能用在数组上,但这里拿到的是 undefined(没有值)。 通常是数据还没加载完就用了,或者变量名写错了。 ```
**原因排序**: ``` 1. (最可能)list 数据是异步获取的,渲染时还没到 2. 接口返回的不是数组,可能是对象或 null 3. 变量名拼写错误,list 实际叫 lists ```
**修复代码**: ``` // 修复:加空值兜底 {Array.isArray(list) ? list.map(item => ( <div key={item.id}>{item.name}</div> )) : <p>加载中...</p>} ```
**改了什么**: ``` 加了 Array.isArray() 判断。 原代码直接 .map(),如果 list 不是数组就崩溃。 这样即使数据没到,也只会显示"加载中"而不会报错。 ```
变体与调整
- **要教学**:加"假设我是编程新手,每个概念都解释清楚,不要跳过基础"
- **要重构**:加"顺便重构这段代码,提升可读性和性能"
- **要写测试**:加"为修复后的代码写单元测试,覆盖边界情况"
- **多方案对比**:加"给出 2-3 种修复方案,对比优缺点"
- **要防复发**:加"说明如何避免同类问题再次出现"
常见问题
**Q:AI 改了还是跑不通?** A:把新的报错**继续给它**。调试是迭代过程,通常 2-3 轮能解决。
**Q:AI 给的代码我看不懂?** A:加"每行关键代码加中文注释,解释作用"。
**Q:改完引入了新问题?** A:**改之前先备份**。或者让 AI"只做最小改动,不要重构其他部分"。
**Q:不想贴敏感代码?** A:把敏感部分(密钥、内部逻辑)替换成占位符。核心逻辑保留即可。
这条提示词可以配合哪些工具
调试的链条:**复现 → 定位 → 修复 → 验证**。AI 能加速中间两步。
- **写代码/调试**:Cursor(见教程《Cursor入门》)、IDE 内置 AI、对话式 AI
- **看报错**:浏览器 F12 开发者工具、终端的报错输出
- **版本管理**:Git(出错时能回退,非常重要)
- **验证**:改完必须自己跑一遍,不要相信"应该没问题"
**组合提示词链**: ``` 第1步:F12 复制完整报错 第2步:本提示词 → 出修复代码 + 原因说明 第3步:改完自己跑 → 不行就把新报错继续给它 ```
**一条铁律**:**改代码前先备份或提交 Git**。AI 修复可能引入新问题,能回退才敢改。没有版本控制时,至少复制一份文件。
进阶用法:五个通用技巧
**技巧一:让它先给方案,再给成品** 在提示词末尾加一句:"先列出你打算怎么写(3-5 条要点),我确认后再写全文。" 好处:避免它一口气写完 1000 字,方向却完全不对。**改写一轮的成本,远高于先确认再写。**
**技巧二:给它一个"参考样本"** 把你以前满意的产出(文章、话术、邮件)粘进提示词,加一句:"参考以上内容的语气和节奏。" 效果:这是让 AI 输出贴合你个人风格最有效的方法,比任何形容词描述都准。
**技巧三:一次只改一个变量** 出结果不满意时,不要推翻重写。**只改一个地方再生成**: - 语气不对 → 只改语气描述 - 太长 → 只说"压缩到 X 字" - 太平 → 只说"增加具体例子"
同时改三处,结果变好了你也不知道是哪个起了作用,下次还是不会调。
**技巧四:让它自我检查** 在末尾加:"输出后,检查是否符合上述所有要求,列出你认为还没做到的地方。" 效果:AI 自查经常能发现自己的遗漏,相当于免费做了一轮质量把关。
**技巧五:建立你的提示词库** 用着顺手的版本,**存下来**。同类需求直接复用。 积累 10-20 条之后,你会发现大部分工作都可以从这里起步,效率提升非常明显。