上个月我干了件很豪迈的事:跟 AI 说,「看看最近 30 天的改动有没有 bug」。
一句话,十四个字。它派了四个 agent 进仓库,拉 diff、读文件、交叉验证,干得热火朝天。我去倒了杯水,回来一看用量------半天的额度没了。
后来做一个 97 集的短片项目,直接撞限额,停工等恢复。那天我盯着用量页面想明白一件事:
token 不是按你要的答案收费,是按它路上看过的所有东西收费。
你以为在为结果付钱,其实在为它的视野付钱。
跟坐出租车一个道理。你说「师傅,随便开,看到有意思的地方停」------计价器可不管你最后有没有看到有意思的地方。
这篇就把我烧过的钱摊开来。你看看中了几条。
第一名:开放式考古------「看看最近 30 天有没有 bug」
这句话为什么贵?拆开看。
30 天的 diff,几万行。AI 光看 diff 不够,每处改动还得读周围代码才知道对不对------一行 diff 背后是几十行上下文。找到一个疑点,再翻几个文件去验证。这是乘法,不是加法。
更要命的是,「有没有 bug」没有完成标准。它看完了也不知道自己看完没有,只能一直看。你花的不是「找 bug 的钱」,是「证明没有 bug 的钱」------后者理论上无限。
省法: 把开放题改成封闭题。
「最近 30 天有没有 bug」→「resident 模块最近的改动里,有没有空指针、竞态、越权这三类问题」。
范围砍掉九成,判据给死,钱就有底。
第二名:「跑起来测测有没有问题」
听起来朴素,实际是全家桶消费。
启动项目:编译输出全进上下文。打开页面:截一张图一千多 token------看图按像素计费,点一个按钮截一张,测完一个流程,图比字贵。出了错:改一行,重新编译,整版报错再灌一遍。
我们前端仓库全量 type-check 有四百多个存量报错,跑一次要 16G 堆内存。AI 每验证一次就全量跑一遍------四百多个错误原文进上下文,跟这次改动一根毛关系都没有,但字字计费。
省法: 只查改动文件(scoped 检查);能读文本就别截图;报错先 grep 出跟本次相关的再喂进去。
第三名:裸看日志和大文件
「帮我看看这个日志有什么异常」,然后 cat 一个几万行的 log 甩过去。
日志这种东西,99% 的行都长一样。AI 把这 99% 逐字读一遍,才能找到那 1%。这活儿本该 grep 干------grep 不要钱,AI 要钱。
凡是能用一条命令先筛一遍的,都不该让 AI 用眼睛筛。让它直接读原始日志,相当于请了个按小时收费的专家,让他帮你数大米。
第四名:多 agent 并行,一份介绍费付十遍
派多个 agent 很爽,但账要算清:每个 agent 都是一份独立上下文。仓库结构、任务背景,每个都要从头理解一遍。派十个 agent,同一份「介绍费」付十遍。
我在短片项目上交过双份学费:派了十个绘图 agent,每个都让它自查质量,十个全报「没问题」。后来单独派个 QA agent 复查,抓出 22 张要重画。第一轮自查的钱全白花------产出方自查自话,等于没查。
不是说别用多 agent。是说:任务书要自包含、要窄,别让它自己去仓库里「熟悉一下情况」;验收要独立派人,别让干活的人假装验收------那是花两份钱买一份安慰。
第五名:一个会话干八件事
修完 bug 顺手问个新需求,聊完需求顺手排查个告警------会话越长,每一轮都拖着前面全部历史一起计费。前面那八件事跟你现在这件事半点关系没有,但轮轮跟着交钱。
我们有个告警机器人,早期 2062 条告警共用一个会话,越跑越贵还越跑越笨------旧告警的上下文把新告警的判断都带偏了。后来改成一条告警一个会话,钱和准确率同时好转。
标准很土:换话题就换会话。
舍不得那点历史的,最后都在为历史付利息。
说到底
排完这五名,有一件反直觉的事:
最烧钱的从来不是难任务,是模糊任务。
难任务贵得明明白白,你知道它为什么贵。模糊任务贵得没有底------因为「看多少算够」这个决定你没做,它就只能用你的钱去试。
所以我现在交任务前先问自己两个问题:
- 它得看多少东西才能回答?
- 看到什么算干完?
两个都答不上来的任务,就是碎钞机。答不上来不是不能交------是先花两分钟,把它改成答得上来的样子,再交。
我也不敢说自己现在多克制。上周还手一滑让它「顺便把整个测试套件跑一下」,看着满屏测试输出滚进上下文,像看着计价器在高架上跳字。但有一条我越来越确信:
AI 时代,会省钱和会提问是同一个能力------你能把问题说多清楚,账单就有多薄。