Skip to content
难度LEVEL
阅读READ约 2 分钟~2 min
更新UPDATED2026-09

第 14 章 验证与调试 · 不会检查,就不算做完

easycode · Agent Skill
① 能跑吗 ② 功能对吗 ③ 边界情况 ④ 真实用户 从底往上,一层层查 空输入 · 连点两次 · 断网 · 超长文本 大多数翻车翻在这一层 换台设备、换个浏览器试试 报错信息是礼物 哪个文件第几行 · 什么类型的错 · 一句人话 原样完整贴给 AI,胜过转述十倍 两个救命习惯:把 bug 关进最小的笼子(最小复现) · AI 在错误假设上狂奔时,换个新会话重来 stickmancharles.com · CC BY-NC-ND 4.0
图 14 · 验证金字塔:从底往上查一遍

AI 说"完成了",不等于完成了。它是真诚的,但真诚和正确是两回事。所以每次交付,按这个金字塔查一遍,从底往上。能跑吗,起码不报错。功能对吗,按需求逐条过。边界情况呢,空输入、连点两次、断网、超长文本。真实用户会遇到什么,换台设备、换个浏览器试试。大多数翻车翻在第三层,正常路径谁都会做对,边界才见功夫。

出错了先别慌,报错信息是礼物。一条报错通常包含三样,哪个文件第几行,什么类型的错,还有一句人话描述。你甚至不用全看懂,把报错原样完整地贴给 AI,比你转述"它好像坏了"有用十倍。日志(Logs)同理。本地看终端,线上看 Vercel 的 Functions 日志和 Supabase 的日志面板,线上出问题时,答案几乎都躺在日志里。程序员用了五十年的最土也最有效的探照灯,叫 console.log(Python 里是 print),在可疑的地方打一盏灯,把变量的值打出来看,猜测立刻变成证据。

两个高级但救命的习惯。一是最小复现,想办法把 bug 关进最小的笼子,比如"只要输入是空的,点提交就崩"。定位到这一步,问题就解决了八成。二是换个会话重来。AI 在一条错误假设上狂奔太久时,别在原对话里纠缠,开个新会话,把问题重新描述一遍,常常瞬间解开。实在不行,睡一觉,这是正经的工程实践。

关键领悟

调试的本质是把猜测变成证据。一次只改一个变量,你就是科学家。

试一试

下次报错,先自己读一遍最后十行,猜一个原因,再贴给 AI,对答案。猜中率会一周比一周高。

由 Charles Tao 与 Claude 协作写成——这本身就是这套书讲的工作方式。Written by Charles Tao with Claude — which is itself the working method this series teaches. · 许可License