首页 › cost-hacks › 输出token才是真黑洞:六招砍掉80%生成成本

90%的开发者盯着输入 token 省,却把账单真正的大头放过了。这是一条被严重低估的成本信息差:几乎所有海外旗舰模型,输出 token 的单价是输入的 4 到 5 倍,而你的钱恰恰是花在输出上的——因为你喂进去的 prompt 再长,也是一次性的;模型吐出来的内容,尤其是带推理的长输出,才是按字烧钱的主战场。这篇文章拆解「输出 token 税」的六个隐藏切口,每个都能立刻套到你的 API 调用上。

一、核心信息差:你以为的账单 vs 真实的账单

先看一张让人皱眉的倍率表。下面是截至发文各主流模型输入/输出的结构性倍率(绝对单价请以官网实时为准,但倍率本身长期稳定):

模型 输入单价(相对) 输出单价(相对) 输出/输入倍率
Claude Opus 4 15 75 5.0x
Claude Sonnet 4 3 15 5.0x
Claude Haiku 0.8 4 5.0x
GPT-4o 2.5 10 4.0x
GPT-4o-mini 0.15 0.6 4.0x
Gemini 1.5 Pro 1.25 5 4.0x
o1 / o3(推理模型) 高 更高,且 reasoning token 单独计入输出 更狠

注意最后一行——推理模型(o 系列)的"思考过程"是计入输出 token、要你付费、但你看不到的。一个看似只返回 200 字答案的调用,背后可能烧掉了 3000 个 reasoning token,账单按 3200 个输出 token 算。

下面这张图说明了一个典型 RAG / 长文生成调用里,成本到底堆在哪:

pie showData
    title 一次"长答案"调用的真实成本构成(示例)
    "输入 prompt(系统词+检索片段)" : 18
    "输出正文(你看到的答案)" : 32
    "输出 reasoning(你看不到的思考)" : 45
    "结构化重试 / 冗余" : 5

看到了吗?你"看得到"的答案只占三成,看不见的思考 token 占了将近一半。这就是输出 token 税的本质。

二、为什么输出端才是黑洞:双重放大

很多人省钱的第一反应是"压缩 prompt""上缓存"。这些当然有用(而且 prompt caching 能把重复输入打到 1 折),但它们只动了账单的输入侧。真正的问题在输出侧,它被两件事放大:

放大器 1:单价本来就贵 4–5 倍。 同样 1000 个 token,输出花的钱是输入的 5 倍。

放大器 2:输出往往比输入还长。 翻译、长文生成、代码生成、Agent 的多轮工具调用,输出动辄是输入的好几倍。叠加单价倍率,成本是 5x × 长度倍,呈乘法关系。

一个极端例子:你给一段 500 token 的英文 prompt 让模型翻译成中文长文,输出 2000 token。算下来输入花 1 份钱,输出花 2000/500 × 5 = 20 份钱。你省 prompt 的 30% 是杯水车薪,省输出的 30% 才是真金白银。

三、六招砍掉输出端成本

招 1:掐住 reasoning 的钱包开关

推理模型(OpenAI o 系列、Claude 的 extended thinking、DeepSeek-R1)会把"思考"也按输出 token 计费。如果你只是要个分类、抽取、改写这种不需要深思的任务,用推理模型就是把钱往水里扔。

招 2:用 max_tokens 给输出上锁,别让模型自由发挥

很多人不设 max_tokens 或设得很大(如 4096),结果模型一旦"啰嗦"或陷入循环,就一路烧到上限。更隐蔽的是,部分预付费 / 额度池会按 max_output_tokens 预扣额度——你申请了 4096 的上限,它先按 4096 把额度扣掉,即使模型实际只生成了 300 token。

招 3:绕开中文 tokenizer 的"膨胀税"

这是中国用户尤其该知道的认知差。海外模型的 tokenizer(BPE / o200k_base)是为英语优化的,一个汉字常常被切成 2–3 个 token。而中文输出场景(中文摘要、中文客服、中文写作)会让输出 token 数虚高 1.5–2 倍——叠加 5x 的输出单价,等于在中文场景下被收了"双重税"。

招 4:强制 JSON 输出,但别让模型"反复试"

Structured Output(强制 JSON Schema)是个好东西,但它有隐藏成本:当模型生成了不合规的 JSON,很多封装层会自动重试整个调用,每次重试都是一次全新的满额输出。重试 3 次就是 3 倍输出成本。

招 5:两段式——便宜模型打草稿,旗舰模型只做精修

长输出任务(写文章、写代码)不必整段用旗舰模型生成。先让便宜模型(mini / flash)生成完整草稿,再让旗舰模型只对草稿做"精修/审查",旗舰模型的输出长度因此大幅缩短。

flowchart LR
    A[输入 prompt] --> B[便宜模型<br/>生成完整草稿]
    B --> C[旗舰模型<br/>仅精修/打分]
    C --> D[最终输出]
    B -. 80% 输出量 .-> Cost1[低成本]
    C -. 20% 输出量 .-> Cost2[高单价但量小]

招 6:让输出"可复用",别每次都从头生成

最容易忽视的一招:缓存输出。同一个问题/同一批数据,第一次跑出结果后落库,下次直接查表,根本不调用模型。Agent 的工具调用结果、固定知识库的问答,都适合做输出缓存(区别于 prompt caching 缓存的是输入)。

四、信息差总结

你以为的 别人早知道的
省钱 = 压缩 prompt、上缓存 输出单价是输入 4–5 倍,输出才是大头
推理模型更聪明,多用手不疼 reasoning token 计费且不可见,简单任务烧钱
中文用谁都一样 海外 tokenizer 把汉字切成 2–3 token,中文场景双重税
max_tokens 设大点保险 啰嗦泄漏 + 部分池按 max 预扣额度
结构化重试几次无所谓 每次重试都是满额输出,成本翻倍
每次调用都问模型 输出可缓存,热点 query 直接归零成本

五、行动指南(今晚就能做)

  1. 先算账:拉最近 7 天的 API 用量日志,把 input cost 和 output cost 分开统计。90% 的人第一次做这步会惊讶——output 占比远超想象。
  2. 关 reasoning:把所有非推理必需的调用(分类、抽取、改写)切到非推理模型或关掉 thinking。
  3. 设紧 max_tokens:给每个端点按业务设上限,批处理任务尤其要设。
  4. 中文场景换国产 tokenizer:高输出中文任务迁到 GLM / Qwen,对比 token 数和绝对单价。
  5. 接原生 structured output:去掉应用层重试。
  6. 上线输出缓存:FAQ 和知识库 query 先落库。

做完前 3 步,多数项目能立刻砍掉 40–60% 的输出端成本;做到第 4 步,中文场景的综合成本还能再下一个台阶。

参考来源


本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入