AI 成本优化

Token 成本拆解、Prompt 优化、缓存策略、模型路由、Cascade 模式、自托管 vs API 成本分析,以及预算监控与告警

19 min read Part of AI Engineering · Ch. 3

AI 成本优化

flowchart LR
  A["AI 成本优化"]
  A --> B["分类:工程与生产"]
  A --> C["关键词:AI"]
  A --> D["关键词:成本"]
  A --> E["关键词:缓存"]
  A --> F["关键词:模型路由"]

AI 成本优化不是“把单价压低一点”,而是把整条链路里不必要的 token、错误的模型选择、低价值的生成、无效的重试和不可控的长尾请求,一层层拿掉。很多团队不是模型效果做不出来,而是账单先把产品打回了现实。


延伸阅读

  • OpenAI Pricing
  • Anthropic Claude Pricing / Prompt Caching / Batch Processing
  • Google Gemini API Pricing
  • vLLM Prefix Caching

这篇文章会讲什么

MVP 阶段你可能会觉得:

  • 一次调用也就几分钱
  • 用户量还不大,先把效果做出来
  • 等真的有量了再优化也不迟

但 AI 成本和很多传统 SaaS 成本有一个很不一样的地方:

它往往直接跟使用量、上下文长度、输出长度、模型等级和失败重试绑定。

这意味着,成本不是“规模起来以后基础设施自然会摊薄”的那类问题。很多时候恰恰相反:

  • 用得越多,账单越线性增长
  • 上下文越长,单次请求越贵
  • 输出越啰嗦,成本越高
  • 工具循环和失败重试会把隐性成本放大
  • 错误的模型路由,会把本来可以很便宜解决的问题,送进最贵的路径

这篇文章想建立的,不是“省钱技巧清单”,而是一套更接近真实工程的判断框架:

  • 成本到底由什么构成
  • 应该先优化哪里
  • 什么优化只是局部省钱,什么优化会伤害质量
  • 什么情况下该继续用 API,什么情况下才值得认真算自托管

如果前一篇《模型推理优化》关注的是“怎么跑得更快”,那么这一篇关注的就是:

怎么在不把质量打崩的前提下,把每个有效请求的成本降下来。


1. 先把问题说清:AI 成本不只是 token 单价

很多人第一次做成本估算,只会算:

输入 token × 输入单价 + 输出 token × 输出单价

这当然是起点,但在生产系统里,真实成本通常至少包括五层。

1.1 模型调用成本

这是最直观的一层,也通常是账单里最大头:

  • 输入 token
  • 输出 token
  • 缓存输入 token
  • Batch 调用折扣
  • 某些工具或附加能力的单独收费

以 2026 年 3 月公开价格为例,OpenAI 的 gpt-5.4 标准价是每百万输入 token 2.50 美元、缓存输入 0.25 美元、输出 15 美元;gpt-5.4-mini 是输入 0.75 美元、缓存输入 0.075 美元、输出 4.50 美元。OpenAI 还提供 Batch 价格,约为标准价的一半。(OpenAI开发者)

Anthropic 在 Claude Sonnet 4.6 页面上给出的起始价格是每百万输入 token 3 美元、输出 15 美元,并明确提到 prompt caching 最高可节省 90%,batch processing 可节省 50%。(Anthropic)

Google Gemini Developer API 的公开价格中,Gemini 2.5 Flash 标准价是每百万输入 token 0.30 美元、输出 2.50 美元;Batch 价是输入 0.15 美元、输出 1.25 美元。Gemini 2.5 Flash-Lite 则更低,标准价输入 0.10 美元、输出 0.40 美元,Batch 价输入 0.05 美元、输出 0.20 美元。(Google AI for Developers)

1.2 检索与上下文成本

很多团队只盯模型单价,却忽略了上下文本身就是成本变量:

  • RAG 召回太多,输入 token 直接上涨
  • 对话历史无限累积,后续每轮都更贵
  • 系统提示过长,所有请求都在重复付费
  • 工具返回太冗长,下一轮又把这些内容重新送进模型

所以成本问题往往不只是“模型贵”,而是系统让模型读了太多低价值文本

1.3 失败与重试成本

这是最容易被低估的一层。

一个请求失败,不一定只浪费一次调用费。真实系统里常见的放大器包括:

  • 结构化输出失败后重试
  • 工具调用失败后改写 prompt 再来一轮
  • 多模型 fallback
  • Agent 走了很多步才发现路径不对
  • 用户因为前端无响应而重复点击

这些成本在账单里未必单独列出来,但会真实吞掉毛利。

1.4 平台与运维成本

当你开始做缓存、路由、批处理、自托管,成本已经不止是模型账单,还包括:

  • GPU / CPU / 内存 / 存储
  • 推理服务运行时
  • 向量库和对象存储
  • 队列与异步执行器
  • 监控、告警、日志
  • 工程和运维人力

所以“自托管更便宜”只有在把这些都算进去以后才有意义。

1.5 质量回退成本

很多“节省成本”的方案,最后会以另一种方式把钱吐回去:

  • 小模型答不准,转人工率上升
  • 过度缓存,错误答案被大面积复用
  • prompt 压缩过头,结构化稳定性下降
  • 路由太激进,用户满意度下降导致业务损失

因此 AI 成本优化最难的地方,不是怎么便宜,而是:

怎么让“省下来的钱”不是靠透支质量换来的。


2. 成本拆解的基本公式

如果只保留最核心的表达,一个请求的直接成本大致可以拆成:

单次请求成本
= 输入 token 成本
+ 输出 token 成本
+ 工具 / 检索附加成本
+ 重试 / fallback 的额外成本
- 缓存命中节省
- batch 折扣节省

把它展开一点,更接近工程视角:

月成本
≈ Σ(各类请求量 × 平均单次有效成本)
+ 固定平台成本
+ 自托管硬件 / 运维成本(如有)

这里最重要的不是公式本身,而是两个判断:

2.1 成本不是平均值问题,而是分布问题

你真正该关心的通常不是“平均每次请求多少钱”,而是:

  • 最贵的 10% 请求为什么这么贵
  • 哪些租户 / 功能 / 工作流在吞账单
  • 输出 token 为什么会出现长尾
  • 哪些失败重试是可避免的
  • 哪些请求明明可以走便宜模型,却总被路由到贵模型

很多系统的优化空间,不在平均请求,而在少数高成本路径。

2.2 先拆成本归因,再谈优化

所以你至少应该按这些维度做归因:

  • 按模型
  • 按功能
  • 按租户 / 用户
  • 按请求类型
  • 按链路阶段:检索、生成、工具、重试、fallback
  • 按 prompt 版本和路由策略

没有归因,就没有真正的成本优化,只有模糊焦虑。


3. 第一优先级通常不是“换更便宜模型”,而是少用 token

这是 AI 成本优化里最朴素、也最常被忽略的一点。

一次调用里,最容易直接下降的不是单价,而是 token 数。 而 token 数里,最容易被浪费的是:

  • 重复指令
  • 冗余 few-shot
  • 不必要的长上下文
  • 低质量召回片段
  • 不受控的长输出
  • 被原样塞回上下文的工具结果

3.1 Prompt 优化首先是在删冗余,不是在堆技巧

先看定义:更短的 prompt,不只是更便宜,也往往更稳定。

常见可直接优化的地方:

  • 去掉重复约束
  • 把长段自然语言改成更紧凑的结构化指令
  • few-shot 不要“因为不放心就多放几个”
  • 相同规则不要在 system、developer、user 三层反复出现
  • 工具说明只给当前场景需要的部分
  • 不要把本可由代码保证的规则留给 prompt 解释

很多 prompt 越写越长,并不是因为问题真的更复杂,而是因为团队在不断叠补丁。久而久之,prompt 变成一段没人敢删、但每次都在付费的历史包袱。

3.2 动态上下文比“大而全上下文”更省钱,也往往更准

RAG 场景里,最浪费钱的做法之一是:

  • 用户一问问题
  • 系统召回 10 段甚至 20 段
  • 不重排、不裁剪,统统塞进去

这不仅贵,很多时候还更差。因为模型注意力也会被稀释。

更合理的做法通常是:

  • 先粗召回
  • 再重排
  • 只注入当前问题真正需要的上下文
  • 对长文档做摘要化或片段级提取
  • 把“引用素材”和“背景材料”区分开,不要全部平铺

成本优化和质量优化在这里往往并不矛盾: 上下文越相关,通常越便宜,也越有效。

3.3 控制输出长度,常常是最直接的成本杠杆

输出 token 在很多主流模型上明显贵于输入 token。OpenAI 当前公开价格里,gpt-5.4 标准输出价是输入价的 6 倍,gpt-5.4-mini 也是同样比例;Anthropic Claude Sonnet 4.6 的起始价格同样是输出高于输入。(OpenAI开发者)

这意味着,控制输出长度不仅能改善延迟,也会直接降成本。

可直接使用的做法包括:

  • 明确要求“只输出结论 / JSON / checklist”
  • 分离“内部长推理”和“对用户短展示”
  • 给不同任务设置不同 max output tokens
  • 把解释性大段文本改成可展开的二级内容
  • 不要默认让模型写“完整文章式回答”

很多系统的账单,不是被输入拖爆的,而是被“不必要的长输出”拖爆的。


4. 缓存:最容易带来立竿见影收益,但也最容易被用坏

先看定义:缓存的本质不是偷懒,而是承认很多请求并不值得重复花钱再算一遍。

4.1 精确缓存:最稳、最好用、最该先做

适合这些场景:

  • 重复问题
  • 模板化请求
  • 同一文档反复摘要
  • 固定输入的结构化抽取
  • 参数完全一致的后端工作流

优势很明确:

  • 实现简单
  • 风险可控
  • 命中即直接省钱
  • 对质量几乎没有负面影响

很多团队一听缓存就想到“语义缓存”,其实第一步通常应该是先把精确缓存做好。

4.2 语义缓存:更激进,也更需要护栏

语义缓存的思路是:

  • 问法不完全一致
  • 但意思足够接近
  • 可以复用已有回答或中间结果

它很有吸引力,尤其在 FAQ、客服、内部知识问答里。 但它也更容易出问题:

  • 表面相似,实际上权限不同
  • 表面相似,实际上时间要求不同
  • 表面相似,实际上用户上下文不同
  • 老答案命中到新问题,导致过时信息被复用

所以语义缓存最好不要裸用。更稳妥的设计通常是:

  • 只在低风险场景启用
  • 加上租户 / 权限 / 时间窗口 / 产品版本等过滤条件
  • 对命中结果做置信判断
  • 必要时只缓存中间结果,不直接缓存最终答复

4.3 Prefix / Prompt Caching:它优化的是“重复前缀”

有些请求不是整个输入完全一致,但它们共享很长的固定前缀,比如:

  • 很长的 system prompt
  • 长文档分析里的固定背景材料
  • 多轮对话里重复保留的前文
  • 多个用户请求共享的大段公共上下文

这时前缀缓存就很有价值。

OpenAI 当前公开价格里单独列出了 cached input 价格,明显低于普通 input 价格。比如 gpt-5.4 标准 input 为 2.50 美元 / 百万 token,cached input 为 0.25 美元;gpt-5.4-mini 则是 0.75 对 0.075。(OpenAI开发者)

vLLM 官方文档则给出了 Automatic Prefix Caching 的设计说明,并且明确讨论了共享环境中的 cache isolation 和 cache_salt,用于限制不同请求之间的缓存复用边界。(vLLM)

这提醒我们两件事:

  1. 前缀缓存确实能省钱、省算力
  2. 缓存复用不是只有性能问题,还有隔离和安全边界问题

4.4 缓存最容易出问题的地方不是命中率,而是“命中了不该命中的内容”

尤其要小心:

  • 不同租户之间的缓存穿透
  • 带时间敏感性的答案被长期复用
  • 带个性化上下文的结果被共享
  • 缓存键没有包含模型版本、prompt 版本、权限上下文

所以缓存不是 Redis 一加就结束,而是一个需要明确边界的系统能力。


5. 模型路由:不是“能省点单价”,而是把高价模型留给真正需要它的请求

先看定义:成本优化里最有杠杆的动作之一,不是把所有请求都压到最便宜模型,而是把“本来不该用贵模型的请求”从贵路径里拿出来。

5.1 最常见的错误是“默认全走最强模型”

这是很多产品早期最容易发生的事:

  • 为了效果保险
  • 所有请求都上最强模型
  • 客服 FAQ、分类、抽取、改写、审核,全都走同一路径

短期看起来简单,长期代价很重:

  • 小任务也按大任务付费
  • 吞吐压力更大
  • 延迟更高
  • 后面想拆路由会很痛

5.2 更合理的路由方式

常见可以落地的维度包括:

按任务类型路由

  • 分类、抽取、重写、改写 → 小模型
  • 高自由度长生成 → 大模型
  • 代码、复杂推理、长文档综合 → 更强模型

按复杂度路由

  • FAQ / 已知流程 / 模板化问题 → 轻量模型
  • 跨文档综合 / 歧义较高 / 高风险任务 → 更强模型

按业务价值路由

  • 免费用户 → 成本更保守的策略
  • 付费用户 / 高价值场景 → 更高质量路径
  • 内部自动处理 → 尽量先走低成本路线,失败再升级

这本质上是在回答一个商业问题:

哪些请求值得花更多钱?

5.3 路由系统真正难的地方,不是“写 if/else”,而是可解释与可回滚

成熟的路由系统通常至少要记录:

  • 为什么走这个模型
  • 用了哪个策略版本
  • 升级条件是什么
  • 如果成本突然升高,是哪条规则导致的

没有这些记录,模型路由很快就会变成一堆看不懂的策略补丁。


6. Cascade:AI 成本优化里最典型的“先便宜试,再贵兜底”

先看定义:Cascade 不是简单降级,而是让大模型只处理“轻量模型拿不下的部分”。

典型流程是:

  1. 先让小模型尝试回答
  2. 如果命中高置信条件,则直接返回
  3. 如果低置信、格式失败、证据不足或问题复杂,再升级到大模型

6.1 Cascade 适合什么场景

特别适合这些场景:

  • FAQ / 客服 / 企业知识问答
  • 结构化抽取
  • 文本改写与清洗
  • 有明确成功判定条件的任务
  • 大部分请求其实都不难,但少数特别难的系统

6.2 Cascade 能不能成立,关键看“升级条件”是否靠谱

很多人会写成:

  • 小模型先答
  • 觉得“不确定”就升级

问题是,“不确定”如果主要靠模型自己说,往往不够稳。

更可操作的升级条件包括:

  • schema 校验失败
  • 引用不存在或证据不足
  • 置信评分低于阈值
  • 命中高风险意图
  • 检索结果冲突
  • 输出长度异常
  • 历史上该类问题在小模型上失败率高

这意味着,Cascade 真正成熟的做法不是“问模型行不行”,而是用系统规则定义什么时候必须升级

6.3 Cascade 最大的误区:只算便宜模型的节省,不算升级链路的额外成本

一个看起来很省钱的 Cascade,可能因为这些问题反而不划算:

  • 小模型命中率太低,几乎都升级
  • 小模型先跑一遍反而增加总延迟
  • 升级后还要重新组织上下文,重复付输入成本
  • 两段链路都要维护,系统复杂度上升

所以 Cascade 不是天然省钱,而是当以下条件同时成立时才真正划算:

  • 大部分请求确实可以被小模型解决
  • 升级判定相对准确
  • 升级链路不会把 token 和延迟浪费过多
  • 业务能接受少量边缘质量波动

7. Batch:对离线任务极其有效,但不要拿它解决实时问题

先看定义:Batch 的价值在于把“延迟不敏感”的请求,用更低单价或更高资源效率处理掉。

OpenAI 当前价格页明确给出了 Batch 价格,gpt-5.4gpt-5.4-mini 的 Batch 价格大约是标准价的一半。(OpenAI开发者) Anthropic 的 Claude Sonnet 4.6 页面也明确写到 batch processing 可节省 50%。(Anthropic) Google Gemini API 价格页同样列出了 Batch 价格,Gemini 2.5 FlashFlash-Lite 的 Batch 单价也明显低于标准调用。(Google AI for Developers)

7.1 Batch 适合的典型场景

  • 夜间报表
  • 文档批量摘要
  • 数据清洗与标注
  • 离线分类
  • 历史工单分析
  • 批量抽取结构化字段

这些场景的共同点是:

  • 请求量大
  • 时效要求没那么高
  • 结果可延迟交付
  • 更在乎单位成本,而不是单次响应时间

7.2 Batch 的真正意义

不是“便宜一点”而已,而是把实时链路和离线链路拆开:

  • 实时链路追求体验和首字延迟
  • 离线链路追求单位成本和总体吞吐

这两类目标往往不一样,不应该强行用同一套成本结构去解决。


8. 自托管 vs API:不要问“哪个更便宜”,要问“在什么利用率下谁更便宜”

这是成本讨论里最容易被简化过头的话题。

一句更准确的话是:

API 成本大多是按使用量线性付费;自托管成本大多是固定成本 + 利用率问题。

8.1 API 的优势

  • 无需自己维护推理栈
  • 模型升级快
  • 多模型可选
  • 初期固定成本低
  • 低流量时非常划算
  • 更适合快速试错

8.2 自托管的优势

  • 高利用率下边际成本可能更低
  • 可做更深的推理优化
  • 对上下文缓存、批处理、调度可控性更高
  • 某些合规场景更容易满足
  • 不容易被供应商单价波动直接影响

8.3 自托管真正难的地方

很多团队只算机器,不算这些:

  • GPU 空闲时间
  • 流量波峰波谷
  • 多模型并存
  • 模型切换与版本管理
  • 推理服务运行时
  • 监控、告警、灰度、回滚
  • 工程人力
  • 故障和 on-call 成本

所以“自托管更便宜”只有在以下条件比较成立时才靠谱:

  • 流量足够大且相对稳定
  • 利用率能做上去
  • 模型需求相对集中
  • 团队能把推理平台运维好
  • 质量上真的能用开源 / 自托管模型替代 API 模型

8.4 一个更有用的分界公式

不要背“多少请求量就是分界点”。更好的做法是自己算。

假设:

  • C_api = 每百万 token 的 API 综合成本
  • T_month = 每月实际处理 token 总量
  • C_fixed = 自托管每月固定成本(机器 + 存储 + 运维 + 人力分摊)
  • C_var = 自托管每百万 token 的可变成本(电费、附加基础设施等)
  • u = 实际利用率修正系数

那么可以粗略比较:

API 月成本 ≈ C_api × T_month / 1,000,000

自托管月成本 ≈ C_fixed / u + C_var × T_month / 1,000,000

这里最关键的是 u。 因为很多自托管系统不是算力不够,而是:

  • 白天忙、晚上闲
  • 峰值高、均值低
  • 模型碎片多
  • 为了 SLA 留了大量冗余

利用率一旦上不去,自托管看起来“单 token 很便宜”的优势就会迅速缩水。

8.5 更现实的结论

对大多数团队来说:

  • 早期和中期:API 往往更划算,也更灵活
  • 高稳定流量、高利用率、模型需求相对固定时:自托管才开始出现明显成本优势
  • 混合模式 往往最现实:高价值或复杂请求走 API,稳定大流量离线任务或特定内部场景走自托管

真正成熟的决策,不是站队,而是按场景拆。


9. 一个更靠谱的成本测算示例

为了避免“感觉上很便宜”,最好用真实公式算一遍。

假设某产品每月有 100 万次请求,平均每次:

  • 输入 1500 token
  • 输出 500 token

9.1 如果全部走 OpenAI gpt-5.4

按当前公开标准价:

  • 输入成本:1500 / 1,000,000 × 2.50 = 0.00375 美元 / 次
  • 输出成本:500 / 1,000,000 × 15.00 = 0.00750 美元 / 次
  • 单次合计:0.01125 美元
  • 月成本约:11,250 美元 (OpenAI开发者)

9.2 如果全部走 gpt-5.4-mini

  • 输入成本:1500 / 1,000,000 × 0.75 = 0.001125 美元 / 次
  • 输出成本:500 / 1,000,000 × 4.50 = 0.00225 美元 / 次
  • 单次合计:0.003375 美元
  • 月成本约:3,375 美元 (OpenAI开发者)

9.3 如果先做 40% 有效缓存命中

假设命中后大部分请求无需再进模型,那么仅从模型账单看:

  • gpt-5.4 月成本可从 11,250 美元降到约 6,750 美元
  • gpt-5.4-mini 月成本可从 3,375 美元降到约 2,025 美元

这里还没算缓存基础设施成本,但在大多数文本场景下,这个成本远小于模型账单本身。

9.4 如果做 Cascade:80% 请求由 mini 解决,20% 升级到大模型

粗略估算:

月成本 ≈ 80% × 3375 + 20% × 11250
      ≈ 4950 美元

这个数字比全走大模型便宜很多,但比全走 mini 贵。 它是否值得,关键取决于:

  • 那 20% 升级请求是否真的带来明显质量收益
  • 小模型是否在 80% 请求里稳定可用
  • 升级链路有没有额外重复 token 成本

9.5 这个例子真正想说明的不是“哪个模型更便宜”

而是:

  • 模型选型会带来数量级差异
  • 缓存对重复场景非常有杠杆
  • Cascade 的收益取决于升级比例和升级成本
  • 输出 token 在高价模型上非常贵,值得重点管控

10. 预算监控与告警:没有可观测的成本,就没有真正的成本优化

很多团队会在账单出来后才讨论成本,这其实已经太晚了。

AI 成本要像延迟和错误率一样,被纳入日常观测。

10.1 至少要监控这些指标

总量指标

  • 日 / 周 / 月 token 消耗
  • 日 / 周 / 月成本
  • 成本趋势变化

结构指标

  • 按模型的成本分布
  • 按租户 / 用户的成本分布
  • 按功能 / 路由 / prompt 版本的成本分布
  • 输入 / 输出 token 比例

效率指标

  • 缓存命中率
  • Cascade 升级率
  • 重试率
  • fallback 率
  • 平均输出长度
  • 长尾请求占比

风险指标

  • 单租户异常突增
  • 新版本上线后单位请求成本突增
  • 某模型突然占比异常升高
  • 某链路重试次数异常

10.2 告警不应该只看“总成本超预算”

更有价值的是做分层告警:

  • 日成本达到预算 80%
  • 某租户成本较 7 日均值暴涨
  • 某功能输出 token 突然上升
  • 某个 prompt 版本上线后单次成本飙升
  • 某模型 fallback 激增
  • 缓存命中率显著下降

因为很多事故在“总账单爆炸”之前,早就会先在局部指标里露头。

10.3 成本控制的理想状态不是“越省越好”,而是“可预测、可归因、可干预”

这意味着,当成本升高时,你应该能很快回答:

  • 是谁花的
  • 花在哪个功能
  • 为什么变贵
  • 是正常增长还是异常
  • 可以通过什么策略立刻止损

这才是工程上的成本治理。


11. 成本优化的常见误区

11.1 误区一:只盯模型单价,不看输出长度

很多人会花很多时间比较不同模型每百万 token 的价格,却不管系统默认输出一大段废话。 但在很多主流模型上,输出 token 单价明显更高,控制输出往往比微调输入更有杠杆。(OpenAI开发者)

11.2 误区二:为了省钱,把所有请求都压到小模型

便宜模型当然重要,但如果带来:

  • 更多升级
  • 更多转人工
  • 更高失败率
  • 更差用户体验

那么“账单省了”不代表系统真的更便宜。

11.3 误区三:缓存命中率越高越好

命中率本身不是目标。 如果命中了不该复用的答案,成本是省了,但质量和风险成本会上升。

11.4 误区四:把自托管想成“调用越多越赚”

自托管真正决定胜负的是利用率,不是想象中的单卡理论成本。 空闲 GPU 和高峰冗余,都会把“看起来很低的单 token 成本”打回现实。

11.5 误区五:只在账单暴涨后才开始治理

成本优化最难的从来不是“想出几个技巧”,而是把成本变成和延迟、稳定性一样的日常治理对象。


12. 一个更实用的优化顺序

如果你要从今天开始系统地做 AI 成本优化,比起一上来讨论“要不要自托管”,更建议按这个顺序来。

第一步:先建立归因

先知道:

  • 哪些模型最花钱
  • 哪些功能最花钱
  • 哪些租户最花钱
  • 输入和输出谁更失控
  • 重试和 fallback 占了多少

第二步:先压 token

优先做:

  • prompt 去冗余
  • 动态上下文
  • 输出长度控制
  • 历史对话裁剪
  • 工具返回摘要化

第三步:再做缓存

先精确缓存,再谨慎尝试语义缓存和前缀缓存。

第四步:再做模型路由和 Cascade

让简单请求先走便宜路径,把高价模型留给真正需要的难题。

第五步:最后再认真算 API vs 自托管

只有当流量、利用率、团队能力和合规要求都到位时,这个问题才真正值得重投入。


小结

AI 成本优化的核心,不是“找一个最便宜的模型”,而是围绕整条链路做系统性减法:

  • 少读一点:减少无意义输入 token
  • 少说一点:控制输出长度
  • 少算几次:做好缓存,减少重复推理
  • 便宜地算:合理做模型路由和 Cascade
  • 把贵算力留给真正值得的请求
  • 把离线任务从实时链路里拆出来
  • 用归因、预算和告警把成本变成可运营对象

如果要把这篇文章压缩成一句话,大概就是:

AI 成本优化不是单点降价,而是把“低价值 token”和“错误的高成本路径”系统性清除掉。

这件事越早做,后面系统就越容易长大;越晚做,账单就越像一场被动补课。