LX.← BACK HOME

TOKEN ECONOMY · COST CONTROL

我是怎么
省 token 的。

大模型便宜了,但 token 不是免费的。同一个任务,有人花 10 块,有人花 1 块,产出还一样。这页讲清楚 token 为什么有贵有便宜,以及我在项目里具体怎么压成本。

LESS
TOKEN
MORE ACC
PART 01 / WHY IT COSTS钱花在哪了 ↓

先搞清楚:token 为什么有贵有便宜。

01

输出 token 比输入贵 3–8 倍

输入是模型一次性并行"读"完,输出是一个字一个字"写"——每个输出 token 都要完整跑一遍整个模型。所以让 AI 少说废话,比少发几句提示词更省钱。

02

模型价差最大 150 倍

便宜模型(Gemini Flash)约 $0.1 / 百万 token,贵模型(Claude Opus)约 $15 / 百万 token。分类、提取这类简单任务用贵模型,等于请博士接电话。

03

上下文体积才是账单大头

RAG 拉 10 段只用 1 段、对话历史不裁剪、PDF 噪声没清——输入 token 线性涨,而且每轮对话都重复付这笔钱。

04

图片和文件输入按分辨率算 token

一张截图可能花 1000+ token,PDF 没清洗就送进去更夸张。多模态场景里图片是隐形成本大头——先压缩、裁剪、提取关键页再送模型,能省一大笔。

PART 02 / HOW TO CUT四个动作 ↓

省 token 的具体做法,对应落地的四个环节。

01

拆业务环节时,就把输出格式定死

能返回 JSON 就不要返回段落,能 3 个字段就不要 10 个。输出 token 是最贵的部分,卡死格式就是卡死成本。比如客服应答只让模型返回 {"问题":"…","答案":"…","置信度":0.9},不让它写长段落。

02

定义输入时,只送真正必要的数据

RAG 检索后重排序取 top-2 或 top-3,不要 top-10 全塞进去;对话历史只留最近 N 轮,更早的总结成一句话带进上下文;PDF 先去页眉页脚、重复空白再送模型。

03

工作流里用缓存 + 模型路由

系统提示词和固定文档走 prompt caching——缓存命中只收原价的 10%–50%,长上下文场景能省 80% 以上。分类、提取、格式化这类任务路由到便宜模型,只有复杂推理才用贵模型。

04

迭代时看三项指标,砍掉冗余

每次迭代同时看 token、耗时、准确率。删掉对准确率没贡献的 prompt 句子和 few-shot 示例——一个好示例顶三个差的。系统提示词从 2000 字压到 400 字声明式约束,准确率基本不变。

PART 03 / IN PRODUCTION我在项目里这么干 ↓

不是理论,是项目里的实际做法。

客服知识库项目RAG + Dify

客服应答:从自由发挥到三字段输出

  • 系统提示词从 2000 字 prose 压到 400 字声明式约束(语气 / 格式 / 禁止项)。
  • RAG 检索 top-10 重排序后只取 top-3 进上下文。
  • 输出卡死为「问题 + 答案 + 置信度」JSON,不再让模型写长段落。
  • 简单问题路由到便宜模型,复杂追问才升级。
结果:单轮 token 降约 60%,客服效率 +50%。
发票识别项目OCR + 分类

票据录入:分类用便宜模型,提取走结构化

  • 票据类型分类用便宜模型(只需判断高速 / 火车 / 出租等)。
  • OCR 字段提取走结构化 JSON 输出,不做自由生成。
  • 只有未命中预置类型的票据,才走一次通用模型补全字段。
  • 字段模板预置在前端,模型只负责填值,不负责想格式。
结果:录入从逐张手填变上传即入库,异常票才需人工。

一条通用原则

每上线一个工作流,先跑 100 条真实数据回测,看 token 消耗和准确率,再决定要不要砍 prompt、换模型、加缓存。不回测就上线,等于闭着眼睛花钱。