ARTICLE · 1058387
代码是 AI 写的,文档得是我写的
我脑子里同时活着至少五个项目。
一个家庭娱乐系统,想到过七个功能模块,一个都没写。一个挖洞自动化工具,需求清单躺在收件箱里吃灰。一个给爷爷奶奶的回忆录计划,连采访问题我都让 AI 设计好了——然后呢?然后没有了。
它们共同的命运是:活在我想象里,死在我拖延里。
我一直以为这是懒。后来用 AI 写代码的次数多了,才发现不对——问题不是我不动手,是我每次都从"动手"开始。想法还没长成型,就直接开着 AI 聊:帮我做个什么什么。AI 是真快,唰唰就给我生成一堆代码。然后我发现这不是我要的,改;改着改着 AI 忘了前面说了什么;再改;再乱。三五个回合之后,我烦了,AI 的上下文也糊了,项目卒。
这样的循环,我经历了不知道多少次。
直到有一次,我把一个项目的需求老老实实写成了一份文档,再拿给 AI——才发现之前烂尾的根本原因,压根不在执行,在更前面。
先说那个爽但危险的东西:vibe coding
先解释这个词,因为它确实是 AI 编程的正确打开方式之一。
Vibe coding,直译"氛围编程",2025 年 AI 大佬 Andrej Karpathy 提出来的:你不用写代码,用自然语言跟 AI 聊——"帮我做个网页,能记账的"——AI 生成,你看效果,不满意接着聊。写代码这件事,从"手艺"变成了"氛围"。
爽吗?爽。我第一个月用的时候几乎上瘾,什么点子都能秒变原型。
但正经做项目的时候,它有个致命的坑:你脑子里模糊的"想要什么",从头到尾就没离开过你的脑子。
你觉得自己说清楚了,AI 觉得它理解了,两边其实各想各的。生成的代码越多,偏得越远。而且 AI 写代码的速度太快了——想法糊的时候,代码生成得越快,烂尾得越快。
我那五个死掉的项目,尸体全是这么堆出来的。
文档比代码重要,这句话我原来是当鸡汤听的
后来我在一篇访谈里看到 Anthropic 那位 Claude Code 的负责人说,他现在100% 的代码都是 AI 写的,他自己一行都不写了。
我当时不信。不写代码,那你干什么?
他的答案是:把经验和要求写进系统里——项目的规则文件、可复用的技能、清晰的需求描述。他不生产代码,他生产"让 AI 正确写代码的东西"。
这就有个专门的词了,叫 SDD,规格驱动开发(Spec-Driven Development)。核心就一句话:
代码是可以随时重新生成的,所以代码不值钱;"你到底想要什么"的清晰描述,才是值钱的、需要你亲手写的东西。
传统编程,代码是资产,文档是附属品,写完就过时。SDD 反过来:规格文档是源头,代码只是照着文档生成的产物。产物不满意?别去手改代码,改文档,让 AI 重新生成。
文档比代码重要,说的就是这个。
我的实战:一份文档,救活了一个搁置的项目
光说不练假把式。拿我那个死得最透的项目举例:家庭娱乐系统。
之前的状态是:脑子里七个功能模块(老照片墙、戏曲电台、棋牌角、给爷爷的回忆录……),每次想动手,光是"从哪个开始"就能把我劝退。因为每个模块在我脑子里都是一团浆糊,边界不清、优先级不分、互相纠缠。
后来我换了个做法:一行代码没写,先写了一份开发需求书。写的过程就是逼自己回答三个问题:
这系统给谁用?——我、爸妈、爷爷奶奶。老人是完全不懂技术的小白,所以"老人友好"不是加分项,是一票否决项:字号、按钮、交互,全部按老人标准来; 功能怎么分优先级?——全写出来,然后标 P0 到 P9。家庭账本是 P1,回忆录采访机是 P7,语音遥控扔进二期愿望单; AI 干活要守什么规矩?——先出结构和数据库设计,等我确认再写代码;每完成一个模块必须保持整个系统能跑;数据全存本地,不上传。
写完这份文档,前后大概一个多小时。然后我把它丢给了 AI。
效果是立竿见影的:AI 没有再自作主张,因为它没有自作主张的空间——要什么、不要什么、按什么顺序做、做完怎么验收,文档里全写着。而且这份文档还有个副作用:哪天我搁置了,过俩月回来捡起它,花五分钟重读一遍,上下文全回来了。
搁置项目的死因复盘清楚了:不是死于拖延,是死于"每次重启都要从记忆的灰烬里扒拉当初想干嘛"。

那 spec 从哪来?——让 AI 拷问你
写到这里你可能会说:道理我都懂,但我就是写不出清晰的需求,我脑子里就是一团浆糊,怎么办?
这也有对应的玩法。GitHub 上有个很火的项目叫 grill-me,装到 AI 编程工具里之后,AI 会变成一个无情拷问官:你说个想法,它就分轮次对你连环发问,每个问题带编号、带它的推荐答案,你回答一批它追问一批,直到把所有隐含的假设全部逼到台面上。
我自己试过。它的设计里有一条特别狠的规矩:查证事实是它的工作,不是你的——需要查资料的地方它自己派工具去查,不把查询成本转嫁给你;而所有决策,都摆到你面前等你拍板。
拷问到什么时候结束?它内部有个概念叫"边界":当所有问题都被回答、没有任何东西还藏在你的直觉里没被说出来,访谈才结束。这时候你会得到一份东西——一份没有废话的、你自己确认过的需求规格。
从漫天想法到一页纸 spec,中间的脏活全让 AI 干了,你只负责拍板。
所以我现在的完整流程长这样
模糊想法 ↓ 让 AI 拷问我(grill-me)一页纸需求规格(spec) ↓ 把 spec 交给 AI 实现能跑的代码 ↓ 不满意?改 spec,重新生成——而不是去改代码代码从头到尾我一行没写,但每个功能都是我要的。这就是我说的"代码是 AI 写的,文档得是我写的"。
给同样"想法多、懒得动"的兄弟
我知道你看这篇文章的状态:可能也是躺床上刷到它的,脑子里也存着三五个没开工的想法。
不用自责,也不用逼自己"从此自律"。就改一个习惯:
下次有个想法冒出来,别急着让 AI 写代码。先让 AI 拷问你半小时,把回答整理成一页文档。
这半小时过去,你手里会多一份随时能开工、搁置了也能随时捡起来的东西。项目能不能成不知道,但至少——它不会再死在"我都忘了当初想干嘛"上了。
(完)
文中提到的工具:Claude Code / ZCode(AI 编程)、grill-me(开源拷问技能,GitHub 搜 mattpocock/skills)。本文由人类构思,AI 辅助成文——你看,配合得还行。