乐于分享
好东西不私藏

AI助手一次烧掉1000万Token,追查到底,问题不在它太努力

AI助手一次烧掉1000万Token,追查到底,问题不在它太努力

一台AI助手,单次烧掉1000万 Token——足够一个普通项目用一个月。我为这个数字焦虑了一整天,追查到最后发现:冤枉它了。它没多干什么活,是结构在替它浪费。

开篇

上个月的一天早上,我打开成本面板,看到一个数字,愣了好几秒。
我的一套AI工作流,前一天单次消耗了1000万 Token。什么概念?用现在的量价,这差不多是我平时一个月的用量。第一反应是:难道半夜里的任务失控了?还是哪个流程死循环了?
我甚至已经盘算好怎么"管"它:降频、限次、砍掉不必要的过程。几乎所有"省钱"的直觉动作,都在等着我按下。
但我没有。因为吃过太多次"看着像那么回事"的亏,我决定先查,再动手。这一查,结论彻底反了过来——它几乎是无辜的,钱被一个我看不见的机制烧掉了。

论点一:先搞清楚"钱花在哪",再谈省,否则省不到点上

那天的第一直觉是"是不是活太多了"。可把日志一条条拉出来,工作量还没平时半天多。
真正的问题藏在一个词里:缓存断裂。
解释一下。现在的模型计费,有个很便宜的通道——如果你反复把同一段内容喂给它,第二次起这部分几乎免费;只有新内容、没命中"缓存"的部分,才按原价计费。便宜的通道和原价通道,单价能差上几十倍。
所以一个系统每秒钟真实花多少钱,不取决于它"干了多少活",而取决于它把多少本来可以重复用的内容,硬当成了新的重来一遍
那天的黑洞就在这里:我的助手每次完成一个读文件的小动作后,整个"对话缓存"就断一次,接下来一大段内容全部重新计费。它要反复读同一包上下文——七八次、十几次——每一次都按全价付。而这点,日志上根本看不出来。
我把单价拉出来算了一笔账,才看懂:1000万里有九成以上,花的不是模型思考的钱,是"旧内容重新送一遍"的钱。
可迁移原则:效率问题,先问钱花在哪一环,再谈优化。你天天抓的"少干点活",在真正的结构性问题面前,可能连零头都省不到。

论点二:系统性的浪费,靠"管"治不好,要靠"修"

搞清楚原因后,我的第一反应,是差点又退回到"管控"的老路。
很多人的解决方案是:那我手动控制它,让它少干点、干慢点。这就像写周报的助理,你嫌他周报不对劲,不查他是不是记错了事,只罚他"记得少写点"——没用的。
问题本质是结构:三处明显的"洞"。
第一处,是最贵的:我发现每天早上自动跑的一堆定时任务,每次运行都开了一个"全新会话"。全新会话 = 从零开始 = 一点缓存都接不上。几十个任务,每一个都在各自孤独地重复付全价。算下来,这一处就吞掉了一大半的冤枉钱。
第二处,是同一个系统的隐藏消耗:它的主模型每半小时"心跳"一次,检查有没有事要处理。每次心跳,都乖乖带上 3 万字的"工作手册"外加全部历史对话。等于一个员工,每半小时把《工作总纲》从头背到尾一遍——他只是想问一句"有事没"。
第三处,是最不起眼的:一些高频小动作(健康检查、状态同步)反复起新会话,明明只是例行巡检,却每次都把整段历史从头加载一遍。小事最隐蔽,攒起来却最吓人。
这几处都没法用"少干点"解决。它们属于工程结构:把缓存"断"的地方接上,把不用带的历史摘掉,允许轻量的任务走轻量的通道。而最妙的是,这套整改谁来做都划算——因为"缓存命中免费、未命中按全价"是全行业通用规则,磨平重复,就是往账本里捡钱。
一番修整之后,当天消耗直接回落到正常值十分之一的量级。
可迁移原则:若效率问题反复出现、持续烧钱,它多半不是态度问题,是结构问题。掐着行为省成本,治标;拧着结构省成本,才治本。

论点三:猜和算之间,隔着一次认真查账

这次经历,帮我重新定义了"猜"和"算"之间的距离。
最初我以为自己懂这个系统:用了两年,调过无数参数,多少次以为"成本我都心里有数"。可事实是——当它单日烧掉1000万我都没察觉的时候,唯一的理由就是:我从来没有真正把它一页一页翻过账。
当我把单价拆开看,发现很多环节的浪费,靠"经验直觉"完全看不见。可这一次,我悟到了一个比任何技巧都值钱的排查顺序:
一、先读懂账本:先查清楚真实单价是多少——哪些环节本来就该便宜,哪些一直在按全价付。
二、用数据裁决假设:不要拿"想到的解释"糊弄自己——把半夜冒出的三种猜想一条条列出来,再用后面的日志逐条核实。最后能成立的,只剩下"缓存断裂"这一个。
三、修之前,先让第三方过一遍审计:我把自己顺理成章的"修复方案"交给另一位独立的技术专家复查,结果真有少了一处在原方案里完全看不到的问题。交叉审计,省下的远比预想多。
可迁移原则:所谓专业,就是把自己不确定的东西,先老老实实测一遍。反过来,所谓不专业,就是越不确定,越爱凭感觉下结论。

收尾

看尽繁华,懂得节制。
AI 时代最容易被误读的事,就是"高效"。人们以为高效等于运转得快,其实真正贵的从来不是"跑得快",而是"把同一件事无谓地重复"。
那天我明白了:一个系统贵不贵,往往不是它聪明与否,而是它有没有把旧的流程一次次重复跑。人也是一样——困在旧模式里,反复坐回同一条老路,付的永远是全价。
与其跟"效率"死磕,不如换个思路:把结构拧顺,把重复磨平,把时间留给真正新的东西。
我给自己的系统下了个不是"少干活"的规矩,而是——每次释放 Token 之前,先问一句:这一笔,是真的算在我手里的,还是又付了一次"旧内容重送费"。