知

模块一 · 能力边界与成本

第 3 / 14 节19 分钟阅读型

模型选型、token 账与降级策略

选型不看榜单,看你自己那 100 条样本。这一节给出成本与延迟的拆解方法、一份能算清的账,以及大小模型的分工与降级链。

读完这一节,你能做到

  1. 拆清一次请求的成本构成,算出月账单的量级。
  2. 判断成本异常是"上下文变长"还是"步数变多"。
  3. 用自己的评估集做选型,而不是看榜单。
  4. 设计一条"小模型 → 大模型 → 规则兜底"的降级链。

一、一次请求的成本从哪来

大多数人只盯着"输出多少钱",实际上大头通常在输入。

成本项说明常见占比
输入 tokensystem prompt + 检索片段 + 历史 + 工具结果通常最大
输出 token模型生成的正文与工具调用参数中等
缓存命中缓存的前缀通常更便宜省下来的部分
工具调用下游接口、检索、数据库的开销不一定小
重试与失败失败重试会翻倍计费最容易被忽略

为什么重试要单独算

一次超时重试,等于同一个请求付两次钱;如果 Agent 跑五步、每步都可能重试,账单会长得比预期快得多。

二、token 怎么估

粗略换算(具体以所用模型的分词器为准):

  • 中文:1 个汉字大约 1-2 个 token。
  • 英文:大约 4 个字符 1 个 token。
  • 数字与代码符号通常更"贵",因为切得更碎。

工程上的做法不是背换算表,而是打点实测:把每次请求的输入/输出 token 记进日志,跑一天真实流量,账就出来了。

三、延迟从哪来

用户感知的"慢",通常是三个部分叠加:

  1. 首字延迟:从发请求到第一个字返回。受输入长度影响最大。
  2. 生成速度:输出越长越慢。
  3. 串行步数:Agent 每多一步,延迟就多一截。

Agent 的延迟问题往往是第 3 条——单次调用都不慢,但串了五步就三十秒。解法是能并行就并行、能合并的步骤合并、能提前返回的先返回。

四、选型:用你的数据,不用榜单

榜单测的是通用能力,你的任务考的是"听不听指令、少不少编、中文长文稳不稳"。这三项只能自己测。

选型三步

  1. 建小评估集:50-100 条真实样本,覆盖典型与边界,标注期望行为。
  2. 同 prompt 跑候选:比四项——正确率、失败模式、平均延迟、单次成本。
  3. 定分工:哪类请求给哪个模型。

一个反直觉的结论

很多时候换更贵的模型并没有提升,因为问题在上下文没给对。先把检索和 prompt 修好,再谈换模型。

五、大小模型怎么分工与降级

常见分工

任务类型建议
意图分类、实体抽取、格式转换小模型足够
多步推理、长文理解、需要权衡大模型
高频重复问题缓存直接返回

降级链

小模型(快、便宜)
  → 校验失败 / 置信度低
大模型(慢、贵,重试一次)
  → 仍失败
规则兜底 / 转人工

降级要提前想好的两件事

  • 哪些场景不能降级(支付、退款、合规判断)。
  • 降级后给用户的提示怎么写,别让用户以为系统坏了。

模型路由怎么做

路由要放在编排层(代码),不要放在提示词里让模型自己选。三条分流依据:

依据怎么用
任务难度分类、抽取、格式转换给轻量模型;多步推理给能力更强的
输入长度超长输入先裁剪或分段,而不是换窗口更大的模型
成本预算单次或单租户超预算自动降级并告警

每次路由都要记录走了哪条规则、用了哪个模型、耗时与 token,否则事后无法解释“降本了但质量为什么掉”。

六、算例:一个客服 Agent 的账

假设:日会话 1 万次,单次输入 3000 token(system 800 + 检索 1200 + 历史 1000)、输出 400 token,输入单价 1 元/百万 token、输出单价 4 元/百万 token(示意,以官方定价为准)。

输入:3000 × 10000 × 30 = 9 亿 token → 900 元
输出:400 × 10000 × 30 = 1.2 亿 token → 480 元
合计:约 1380 元/月

如果命中 50% 缓存前缀,且历史从 1000 压到 400 token:

输入降到约 2400 token/次,其中一半走缓存 → 实际支出明显下降

优化的顺序(按性价比):

  1. 砍 system prompt 里的冗余示例。
  2. 历史做滑动窗口或摘要。
  3. 检索片段从 10 条降到 3-5 条,配合重排。
  4. 简单意图分流到小模型。

别先做:一上来换小模型。多数成本问题在"每次重复发送不变内容",不在模型太贵。

七、常见坑

  1. 只算输出,不算输入。 输入通常是成本大头。
  2. 不看重试成本。 失败率高的功能,账单会翻倍。
  3. 用记忆里的价格做预算。 价格会变,以官方为准并定期核对。
  4. 为了省钱把关键场景切到小模型。 质量掉下去的隐性成本更高。
  5. 靠榜单选型。 榜单不测你的任务。
  6. 忽略延迟的串行叠加。 单步 3 秒看着能接受,五步就是 15 秒。

八、动手任务:自写 → AI 写 → 对比 → 取舍

四步不跳:① 自己写(限时,关掉补全)→ ② 让 AI 写同一题 → ③ 逐条比对 → ④ 说出保留谁的写法。

① 自己写

  1. 给你手头一个功能算月成本:拆出输入构成、估 token、按官方单价算总账,写出你会先砍哪一项。
  2. 画一条降级链:哪些请求走小模型、什么条件升级、什么时候兜底。

② 让 AI 写同一题

把第 1 题交给 AI,补一句 按“成本项 → 单次 token → 月账 → 优化顺序”四段输出,价格处标注以官方为准。

③ 对比要盯的点

  • 它有没有漏掉重试与工具成本?
  • 优化顺序是不是一上来就换小模型?
  • 它给的价格有没有标注来源与时间?

④ 一句话取舍

它算出来的账和你的差多少?差在哪一项?

九、自测

  1. 一次请求的成本由哪几项构成?通常哪项最大?
  2. 中文 token 的粗略换算是什么?为什么不能背死?
  3. Agent 的延迟为什么常常是"串行步数"造成的?
  4. 选型为什么要用自己的评估集?
  5. 降级链一般怎么设计?哪些场景不能降级?
  6. 成本突然翻倍,你会先查哪三处?

参考答案要点:输入/输出/缓存/工具/重试,输入通常最大;1 汉字约 1-2 token,以分词器为准;每步都不慢但叠加;榜单不测你的任务;小模型→大模型→规则兜底,支付合规不降级;上下文变长、步数变多、缓存失效。

配套题目

★ 越多越该先背;点题目可看完整答案与深入版。

提示:读完可以顺手做几道对应题目,检验是否真的理解