很多人第一次接小模型,都是被「便宜」两个字吸引过来的:做分类、做抽取、做批量摘要,觉得单价低就随便跑。结果月底一看账单,跟预期差了一大截——不是单价变了,是输入输出比例、重试次数、上下文长度这些没算进去。这篇只讲轻量模型这一档怎么看价格、怎么估、怎么在不牺牲效果的前提下把用量压下来,具体数字一律到站内对应页面核。
很多人第一次接小模型,都是被「便宜」两个字吸引过来的:做分类、做抽取、做批量摘要,觉得单价低就随便跑。结果月底一看账单,跟预期差了一大截——不是单价变了,是输入输出比例、重试次数、上下文长度这些没算进去。这篇只讲轻量模型这一档怎么看价格、怎么估、怎么在不牺牲效果的前提下把用量压下来,具体数字一律到站内对应页面核。
先把心态摆正:小模型不是「按比例缩小的旗舰模型」,它的成本结构有自己的一套脾气。输出占比、缓存命中率、批处理通道这几项在旗舰模型上你可能不太在意,放到轻量任务里反而变成大头。下面按「钱花在哪、怎么估、哪里漏、怎么核、什么时候别省」五步走一遍。
小模型这一档,钱到底花在哪几项
- 输入 token
- 你发过去的提示词、上下文、待处理文本,按量计费
- 输出 token
- 模型生成的内容,单价通常高于输入,是最容易被低估的一项
- 缓存写入
- 把长提示词或固定前缀缓存下来时产生的一次性开销
- 缓存读取
- 后续请求命中缓存时按更低的档位计费,命中率直接决定这块省不省
别只盯着「输入便宜」这一个印象。轻量任务里输出往往很短但要反复调,输出单价更高、次数一多就反超输入。再看缓存:如果系统提示词固定、上下文可复用,缓存命中率高的时候整体成本会往下走;反过来每轮都重新拼接新内容,缓存基本没用上。这条通道的官方口径到 /official-api/providers/anthropic 核对,站内会同步当时的计费项和通道差异。
还有一个容易忽略的点:同一份活换成小模型,单价降了,但调用次数往往上升——多次重试、多轮追问、拆成两个请求做。所以核算单位应该是「每次任务总 token」而不是「单次请求 token」。小团队做分类任务时,常见情况是一次请求不够要靠二次确认,这一来一回用量几乎翻倍。
从任务量倒推花费:三步估算法
- 抽样量一次真实请求固定一个任务样本,把一个典型请求的输入字符数和输出字符数分别记下来,再换算成 token。别拍脑袋估,直接跑一条真实请求看日志或响应里的用量字段。
- 乘上三个系数重试系数、上下文累积系数、失败兜底系数。轻量任务的真实用量通常比裸算高出一截,重试和上下文累积是最常被漏掉的两块,系数取值按你自己的日志回看定,不要抄别人的。
- 代入单价算单次任务成本到 /tools/model-cost-calculator 或 /tools/token-price-calculator 代入当时的单价,得出单次任务成本,再乘以预估调用量。单价以页面当时的数字为准,别用记忆里的旧数。
估完之后留一道缓冲再写进预算表,缓冲倍数按你对自己链路稳定性的判断来定,链路越不稳、重试越多的,缓冲就要留得越宽。这份估算不适用于刚上线、调用模式还没稳定的阶段,那时候先按观察到的真实用量滚动修正,别急着定死数字。
轻量场景最容易漏钱的几个地方
- 把整个文档塞进每一次请求,而不是先切分或先摘要,长提示会让成本成倍增长
- 系统提示词写得太长、每轮都重复发送,这部分是纯输入开销,且很难被察觉
- 失败重试没有上限,网络抖动或限速时反复重发,成本直接按倍数涨
- 并发打得过高触发限速,反而拉长整体时间并增加重试,到 /tools/speed-test 先摸清自己的延迟与限速基线
这四条里,前两条是「设计问题」,后两条是「运行问题」。设计问题靠改提示词结构和任务拆分解决,运行问题靠限流、退避重试和重试上限解决。很多人只优化前两条,结果被后两条吃掉收益。建议先把重试策略写清楚:什么错误重试、重试几次、每次间隔多少,超过上限就走兜底逻辑而不是继续硬打。
另外注意批处理链路。批量任务和实时请求的计费口径不一样,如果你把本该批量的活放在实时通道跑,单价和限速都会吃亏。先确认自己走的是哪条通道,再谈优化。用哪条通道、当时的差异怎么写,到 /official-api/providers/anthropic 看官方口径。
上线前后各做一次核对
| 阶段 | 记什么 | 看什么 | 动作 |
|---|---|---|---|
| 上线前 | 单次任务成本、预估调用量、缓冲倍数 | 预算表与告警阈值 | 写进预算表并设告警 |
| 上线中 | 请求量、输入 token、输出 token 分开记 | 总额之外的归因 | 出问题能定位到是哪一项 |
| 上线后 | 真实用量 vs 预估用量 | 偏差是否超阈值 | 超了就回头调提示词或拆任务 |
上线前那一步,把「单次任务成本 × 预估调用量 × 缓冲倍数」算出来写进预算表,并设一个告警阈值,别等账单出来才知道超了。上线中,请求量、输入 token、输出 token 一定要分开记,只记总额的话,出了问题你连是输入涨了还是重试多了都说不清。
上线后每周抽一天做对比,真实用量和预估偏差超过阈值,就回头调提示词或任务拆分方式。站内 /usage 可以看同类模型的真实用量水平做参照,自己的数据和参考值差得离谱时优先怀疑埋点或统计口径,而不是先改模型。这套核对流程对调用量很小的项目意义有限,量小的时候盯紧流程优化比盯单价更划算。
什么时候别盯着这一档省钱
- 任务需要长链条推理或高准确率时,小模型返工率高,省下的单价可能被重试吃掉
- 需要多模态输入或超长上下文时,这一档未必支持,硬用会绕出额外的拼接成本
- 如果调用量本身很小,优化单价的收益远低于优化流程,优先级应该放在别处
- 任务失败代价高(比如直接面向用户输出)时,稳定性比单价重要,别为了省单价牺牲可用性
判断标准很简单:把「重试后的真实单次任务成本」和「换成更强模型的单次成本」放在一起比。前者如果因为返工而接近甚至超过后者,那就说明这一档不适合这个任务,别硬省。这个判断不适用于纯离线、可容忍返工的批量任务,那种场景下重试成本本来就是预算的一部分。
价格本身也在动,别拿记忆里的数字做决策。要比较不同档位和不同通道的当时价格,到 /price-watch 看追踪记录,或者到 /rankings 看同类模型的横向对照,具体数字一律以页面当时显示的为准。
下一步想按你自己的任务量算一遍单次成本,直接打开站内工具代入当时的单价试算;顺便到 /official-api/providers/anthropic 确认计费项和通道口径,免得算出来的数用错了档位。→常见问题
Claude 4.5 Haiku 一定比大模型便宜吗?
单看单价这一档通常更低,但便宜与否要看整条任务链路。如果你的任务在小模型上要重试两三次才过,或者需要拆成多轮调用,实际总花费可能不比一次大模型调用低。建议先跑一批真实样本,比较「完成任务的总成本」而不是「单次请求的单价」。
轻量调用场景怎么预估一个月要花多少?
先量一个典型请求的输入输出 token,乘上重试与上下文累积系数,得到单次任务成本;再用你预估的月调用量相乘,最后留出一定比例的缓冲。别用裸单价直接乘调用量,这一步是绝大多数预估失准的原因。具体当时单价到站内官方价格页核。
为什么我的账单比预估高很多?
常见原因有三类:一是提示词里带了大量重复的固定文本,每轮都在付输入费;二是失败重试没有上限,按倍数放大;三是缓存没命中却按正常输入计价。排查顺序是先把输入和输出分开看,再看重试次数,最后看缓存命中情况。