ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一个月写码烧了 20 亿 token:模型本身只花 68 美元,一夜「凭感觉写码」却花了 150 美元

一个月写码烧了 20 亿 token:模型本身只花 68 美元,一夜「凭感觉写码」却花了 150 美元 一、发生了什么9 月底开源 CMS Wagtail 核心团队的 Thibaud Colas 在官方博客发复盘整个 9 月团队所有编码只用开源小模型 GLM 5.3 Flash。结果全月消耗约 20 亿 token只有一半落在目标模型上——挑战形式上「失败」了作者自评「task failed successfully」。复盘登上 Hacker News 首页Simon Willison 也写了跟进来源Wagtail 官方博客、Simon Willison 博客、HN。二、技术拆解上半月所有工作都跑在 GLM 5.3 Flash 上核心代码、客户站点、UI 任务、文档、评测。100 万上下文加原生视觉输入接得住长任务和截图。这半月账单68 美元、约 4 度电、365 克碳排放Wagtail 官方博客口径未独立核验。模型本身作者的评价是「非常全面」。真正值得琢磨的是另外 10 亿 token 去了哪三条泄漏路径性质完全不同泄漏路径规模代价性质一夜「凭感觉写码」选错模型4.5 亿 token150 美元 5 度电治理失败服务商容量不足被迫换模型10 亿的一部分未披露供应链波动调研与跑基准剩余部分计划内开销必要成本第一条最扎心团队为一个 MCP 服务器原型开了整夜无人值守的会话结果挂在了同家族的「非 Flash 版」GLM 5.3 上——价格高一个量级一夜烧掉 150 美元是全月预算的 2.2 倍。作者自估1/5 成本就能拿到同样结果Wagtail 官方博客。第二条是开源模型的固有属性权重开放 ≠ 随取随用推理依赖第三方服务商。GLM 5.3 Flash 恰好卡在 Wagtail 任务「帕累托前沿」最前端用的人多、服务商容量不及大厂性能退化后临时切到 DeepSeek V4.1 Flash、Qwen 3.8 Flash。他们顺路跑的 14 模型基准也有价值DeepSeek V4.1 Flash 以 95% 准确率、每任务 0.09 美元排第一Wagtail 博客预览数据——这种「每任务成本」记法Holo4 那篇里 0.08 对 8 美元是同一套账。第三条被多数人忽略但恰恰最该学账本单位错了。全月能耗约 35 度是 10 度目标的 3.5 倍——这个缺口在 token 数里根本看不出来。三、我的判断这个案例的结论不是「开源小模型不行」——模型整个月表现都很好失败的是花钱的治理结构。它暴露了三件教程不常写的事。第一Agent 会话是预算破坏力最强的调用形态。传统 API 一次请求一次结算天然好控Agent 无人值守会话能连跑几小时中途还会换模型——选错的代价可能只是模型名里少写一个后缀。Simon Willison 的结论凡是 Agent 摸得到的计费服务默认就该有硬性预算上限来源Simon Willison 博客。第二单价便宜和总账便宜是两回事。之前写价格战那篇时说过看价格表不能只看单价那行。看用量也不能只看 token要把美元和电费记在旁边。便宜的单位乘上失控的用量等于什么都没省。第三开源模型的供应链比想象中长一层。选型公式里除了能力、价格还得写上「能稳定跑在几家服务商上、冗余够不够」。开源生态同档模型确实能互相顶上但「没想到要切换」本身就是治理缺口。四、对开发者的启示三件事本周就能做预算硬顶放底层给每个 Agent 会话、每把密钥设支出上限超限熔断而非告警RD 与生产分开立账。双账本并行token 和成本/能耗各记一本每周对一次。只用 token 衡量效率等于用码表衡量油耗。选错模型的兜底同家族不同档位的模型用配置隔离会话启动时打印当前模型与单价——一行日志省一夜账单。预算硬顶的最小实现先记账、再调用、超限即断importjson,os BUDGET_USD50.0# 单会话硬顶按上月账单 P95 设LEDGERsession_spend.jsonldefsession_spend()-float:ifnotos.path.exists(LEDGER):return0.0withopen(LEDGER,encodingutf-8)asf:returnsum(float(json.loads(line)[usd])forlineinfifline.strip())defguarded_call(prompt:str,model:str,est_tokens:int)-str:priceMODEL_PRICES[model]# 每 1M token 美元价estest_tokens*price/1_000_000ifsession_spend()estBUDGET_USD:raiseRuntimeError(f预算熔断:{session_spend():.2f}/{BUDGET_USD}USD)print(f[model{model}] price{price}USD/1M tok)respcall_provider(prompt,model)# 内部指向 https://api.example.com/v1withopen(LEDGER,a,encodingutf-8)asf:f.write(json.dumps({model:model,usd:resp.usage_cost},ensure_asciiFalse)\n)returnresp.text完整自查清单放在文末可以直接拿走周末对自己的 Agent 配置逐项过一遍。三问三答Qflash 档模型是什么定位参数小、吞吐高、单价低的模型家族GLM Flash、DeepSeek V4.1 Flash 这类。Wagtail 的结论扛得住 50% 以上的日常生产编码长链路调研再留给更大的模型。Q一个会话怎么可能烧掉 150 美元无人值守长会话、上下文越滚越大、挂在了贵数倍的模型上三个条件叠加。Q预算上限设多少合适取上月账单 P95 做单会话硬顶「生产 / RD」分开设月度总顶。附AI 支出预算自查清单直接拿走P0 · 熔断没有就是裸奔每个 Agent 会话有单次支出硬顶超限熔断而非告警每把服务商密钥有月度预算上限超限拒绝请求计费按「美元」记录不只用 token 数P1 · 记账看不见就管不住用量看板按「模型 × 项目 × 人」三个维度拆分无人值守会话的每步调用留痕事后可回放每周固定 15 分钟过一遍账单异常项P2 · 结构把人为失误变难模型档位写进配置并随会话打印不允许凭记忆手填模型名同家族不同档位的模型Flash / 非 Flash不允许出现在同一配置文件RD 实验与生产任务分开计费、分开设顶关键依赖模型准备至少一个同档备选切换脚本提前演练对照完 10 条至少把第 1、2 条补上——那是 150 美元买来的教训。结尾几句昨天写欧洲开源的 Kolibri时说78B 只激活 3.46B是在参数端做省法今天这篇是在用量端做省法。阶跃 Step 5 那篇的「激活参数定成本」两本账到这里进化成「模型 × 用量 × 治理」三本账三元压缩那篇也是同一方向。这个专栏每天一篇 AI 解读关注不迷路。你们团队的 Agent 会话现在有支出硬顶吗设的是告警还是熔断专注 AI 工程化实践与出海外贸技术
返回列表