第76篇:调试类小结——把排错思路彻底沉淀下来

2026/10/03 AI

招式学了七篇,现在把它们收成一套。

从第 69 篇到第 75 篇,我们一路走过来:读不懂代码怎么办、框架原理怎么问、报错怎么贴、没报错怎么查、慢在哪怎么找、老项目怎么接、真实 Bug 怎么走完全程。

七篇,七套打法。

但如果你现在遇到一个新问题,脑子里第一反应还是“我该用哪一招?”——那说明这些招式还是散的。

这一篇的任务就是把它们收成一套,交给你三样东西:一张决策树、一套母版、一份误区清单。看完这篇,”代码理解与调试”这个小节就结课了。


一、先把七篇摆在一张地图上

很多人学完一堆技巧记不住,是因为脑子里没有位置感。先看这张地图——七篇其实只解决三类问题:

第一类:我看不懂(理解型)

篇目 解决什么 核心打法
69 一段代码读不懂 让 AI 逐行翻译成中文,先问干什么再问怎么做
70 用了库但不懂原理 让 AI 用生活类比讲清楚,再问”什么时候会坑我”
74 接手祖传老项目 剥洋葱五层:入口→地图→主线→数据→细节

第二类:它不对劲(故障型)

篇目 解决什么 核心打法
71 有红字报错 报错贴原文,一个字都不转述
72 没报错但结果不对 说清“期望什么 / 实际什么”,让 AI 逆推
75 完整一次实战 排错八步:现界差证,设修归盘

第三类:它太慢(性能型)

篇目 解决什么 核心打法
73 卡、慢、转圈 先测量再优化,性能四件套:作量时标

理解型问”这是什么”,故障型问”哪里错了”,性能型问”慢在哪里”。

三类问题,三种提问方式。选错类型,怎么问都问不出结果。

seven-articles-map


二、排错总决策树:遇到问题先问自己三句话

遇到问题别急着打字,先花十秒问自己三句话,你就知道该走哪条路。

第一句:屏幕上有没有红字 / 报错?

  • 有 → 走【报错线】:完整复制报错原文 + 完整代码文件,直接问 AI。这是最省事的一条路,报错本身就是最强线索。
  • 没有 → 进入第二句。

第二句:是”结果不对”,还是”能用但很慢”?

  • 结果不对(数据没保存、数字不对、点了没反应)→ 走【逻辑线】:说清“我期望什么、实际得到什么、用的什么输入”,让 AI 逆推。
  • 能用但很慢 → 走【性能线】:先测量,找出最慢的那一段再优化。没测量就优化 = 瞎猜。

第三句(前两句都不适用时):我是不是压根没看懂这段代码?

  • 是 → 走【理解线】:先让 AI 逐行讲清楚,看懂了再谈修。

再补一句判断偶发问题的:

如果问题”有时有、有时没有” → 不管属于哪条线,先做差异法:找一个必成功的例子和一个必失败的例子,逐字段对比,先把那个条件变量抓出来。

debug-decision-tree


三、万能排错提示词母版:五件套

前面七篇给了几十个提示词模板,其实它们全都长一个样。骨架就五段,我叫它排错五件套:

象 · 证 · 境 · 试 · 要

段 全称 写什么 常见错误
象 现象 期望什么 / 实际什么 只说”报错了”“不好使”
证 证据 报错原文、日志、代码完整文件 转述、截断、只贴片段
境 环境 什么系统、什么工具、什么条件下必现 完全不提
试 试过 我已经排除了什么 让 AI 重复走你走过的死路
要 要什么 要解释?要清单?要改好的代码? 不说,然后嫌它答非所问

把这个骨架背下来,你就不需要背模板了。 完整母版见文末模板盒子。

同样一个问题:只说”报错了,帮我看看” → AI 给你一段通用建议,八成不对症;五件套齐全 → AI 基本一次命中。你多花两分钟组织信息,能省下两小时来回试错。


四、新手八大误区(踩一个白干半天)

这七篇里反复强调的坑,集中列在这儿:

误区一:不复现就开始改。 听用户说两句就动手,改了半天发现人家根本没点提交按钮。→ 自己亲眼看到 Bug 发生,才算立案。

误区二:转述报错。 “它说什么找不到之类的。” → 报错原文每个字符都是线索,全选、复制、原样贴。

误区三:只贴片段。 贴出错那三行,AI 看不到上下文只能猜。→ 贴完整文件。多贴几十行不花钱,猜错一次浪费半小时。

误区四:一次问五个问题。 “顺便优化下性能,再美化界面。” → AI 会给你大杂烩,还可能顺手改坏好的地方。一次一个问题。

误区五:让 AI 直接给代码,跳过解释。 它给了你贴上去好了,但不知道为什么好,下次还犯。→ 先要解释,再要代码。

误区六:AI 说什么信什么。 它会非常自信地编造不存在的函数名、配置项。→ 它说的是假设不是结论,每一条都要验证。

误区七:改完只测那一个场景。 修好失败那条就上线,结果把原来好的搞坏。→ 三条必测:原来坏的、原来好的、极端的。

误区八:修完就完,不复盘。 → 多问一句”同类问题项目里还有几个”,往往一次扫掉三五个雷。

eight-mistakes


五、关于 AI 排错,三条底线必须记住

这三条比任何技巧都重要。

第一条:AI 只知道你给它的那一屏。 它看不到你没贴的文件、数据库里的真实数据、服务器上的配置、你昨天改了什么。所以它答得不对,很多时候不是它笨,是你给的信息不够。

第二条:AI 不会说”我不知道”。 你问它不确定的问题,它大概率编一个听起来很合理的答案——语气笃定、格式工整、就是不对。→ 凡是它说的”因为 XX 导致 YY”,你都要能自己验证一遍。验不了的,别信。

第三条:最终按下确认键的人是你。 AI 可以给方案,但它不承担后果。数据删了是你删的,线上崩了是你的锅。所以规矩要成肌肉记忆:

  • 改动前先备份
  • 删改数据前,先只查不改试一遍
  • 一次只改一处,改完立刻验证

六、一张随身自查表

把这张表存手机里,遇到问题照着走:

□ 我亲眼看到问题发生了吗?(没有 → 先复现)
□ 我能找到"必失败"和"必成功"两个例子吗?(偶发问题必做)
□ 这属于哪一类:看不懂 / 不对劲 / 太慢?
□ 数据断在哪一段:浏览器 / 网络 / 后端 / 数据库?
□ 我贴的是报错原文,还是我的转述?
□ 我贴的是完整文件,还是片段?
□ 我说清楚"期望什么、实际什么"了吗?
□ 我告诉 AI 我已经试过什么了吗?
□ 我要的是解释,还是代码?我说清楚了吗?
□ AI 给的原因,我验证过了吗?
□ 改动前我备份了吗?
□ 改完我测了三条吗(原来坏的 / 原来好的 / 极端的)?
□ 我问过"同类问题还有几个"吗?

十三个框全打勾,你就不是新手了。


七、这个小节最后想说的

很多人以为,会用 AI 写代码是本事。其实真正的分水岭是——生成出来的东西不对劲时,你能不能救回来。

这七篇讲的所有东西,本质上只有一件事:

AI 是一个知识极其渊博、但眼睛看不见的顾问。它的能力上限,取决于你描述现场的能力。

而”准确描述一个问题”,恰恰不需要任何代码基础。 一个完全不懂编程的人,认真练这七篇的方法,排错能力可以超过很多写了三年代码但从不整理思路的人。

工具是新的,方法是老的:看清现场、缩小范围、逐个验证、留下记录。 祝你以后每个 Bug 都死得明明白白。


📦 提示词模板盒子

模板一:万能排错五件套(象证境试要)

我遇到一个问题,需要你帮我定位。

【现象】
我期望:[正确应该是什么样]
实际发生:[实际是什么样]
偶发情况:[什么条件下必现,什么条件下正常]

【证据】
报错/日志原文(完整粘贴,未做任何修改):
[粘贴,前后各多贴几行]

相关代码(完整文件,不是片段):
[粘贴]

【环境】
系统:[Windows / Mac]
工具:[你用的 AI 工具]
触发条件/数据规模:[比如:数据超过 200 条时必现]

【我已经试过】
1. [试过什么,结果如何]
2. [排除了什么可能]

【我要什么】
1. 用大白话解释这是什么问题
2. 按可能性排序,列出 3 个最可能的原因
3. 每个原因告诉我怎么快速验证
4. 先解释和列清单,暂时不要给我改好的代码

我是新手,不熟悉专业术语,请一步步说清楚。

模板二:分流器(不知道怎么问的时候先问这个)

我遇到一个问题,但我不确定该从哪查起。

【我看到的现象】
[尽可能具体地描述,包括你点了什么、看到什么]

请你先不要给我解决方案,先帮我判断:
1. 这属于哪一类问题:代码理解 / 功能出错 / 性能太慢 / 环境配置
2. 我接下来应该收集哪些信息给你?请列一份"取证清单",
   每一条写清楚我具体该点哪里、看什么
3. 这些信息里,哪一条最关键,我先弄哪个

我完全是新手,请把操作步骤写细一点。

模板三:校验与收尾(验真伪 + 安全护栏 + 复盘)

【A. 结论校验——怀疑 AI 在编时用】
你刚才说问题的原因是:[复述它的结论]。在我照做之前,请自己复核:
1. 这个结论依据的是我提供的哪几行内容?请指出来
2. 如果我提供的信息不足以支撑这个结论,请直接说"信息不够"
3. 你提到的函数/配置/参数,是否确实存在于我贴的代码里?逐个核对,不存在的请明确指出
4. 除了这个原因,还有没有别的可能被你忽略

【B. 安全护栏——让 AI 改动前必加的一段】
在你给出任何修改之前,请遵守:
1. 只改我指定的地方,其他一律不动,不要顺手优化、不要改格式
2. 输出完整文件,不要给片段
3. 单独列出:改了哪几行、每行改了什么、为什么
4. 如果改动可能影响其他功能,必须提前警告我
5. 涉及删除数据的操作,先给我一条"只查不改"的版本让我试跑

【C. 复盘器——修完必问的一句】
我刚修好一个问题,本质是:[一句话概括类型]。
请帮我扫一遍项目里其他相关文件:
1. 还有哪些地方存在同样或变种的问题?逐个指出位置
2. 按危险程度排序
3. 给我一条简单的自查规则,以后怎么避免这类问题
先列清单,不要改代码。

🔖 速查卡:调试全套口诀

【分类】三类问题
  看不懂 → 问"这是什么"
  不对劲 → 问"哪里错了"
  太慢了 → 问"慢在哪里"

【提问】五件套:象 证 境 试 要
  象 = 期望什么 / 实际什么
  证 = 报错原文 + 完整文件
  境 = 系统 / 工具 / 触发条件
  试 = 我已经排除了什么
  要 = 要解释还是要代码

【流程】八步:现界差证,设修归盘
  复现 → 划界 → 差异 → 取证 → 假设 → 修复 → 回归 → 复盘

【底线】三条
  1. AI 只知道你给它的那一屏
  2. AI 不会说"我不知道",它会编
  3. 按确认键的人是你,改前先备份

👉 下篇预告

第 77 篇:用 AI 重构烂代码——可读性直线上升。 调试篇结课,下一篇进入「重构与质量」:代码能跑却一团糟怎么办,重构不是重写,让 AI 安全重构的三步法。下篇见。

Search

    Post Directory