大模型调用成本不能只看“每百万 token 单价”。一次用户请求可能触发检索、多个模型调用、工具执行和重试;账单还可能包含缓存输入、批处理、存储等不同计费项。我的做法是先把每条请求的实际成本算清,再按“少调用、少传入、少输出、选合适的模型、限制失控重试”的顺序优化,并始终检查答案是否仍然可用。

先把单次请求的账算完整

对按 token 计费的模型,可用这个基本式子估算一次调用:

模型费用 =(普通输入 token ÷ 100 万 × 输入单价)+(缓存输入 token ÷ 100 万 × 缓存单价)+(输出 token ÷ 100 万 × 输出单价)。

如果一次业务请求调用了两次模型,就把两次相加;失败后重试、工具调用、向量检索或其他收费服务也要单列。不同服务商的缓存规则、计费单位和附加费用并不相同,最终以实际账单为准。请求日志至少记录业务场景、模型、输入与输出 token、缓存命中、重试次数、费用、延迟和结果是否通过验收,才知道钱花在哪条路径上。

假设每天有 10 万次请求,每次平均普通输入 2000 token、输出 500 token;演示单价为输入 2 元/百万 token、输出 8 元/百万 token。那么每天输入共 2 亿 token,费用 400 元;输出共 5000 万 token,费用也是 400 元。基线合计 800 元/天,按 30 天粗算 2.4 万元。这些单价只是算术示例,不代表任何厂商报价。

大模型调用成本算例:每天 800 元,输入缓存与缩短输出后约 590 元

图:假设计费条件下的模型 token 成本;重试、工具和服务成本未计入。

第一刀:减少不必要的模型调用

确定性任务先用规则、数据库查询或普通程序处理,例如读取订单状态、计算固定公式、验证字段。对完全相同且允许复用的公开问题,可以设置带过期时间的结果缓存;对语义相近的问题谨慎使用近似缓存,尤其是价格、库存和个性化内容,避免把旧答案或别人的数据返回给当前用户。

检查工作流是否多调用了一层“改写”“总结”却没有带来质量提升。将每个步骤的成本和成功率单独记录,才能决定是合并、删除还是保留。减少调用次数通常比微调几个提示词更有效。

第二刀:压缩输入和输出,但保留必要证据

输入侧先清理重复的系统说明、长聊天历史和无关检索片段。检索场景按相关性选取少量证据,并保留引用所需的原文位置;长对话可以保留近期轮次与经过验证的摘要。不要只按字符数硬截断,以免删掉用户的限制条件。

输出侧按任务设计格式:分类任务只返回标签,提取任务返回结构化字段,短答任务限制长度。设置合理的最大输出 token 和超时,避免失控生成;但不要把上限压到答案经常被截断。流式输出改善等待体验,本身不会让已生成 token 变便宜。

以上面的假设为例,若平均输出从 500 降到 350 token,每天少生成 1500 万 token;按 8 元/百万 token,节省 120 元/天。这个改动必须通过样本验收,确认关键事实和格式没有丢失。

第三刀:把任务路由到合适的模型

给任务分级:简单分类、标题生成可以先尝试低成本模型;复杂推理、关键客户回复或高风险内容用能力更强的模型,或在低置信度时升级。路由规则需要用真实样本测试,不要只比较单价。便宜模型若频繁失败、反复重试或需要人工返工,单个可用答案的总成本可能反而更高。

建议同时看 每个通过验收的答案成本 = 总调用与附加费用 ÷ 通过验收的答案数。对不同任务分别统计质量、延迟和成本,再调整阈值;模型或提示词升级时保留旧版本作对照。

缓存收益要按实际命中量重算

提示词缓存通常依赖稳定前缀和服务商的具体规则,不能把“复用相似提示词”直接当成缓存命中。假设前述请求中有 60% 各有 1000 个输入 token 符合缓存条件,则每天缓存输入是 6000 万 token。若缓存单价假设为普通输入价的 25%,这部分原本花 120 元,现在花 30 元,节省 90 元/天。

缓存节省 90 元,加上缩短输出节省 120 元,示例模型费用由 800 降为 约 590 元/天;30 天约 1.77 万元,比原来少 6300 元。这里假设两项优化互不改变请求量和其他 token 结构;实际要用账单里的缓存 token 与计费明细验证。

给重试和预算设硬边界

为单请求设置超时、最大重试次数和最大 token;只对临时错误重试,并使用退避与抖动,避免服务故障时所有请求同时重放。写操作还要考虑幂等,防止重试造成重复业务动作。并发上限、队列长度和每日预算应按项目或租户设置,达到阈值时告警、降级或暂停非关键任务。

成本看板至少按业务场景、模型、用户或租户、日期拆分:调用量、输入/输出 token、缓存命中、重试率、失败率、平均费用、可用答案率。突增时先找变化来源,例如新版本把整段聊天历史重复传入,或某个工具失败导致重试循环。不要靠月底账单才发现问题。

控制成本的目标不是把单价压到最低,而是以可接受的延迟和质量,稳定地降低每个有效结果的总费用。先记录基线,再一次只调整一类杠杆,验收效果并核对真实账单,才能知道节省是否成立。