大模型推理成本治理:从1000次调用到100次,一次可复用的降本实践

简介: 本文详述内部知识问答系统成本治理全过程:月账单从4832元降至461元,降幅90.5%,功能零削减、用户无感知。涵盖量化归因、五层治理(消灭无效调用、语义缓存、模型分级、Prompt精简、批处理+流式)、防反弹机制及避坑指南,提供可复用的AI成本治理框架。(239字)

一个内部知识问答系统的成本治理全过程:月账单 4,832 元 → 461 元,降幅 90.5%,功能零削减,用户无感知。

一、问题背景

去年下半年,我们给公司内部搭了一个知识问答系统,接的是旗舰级大模型。上线三个月,日活稳定在 200 人左右,日均调用量 1,000 次上下。

从业务指标看,这个系统是成功的——问题解决率 82%,用户满意度 4.3/5。

但从成本看,它有点失控。

月度 API 账单 4,832 元。对一个日活 200 的内部工具来说,这个数字不算离谱,但也谈不上合理。更要命的是,随着接入场景增加,调用量在爬坡,账单也在爬坡,而我们对"钱花在哪"几乎一无所知。

于是我们做了一轮成本治理。这篇文章是完整记录,包括方法论、具体手段、量化结果和踩过的坑。

先给结论:

指标 治理前 治理后 变化
日均调用量 1,000 次 100 次(等效) -90%
日均成本 161 元 15.4 元 -90.4%
月成本 4,832 元 461 元 -90.5%
问题解决率 82% 81% -1pt
P95 响应时间 8.2s 1.4s -83%

问题解决率掉了 1 个百分点,是唯一的质量代价。响应时间反而大幅改善——这是流式输出带来的副产品。


二、先量化:钱到底花在哪

成本治理最容易犯的错,是凭直觉动手。

"模型太贵了,换个便宜的"——这是最常见的直觉,也是最容易出事的直觉。我们第一轮就吃过这个亏,后面会讲。

2.1 埋点

在网关层统一埋点,记录每次调用的:模型、输入 token、输出 token、场景标签、耗时、用户 ID。

这一步的关键是场景标签。没有场景标签,你只能看到"总成本",看不到"哪个业务在烧钱"。

2.2 按上下文长度归因

上下文区间 调用占比 成本占比 单次均价
<500 token 50% 10% 0.03 元
500-2K 18% 13% 0.09 元
2K-4K 20% 18% 0.11 元
4K-8K 8% 23% 0.35 元
>8K 4% 36% 1.10 元

4% 的请求吃掉了 36% 的成本。 这是典型的帕累托分布,也是治理的切入点。

2.3 按场景归因

场景 调用占比 成本占比
长文档问答 12% 61%
常规问答 38% 27%
短查询 50% 12%

2.4 按调用必要性归因(这一步最有价值)

这一项最费劲,但也最有价值。我们人工抽样了 500 条调用,标注"这次调用是否必要",结果是:

分类 占比
必要且无法合并 62%
重复调用(前端重试、页面刷新) 19%
可合并(多次调用可合成一次) 12%
完全无效(参数错误、逻辑 bug) 7%

也就是说,38% 的调用压根不该发出去。这部分不涉及任何模型能力取舍,纯粹是工程问题。

这个发现直接改变了我们的治理顺序——先消灭无效调用,再谈模型优化。


三、治理顺序:先零风险,再需评估

基于归因结果,我们把治理手段分成三类:

类型 手段 特点
零风险型 消灭无效调用、Prompt 精简、输出截断 改配置即可,不引入新组件
低风险型 语义缓存、流式输出 引入新组件,但有成熟方案
需评估型 模型分级、批处理 影响输出质量,需要质量兜底

治理顺序建议:零风险 → 低风险 → 需评估。 先把容易拿的分拿到,再动需要评估的部分。


四、五项治理手段详解

4.1 第一层:消灭无效调用(降 26%)

这一层收益最大、风险最低,应该最先做。

前端防抖与请求去重。 用户快速点击按钮会触发多次请求。我们在前端加了 300ms 防抖,后端加了基于 user_id + prompt_hash 的 5 秒幂等窗口,重复请求直接返回上一次的结果。

超时与重试策略。 之前超时设 10 秒,超时后自动重试两次。实际 P95 延迟 4.2 秒,10 秒超时基本不会触发,但一旦触发就是三次调用。改成超时 8 秒、重试一次,并且重试前先查缓存。

参数校验前置。 有 7% 的无效调用是参数错误导致的(空 prompt、超长 prompt、非法 model 名)。在网关层加校验,不合格的直接拒绝,不进模型调用。

这一层做完,调用量降了 26%。


4.2 第二层:语义缓存(降 33%)

问题:34% 的请求语义重复,但每次都重新调模型。

方案:在网关层加语义缓存。请求进来先做 embedding,在向量库中检索,相似度超过阈值直接返回。

用户请求
   ↓
[Embedding 服务] → 向量
   ↓
[向量检索] ──命中──→ 返回缓存答案
   ↓ 未命中
[模型路由] → [大模型调用] → 写回缓存 → 返回

关键参数:

参数 取值 说明
相似度阈值 0.92 0.85 误命中严重,0.95 收益不足
缓存容量 10,000 条 LRU 淘汰
TTL(制度类) 7 天 政策变动频繁
TTL(操作类) 30 天 流程相对稳定
TTL(实时类) 不缓存 数据类查询

效果:命中率 34%,日均调用 1,000 → 660,成本 161 → 108 元。

风险提示:TTL 必须按内容类型分级。我们早期没设 TTL,公司改了报销制度后缓存仍在返回旧答案,造成了实际业务影响。


4.3 第三层:模型分级(降 52%)

问题:所有请求一律走旗舰模型,包括"今天几号"这种。

方案:三层分级 + 规则优先的路由。

层级 适用场景 模型档位 单次成本
L1 分类、抽取、格式转换、事实查询 轻量模型 0.002 元
L2 常规问答、摘要、改写 标准模型 0.02 元
L3 长文档推理、多步分析、代码生成、敏感场景 旗舰模型 0.15 元

路由策略:

1. 敏感场景白名单(金额/法务/医疗/合同)→ 强制 L3
2. 上下文 > 8K → 强制 L3
3. 短问题 + 事实型关键词 → L1
4. 其余 → 小模型意图分类 → L1/L2/L3

一个关键设计决策:路由本身不能太贵。我们最初用旗舰模型做意图分类,结果路由成本比回答成本还高。改成规则优先 + 轻量模型兜底后,规则层覆盖了 55% 的请求。

规则顺序的坑:规则匹配是按顺序的,先匹配到的赢。我们一开始把 entity_extract 排在 code_generation 前面,结果"提取订单号并生成一个 JSON"被判成实体抽取走轻量模型,输出的 JSON 少了一层嵌套,前端直接报错。改成复合任务优先之后,差异率从 2% 降到 0.8%。

效果:L1 占比 48%,L2 占 37%,L3 占 15%,成本 108 → 52 元。

质量兜底:

  • 每天随机抽检 50 条 L1/L2 回答
  • 建立"降级失败"标签库,发现质量问题立即提升该场景层级
  • 敏感场景不参与路由

4.4 第四层:Prompt 精简(降 35%)

问题:system prompt 1,240 token,每次调用都带,日均消耗 124 万 token。

拆解:

组成部分 原长度 精简后 做法
角色设定 180 token 12 token 删除形容词堆砌
输出格式要求 320 token 8 token 改用 API 结构化输出参数
few-shot 示例 620 token 平均 80 token 按问题类型动态注入
安全约束 120 token 120 token 保留,不精简
合计 1,240 310 -75%

核心认知:模型不是靠形容词变聪明的。"专业、严谨、有耐心"这类描述对输出质量的影响,在我们的 A/B 测试中不显著(p > 0.1)。

效果:成本 52 → 34 元。这是投入产出比最高的一项——半天工作量,永久生效。

一条红线:涉及"不能做什么"的指令一个字不能删。我们删过一条"不得提供医疗诊断建议",测试环境跑了两天没事,上线第三天有用户问"我最近头疼,你们这个软件能不能帮我记录症状",模型真的开始给建议了,还说"建议服用布洛芬"。现在所有否定式指令不但保留,还移到 prompt 最前面。

回归测试:精简后必须跑回归用例。我们砍掉 few-shot 后,多轮对话的指代消解能力下降,补一条规则后恢复。


4.5 第五层:批处理 + 流式(降 29%)

批处理:一个任务调多次模型的场景,合并为单次调用 + 结构化输出。

效果:单份文档 token 消耗 12,000 → 3,400,降 72%。

边界:单次批处理任务数不超过 20 个。超过后模型开始漏内容。超过则分批,并做好单条降级。

判断能不能批,标准不是"是不是异步",是"结果晚 24 小时出来,业务能不能接受"。 我们有个功能是用户上传文档后生成摘要,一开始判断这是异步任务走了批处理,但用户上传完就在页面上等着,24 小时内出结果等于不可用。后来改回实时了。

流式输出:

  • 改 SSE 流式返回,首字延迟 0.8 秒
  • 监听连接状态,断开即终止生成
  • 按问题类型设置 max_tokens:事实型 100,分析型 800,代码 2000
  • prompt 中明确长度约束

效果:平均输出 token 620 → 210,用户中途放弃率 23% → 6%,成本 34 → 15.4 元。


五、治理效果汇总

阶段 日均调用 日均成本 月成本 累计降幅
基线 1,000 161 元 4,832 元 —
+ 消灭无效调用 740 119 元 3,570 元 26%
+ 语义缓存 488 80 元 2,400 元 50%
+ 模型分级 488 52 元 1,560 元 68%
+ Prompt 精简 488 34 元 1,020 元 79%
+ 批处理/流式 100(等效) 15.4 元 461 元 90.5%

六、治理机制:怎么防止反弹

优化做完不是终点。我们见过太多团队,优化完三个月又涨回去了。

我们建了三个机制:

成本看板。 每天自动生成成本日报,按任务类型、模型、业务线三个维度拆分,异常波动自动告警。阈值设的是日环比超过 20% 就报警。

成本归因。 每个调用都打上 business_line、feature、task_type 三个标签。出问题时能定位到具体功能,而不是笼统地说"模型太贵"。

变更评审。 新增模型调用点必须走评审,说明为什么需要、用哪个模型、预估调用量。这一条挡住过好几次"随手加个 AI 功能"的需求。


七、踩过的坑

坑一:一刀切降级导致质量事故

第一轮治理时,我们把所有请求都往轻量模型上赶,包括合同条款风险识别。结果轻量模型漏掉了两个关键条款,法务部门直接找上门。

教训:敏感场景必须白名单保护。涉及金额、法务、医疗、合规的请求,无条件走旗舰模型,这部分成本不能省。

坑二:路由本身成为成本项

用旗舰模型做意图分类,再路由到轻量模型回答——路由成本比回答成本还高。

教训:路由要用最便宜的手段。规则优先,规则拦不住的再用轻量模型。

坑三:缓存没有失效机制

制度变更后缓存仍返回旧答案,造成实际业务影响。

教训:TTL 必须按内容类型分级,动态数据宁可短一点。

坑四:只做一次性优化

第一轮优化完成后,我们以为万事大吉。三个月后发现有个接口被前端轮询调用,日均 8,000 次,纯属 bug。

教训:成本治理需要持续机制,不是一次性项目。

坑五:两个没做成的尝试

把 temperature 调到 0 提升缓存命中率。 理论上同样输入必然同样输出。实际跑下来回答变得很死板,用户投诉变多,又调回 0.3 了。命中率只从 34% 涨到 37%,收益远不如预期。

自建 7B 小模型替代意图分类。 准确率比 mini 低 6 个点,加上 GPU 和运维成本,算总账不划算,放弃了。API 的规模效应不是自建能比的。


八、可复用的治理框架

8.1 治理检查清单

【量化阶段】
□ 网关层埋点,记录模型/token/场景/耗时
□ 按上下文长度、场景、模型三个维度做成本归因
□ 人工抽样标注"调用是否必要"
□ 统计语义重复率
【治理阶段 - 零风险】
□ 前端防抖 + 后端幂等窗口
□ 超时重试策略优化
□ 参数校验前置
□ 审查 system prompt,删除形容词和冗余格式说明
□ 格式约束改用 API 参数
□ 设置 max_tokens,按类型分级
【治理阶段 - 低风险】
□ 上线语义缓存,阈值按自己数据标定
□ TTL 按内容类型分级
□ 改流式输出,确保断开即终止
【治理阶段 - 需评估】
□ 划分 L1/L2/L3 三层
□ 敏感场景白名单
□ 规则优先的路由策略,复合任务优先匹配
□ 批处理合并,单次不超 20 个任务
□ 建立质量抽检机制
【机制建设】
□ 成本日报与告警
□ 成本归因标签体系
□ 新场景上线前的成本预估评审

8.2 优先级建议

如果资源有限,按这个顺序做:

  1. Prompt 精简(半天,降 35%,零风险)
  2. 消灭无效调用(2 天,降 26%,零风险)
  3. 语义缓存(2-3 天,降 33%,低风险)
  4. 模型分级(1 周,叠加降 52%,需质量兜底)
  5. 流式截断(2 天,降 29%,有 C 端必做)
  6. 批处理(3-5 天,局部降 72%,看场景)

8.3 质量守则

三条底线不能破:

  1. 敏感场景(金额/法务/医疗/合规)不参与降级
  2. 每次降级改动必须跑回归测试
  3. 建立降级失败标签库,持续迭代

九、写在最后

省下 4,371 元/月当然好,但真正的收获是另一件事:我们终于能看见成本了。

在此之前,AI 成本对我们是个黑盒——只知道总数,不知道结构。现在每周一早上看一次报表,哪个场景在涨、哪个模型在浪费,一目了然。这种"看得见"的感觉,比省下来的钱更值钱。

技术手段其实是次要的。先量化、再治理、建机制,顺序别搞反就行。

如果你也在做类似的治理,欢迎交流。


本文数据来自笔者所在团队内部系统的真实治理记录,模型名称与厂商做了脱敏处理,成本按公开定价折算。不同厂商定价策略差异较大,具体数值请以自身账单为准。

相关文章
|
5天前
|
云安全 人工智能 运维
当攻击全面Agent化,你的安全防御能否跟上AI Speed?
多起客户侧AK泄露事件应急的真实观察
1243 4
|
28天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9793 32
|
8天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
3天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
|
14天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
5天前
|
Web App开发 人工智能 JavaScript
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
REA(Reverse Engineer Anything)是近期爆火的开源AI逆向工具,4月发布,1个月内斩获15万+ Star。它让AI Agent无需源码即可分析二进制、APK、JS/Electron、HAR包等17类目标,自动反编译、生成可运行代码,并强制返回带证据与局限的结论。全本地执行,MIT协议,支持Hopper/Ghidra/IDA等引擎,一行命令即可上手。
631 1
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
|
13天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
935 1
|
9天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型全解析:核心原理拆解,性能实战测评与落地部署教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为System One Model(系统一模型),对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
594 0

热门文章

最新文章