<!-- title: 输出token才是真黑洞：六招砍掉80%生成成本 -->
<!-- domain: cost-hacks -->

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 / 长文生成调用里，成本到底堆在哪：

```mermaid
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 计费。如果你只是要个分类、抽取、改写这种**不需要深思**的任务，用推理模型就是把钱往水里扔。

- **操作**：低难度的确定性任务（情感分类、字段抽取、JSON 结构化）一律切回非推理模型（GPT-4o-mini、Haiku、GLM-Flash），关掉 thinking。
- **预期效果**：单次调用输出 token 从几千降到几十，成本可降一个数量级。
- **适用场景**：批量数据清洗、日志分类、表单抽取。

### 招 2：用 `max_tokens` 给输出上锁，别让模型自由发挥

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

- **操作**：根据任务给一个紧凑的 `max_tokens`。抽取类任务设 256 甚至 128，摘要设 512。够用即可。
- **预期效果**：堵住"啰嗦泄漏"，并避免预扣额度被占。
- **适用场景**：所有程序化调用，尤其是跑在循环里的批处理。

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

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

- **操作**：纯中文 / 中英混合的高输出场景，优先用 tokenizer 对中文优化过的国产模型（GLM、Qwen 系列对中文压缩率显著更高），绝对单价还低 1–2 个数量级。
- **预期效果**：同样一段中文，token 数直接砍半，单价再低一个数量级，综合成本可降到海外旗舰的 **1/20 以下**。
- **适用场景**：中文内容生成、中文 RAG、国内 To B 交付。

### 招 4：强制 JSON 输出，但别让模型"反复试"

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

- **操作**：用厂商原生的 strict JSON mode / structured output 功能（OpenAI、Anthropic、GLM 都有），让模型在**一次生成内**就产出合规结构，而不是靠应用层重试。
- **预期效果**：消除重试带来的输出翻倍，结构化任务的成功率和成本同时改善。
- **适用场景**：函数调用、数据管线、Agent 工具参数。

### 招 5：两段式——便宜模型打草稿，旗舰模型只做精修

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

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

- **操作**：草稿用 GLM-Flash / 4o-mini，精修用 Sonnet / Opus。旗舰模型只输出 diff 或评分 + 修改建议。
- **预期效果**：旗舰模型的输出 token 降到原来的 1/5，整体成本通常能砍 60% 以上。
- **适用场景**：长文写作、代码重构、文档润色。

### 招 6：让输出"可复用"，别每次都从头生成

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

- **操作**：对高 QPS、低时效的查询（FAQ、产品参数、固定规则判定），把模型输出 hash 后存 Redis / SQLite，命中即返回。
- **预期效果**：热点 query 的输出成本直接归零。
- **适用场景**：客服 bot、知识库问答、规则判定。

## 四、信息差总结

| 你以为的 | 别人早知道的 |
|---------|------------|
| 省钱 = 压缩 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 步，中文场景的综合成本还能再下一个台阶。

## 参考来源

- OpenAI API 定价与 token 计费说明：https://platform.openai.com/docs/pricing
- Anthropic Claude 定价页（含 prompt caching 折扣）：https://www.anthropic.com/pricing
- OpenAI 推理模型 reasoning token 计费文档：https://platform.openai.com/docs/guides/reasoning
- OpenAI Tokenizer 在线工具（可测中英文 token 数）：https://platform.openai.com/tokenizer
- 各模型官方定价页（GLM / Qwen / DeepSeek），绝对单价请以官网实时为准：https://open.bigmodel.cn/pricing

---
> 本文由「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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
