如果让你猜一笔 AI 账单里最烧钱的部分,十个人有九个会盯着输入 token——于是全网都在教你做 prompt caching、压 prompt、换 tokenizer、批处理、上小模型路由。这些都是对的,但它们全都在砍入口。
问题在于:出口的价格是入口的 3 到 5 倍,而几乎没人优化它。
以 Anthropic 2026 年 7 月官方定价为例:Claude Opus 输入 $15 / 百万 token,输出 $75 / 百万 token——5 倍。GPT-4o 是 4 倍,Sonnet 是 5 倍,Haiku 是 5 倍。换句话说,模型每多吐一个字给你,烧掉的钱是它读一个字的四到五倍。可你打开任何一份"省钱清单",讲的全是怎么少喂它。
这就是本轮要拆的信息差:输出端有三笔隐形税——废话税、重试税、无缓存税——99% 的人一笔都没拦。下面把三笔税算给你看,再给三招直接砍掉。
很多人有个错觉:既然 prompt caching 能把输入砍到 0.1 倍(Anthropic 缓存命中只收基准输入价的 10%),那我的账单不就下来了?
错。缓存只摊薄输入端,输出端是纯线性叠加的。
看这张图就懂了——左边输入端可以被缓存一层层摊平,右边输出端每一轮都是全新生成、全新计价,没有任何缓存能救你:
graph LR
subgraph IN["输入端:有缓存可摊薄"]
I1["第1轮输入<br/>全价 1x"] --> I2["第2轮重复输入<br/>缓存命中 0.1x"]
I2 --> I3["第3轮重复输入<br/>缓存命中 0.1x"]
end
subgraph OUT["输出端:无缓存 纯线性叠加"]
O1["第1轮输出<br/>全价 5x"] --> O2["第2轮新输出<br/>全价 5x"]
O2 --> O3["第3轮新输出<br/>全价 5x"]
end
I3 -. 缓存帮不到输出 .-> O3
style OUT fill:#fff0f0,stroke:#cc3333
style IN fill:#f0fff0,stroke:#33aa33
真实场景里这有多贵?一个多轮 agent,假设每轮平均输出 800 token。在 Sonnet($15/M 输出)上跑 10 轮,光输出就是 10 × 800 × $15/1M = $0.12,看着不多——但放大到一天 100 万次调用,就是 $12 万/天的纯输出成本,而其中相当一部分是废话、重试、重复重述。这三笔钱,没有任何 caching 能帮你省。
下面三招,专门砍这三笔。
几乎所有大模型出厂都被微调成"礼貌、详尽、爱解释"。你问一个 Yes/No,它给你三段铺垫加一句总结。它每多写一个字,你按 5 倍价付费。
假设一个分类任务,理想输出是 {"label":"positive"}(约 6 token),但默认模型给你:
"根据您提供的文本内容,经过仔细分析情感倾向,可以判定该评论的整体情感为积极正面……" + JSON(约 150 token)。
25 倍的输出差距,按 5 倍单价算,等价于 125 倍的输入成本被白白烧掉。在 GPT-4o-mini 上这点钱不算什么,但同样逻辑搬到 GPT-4o / Sonnet / Opus 上,规模一上来就是真金白银。
max_tokens:每次调用都设。分类任务设 max_tokens=50,摘要设 300。这是物理上限,模型再啰嗦也烧不到上限之外。"只输出 JSON,不要解释,不要前后缀,不要 markdown 代码块。"——这三个"不要"能直接砍掉 30–50% 的废话 token。"不要说'好的'、'当然'、'让我来'。" 这类开场白在中文任务里特别费钱,且经常是无效输出。"用逗号分隔,不要换行,不要标题。"笔者实测一个文档抽取 pipeline,仅靠"设 max_tokens + 禁寒暄 + 强制纯 JSON"三件套,输出 token 平均下降 40–55%。按输出占大头算,整张账单直接掉两成以上。
这一笔是最隐蔽、也最冤的输出税,因为它花的是"完全不该花"的钱。
你让模型吐 JSON,然后代码里 json.loads()。结果模型偶尔漏个引号、多段 markdown、或者编了个字段名,解析抛异常,你怎么办?最常见的偷懒做法:catch 异常,把同一个 prompt 再发一遍,最多重试 3 次。
每一次重试,你都在为一次完整输入 + 一次完整输出二次买单。而输出是 5 倍价。
flowchart TD
R0["请求"] --> R1{"json.loads<br/>校验"}
R1 -->|解析失败| R2["重试 第2次<br/>付费:输入+输出"]
R2 --> R3{"校验"}
R3 -->|又失败| R4["重试 第3次<br/>再付:输入+输出"]
R4 --> R5["成功"]
R5 --> R6["实际付费 = 3×输入 + 3×输出<br/>输出按 5x 计费是大头"]
R1 -->|原生 Structured Outputs| R7["强制贴合 JSON Schema<br/>一次成功"]
R7 --> R8["付费 = 1×输入 + 1×输出<br/>零重试"]
style R6 fill:#ffd0d0,stroke:#cc3333
style R8 fill:#d0ffd0,stroke:#33aa33
算笔账:假设某接口 5% 的请求会格式失败、平均重试到第 2.5 次才成功。这意味着那 5% 的流量实际消耗了 12.5% 的输出 token。如果你的接口里有 10% 是 JSON 任务,整体输出账单里有 1.25% 是纯重试税——更恶心的是,它带来的是零业务价值,纯粹在为模型的格式不稳定买单。
response_format + json_schema(Structured Outputs 模式,非旧的 json_object)。它在解码层强制输出贴合 schema,理论上不会格式失败。文档:platform.openai.com/docs/guides/structured-outputs。docs.anthropic.com/en/docs/build-with-claude/tool-use。repair,而不是把整段 prompt 原样重发。gpt-4o-mini / Haiku 做格式化和校验。格式化是简单活,用 5 倍价的 Opus 做就是浪费。切到原生 Structured Outputs 后,JSON 任务的重试率从 5–15% 降到接近 0。对于结构化抽取为主的产品,这是直接砍掉一整块输出税,且顺带提升了稳定性——这是个少见的"省钱的同时还变好用"的操作。
这是三招里最反直觉的一笔。
prompt caching 厉害吧?可它只缓存输入。模型生成的每一次输出,都是全新算的、全新计费的,输出端没有任何官方缓存机制。
于是有个反常识的结论:你做的"多轮重述"——让模型每一轮把前面的结论复述一遍——是在用 5 倍价的输出 token,去重复生产你已经有的内容。 这在 agent 链路里极其常见:A agent 产出的结论,B agent 又"总结"一遍,C agent 再"确认"一遍,每一遍都是新输出、新计费。
(输入hash → 结构化结果) 存进 Redis。命中即返回,零模型调用。对相近查询,上语义缓存(把 query 向量化,相似度 >0.95 直接复用上次输出)。| 做法 | 信息流 | 走的计价端 | 相对成本 |
|---|---|---|---|
| Agent B 复述 Agent A 结论 | 输出→输出 | 全部走输出 5x | 1.0 |
| 把 A 结论拼进 B 的 prompt | 输出→输入 | A 走输出,B 端命中缓存 0.1x | ~0.3 |
同样一条信息,换一个流向,成本差 3 倍以上。
| 维度 | 大多数人在做的(被收割) | 没人在做的(信息差) |
|---|---|---|
| 优化重点 | 死磕输入:caching、tokenizer、批处理 | 同等重视输出端(贵 3–5 倍) |
| 默认输出 | 接受模型啰嗦,让它自由发挥 | max_tokens 硬顶 + 禁寒暄 + 强制纯格式 |
| JSON 任务 | 正则解析、失败重试 N 次 | 原生 Structured Outputs / Tool Use,零重试 |
| agent 链路 | 每个节点重新"总结"上文 | 结论走输入端引用,复用缓存 0.1x |
| 多轮历史 | 全量塞回让模型"回顾" | 摘要 + ID 引用,只产增量 |
| 缓存认知 | 以为 caching 能省一切 | 知道缓存只摊输入,输出靠结果缓存 |
max_tokens:全仓库 grep 一次 API 调用,没设上限的全部补上,按任务类型给合理值。json_schema 模式,Claude 上 Tool Use。先在一个高频接口上跑 A/B,看重试率变化。一个经验阈值:纯聊天/创意类产品,输出税占比约 40–50%;结构化抽取、agent 自动化、文档处理类产品,输出税能占到 70% 以上——这类产品的成本优化战场,根本不在输入端。
本文由「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 等场景全覆盖。
