Think Deep,Work Lean

用AI改代码别挤牙膏:需求一次说清,实测省54%开销

Posted on By zack

大家好,我是Zack。

先说个场景:你用 AI 改代码,心里想着「token 是按量烧钱」,所以问得特别省——第一句只说「给列表加个搜索框」,出问题了再补一句,规则想到了再补一句。

我以前也这么干,总觉得话越少越省钱。这次我拿一个小项目做了组对照实验,专门算这笔账,结果跟我想的完全相反:省着问的那组,反而多花了一倍钱。

先交代实验怎么做的

项目很小:一个书签页面,index.html 加 app.js,6 条书签数据,AI 的任务是给它加搜索功能。

两组跑,同一个项目起点,掐表记钱(claude 命令行加 –output-format json 能打出每轮的真实花费,下面所有数字都是它报的,不是我估的):

A 组,模拟挤牙膏,分 3 轮:

第 1 轮:「给书签列表加个搜索框」 第 2 轮:「搜索框没反应,点了没效果」 第 3 轮:「搜索时大小写不敏感,输入空格分隔的多个词,全部命中才算匹配。还有输入的时候列表要实时过滤」

B 组,一次说清,只发 1 轮需求 + 1 轮验收:

完整需求一段话,4 条要求全在里面,提示词原样贴给你,可以直接抄:

给 index.html 的书签列表加搜索功能,要求一次做全:
1) index.html 顶部加一个 input 搜索框,id=searchBox,placeholder 写 搜索书签;
2) app.js 里实现过滤:输入任何内容都实时过滤列表(input 事件),
   匹配规则:大小写不敏感,支持空格分隔多个关键词,
   一个书签的标题+标签里全部关键词都命中才算匹配;
3) 没有任何匹配时列表区显示一行字 没有匹配的书签;
4) 不要改其他样式和结构。
改完自己开 python3 -m http.server 检查一遍再收工。

最后一句「自己检查一遍再收工」是验收轮,让它自己对着要求过一遍。

A 组的钱是怎么烧掉的

第 1 轮 $0.42,85 秒。AI 确实加了搜索框——但只加了框,没绑输入事件。框是个死框,敲键盘列表纹丝不动。

这就是挤牙膏的第一个代价:你没说的,它靠猜。它猜你只要个框,没猜到你要能过滤。

第 2 轮就是还账:「搜索框没反应」。AI 得把项目文件重新读一遍找原因,读了 7 万 input token(大白话:它把项目内容嚼了一遍才定位到问题),改完收工。这一轮 $0.52,163 秒——三轮里最贵最慢的一轮,花在修自己上一轮的猜错上。

第 3 轮补规则,$0.42,61 秒。

A 组总账:3 轮,$1.36,约 5 分 10 秒。其中第 2 轮 $0.52 是纯返工,占总账 38%。

还有个不容易发现的坑:挤到最后,A 组的成品依然缺功能——我全程没提「搜索不到要显示提示」,所以它没有。你边看边想需求,想到哪补到哪,没想到的就永远没有。

B 组一轮说完是什么结果

第 1 轮 $0.37,101 秒,4 条要求全做完。搜索框有 id、input 事件绑了、大小写不敏感、多关键词全命中才显示、空结果有提示行,全对。

第 2 轮验收,让它自己对着要求清单核一遍:$0.25,58 秒,没查出问题。

B 组总账:2 轮,$0.62,约 2 分 40 秒。

前后对比,算笔账

  A 组(挤牙膏) B 组(一次说清)
轮数 3 2
总花费 $1.36 $0.62
总耗时 约 5 分 10 秒 约 2 分 40 秒
纯返工 $0.52(占 38%) $0
功能面 缺空结果提示 4/4 全有

差额 $0.74,省了 54%,时间省了一半。

为什么说得越省反而花得越多?三个原因叠出来的:

一,返工轮最贵。AI 修「没反应」这种问题时要把项目重读一遍,第 2 轮读进去 7 万 token,比你多说十个字贵出几百倍。

二,猜错的方向不止费钱。A 组第 1 轮要真拿去用,一点击就露馅,你还得回头找它。

三,功能面残缺是隐形的。返工的钱你看得到账单,缺的功能你当时看不到——等哪天用户搜索扑了个空,代价在别处结账。

这招怎么搬到你自己活里

两句话,都能直接用:

一,需求发出去之前,自己先过一遍:「它拿到这段话,还会问什么?」会问的全提前写进去。判断标准很简单——你写完的需求里没有一句「等等,还有」。

二,账别按 token 算,按轮算。包月订阅看不到单轮价钱,但轮数是看得见的:一轮能说清的事拆三轮,你多掏的不只是钱,还有来回盯着的十分钟。

诚实说两句局限:这是单项目单任务的一次实测,省 54% 这个数不保证每次都这样——需求越复杂、返工越多的场景,省得只会更多;反过来如果你原本一句话就能说清,那也没必要硬凑四条。另外 $0.42 一轮的绝对值跟你用的模型、订阅方式有关,别拿我的账单对号入座,看比例就行。

补充一句为什么这次盯上了这个话题:前几天 OpenAI 把包月转按量的新闻出来后(Uber 据说 4 月就烧完了全年 AI 预算),「省着用 AI」的声音又多了起来。方向没错,但省的对象别搞错——该省的是返工轮,不是你需求里的字。

你有没有过「一句话需求,AI 给你个半成品,再花三轮往回找」的经历?评论区聊聊你的问法,我看看还有没有更省的套路。