ModelPointer
成本归因AI GatewayModel Gateway可观测性

企业每月的大模型账单,为什么总说不清花在了哪儿?

2026年8月13日7 分钟阅读

企业每月的大模型账单,为什么总说不清花在了哪儿?

这是「AI自动化指南」AI Gateway 系列的第四篇。

一笔说不清的账

月初,财务把上个月的大模型账单甩到群里:几十万。老板问一句"这笔钱主要花在哪儿了",群里往往会陷入沉默——客服团队能说清自己那部分,知识库团队能说清自己那部分,但没有人能把这几十万加总起来,拆解成"谁花了多少、花在哪个模型上、值不值"。

这不是个例。企业规模化使用大模型之后,"账单说不清"几乎是必经的阶段。原因通常不是缺钱,也不是没人管,而是从一开始,调用记录就没有被放在同一个地方沉淀下来。

为什么总说不清

1. 调用记录散落在各个业务系统自己的日志里

即便所有业务系统都已经统一从网关领取 Key 来调用模型,如果网关本身不做计量记录,"谁调用了什么"这件事依然只存在于各个业务系统自己的应用日志里——格式不同、粒度不同,有的只记了"调用成功 / 失败",有的干脆没记 Token 数。账单说不清的根源,从来不是"有没有用网关",而是"有没有在统一的一层,把每一次调用都记下来"。

2. 调用次数不等于成本,Token 才是真正的计价单位

不同模型的定价可以相差几十倍,同一个模型的输入、输出 Token 单价通常也不一样(输出往往贵好几倍)。如果统计口径只停留在"调用了多少次",一次简短问答和一次长文档总结在账本上会被算成完全一样的"一次调用",实际花费却可能差几十上百倍。不区分模型、不区分输入输出 Token,统计出来的"用量"和真实的"成本"是两件事。

3. 一次业务请求,背后可能是好几次模型调用

一次知识库问答,背后往往是 Embedding → 向量检索 → Reranker → LLM 好几个环节串起来的。如果这几次调用发生在不同的服务、不同的模块里,没有人能把它们串成一条链路,算出"用户问的这一个问题,到底花了多少钱"——账本上看到的只是几笔互不相关的流水。

4. 有总数,没有维度,谁都不用负责

即便在网关或者供应商后台能看到一个月消耗了多少 Token、花了多少钱,如果这个数字不能按团队、按应用、按环境拆开,它就只是一个孤立的总数——回答不了"这笔钱该由谁负责",更没法做部门间的成本分摊。

问题的根源:调用记录没有在统一的地方沉淀

以上问题,本质上都来自同一件事:每一次模型调用发生的时候,记录它的责任被交给了各个业务系统自己,而不是那个所有调用都必经的地方。

各业务系统各自记日志,格式不统一,月底账单只是供应商甩过来的一个总数,没人能把两边对上

结果就是:一边是几十个格式互不相同的业务日志,一边是供应商甩过来的一张总账单,中间没有任何东西能把两者对上。

更合理的做法:在网关这一层统一计量,账本自动生成

网关本来就是所有模型调用的必经之路——不管是客服系统还是数据分析 Agent,请求最终都会经过网关转发给具体的模型后端。这意味着,只要在网关这一层把每一次调用的关键信息记下来,就不需要每个业务系统各自埋点、各自维护统计口径,一份统一的账本会自动生成。

网关在转发请求的同时统一计量:记录 Key 对应的应用身份、输入输出 Token、按模型定价、串联多级调用链路,自动生成按应用/团队拆分的成本账本

具体来说,这一层至少要做到:

  • Key 天然带着身份:每个业务系统持有的是网关为它单独签发的 Key,一条调用记录只要带上这个 Key,就自动知道"是哪个业务在调用",不需要业务代码额外埋点上报;
  • 区分输入 / 输出 Token,按模型定价换算成真实费用:而不是笼统的"调用次数",不同模型、不同 Token 类型的单价都能在网关这一层统一换算;
  • 按请求串联多级调用链路:一次问答背后如果触发了 Embedding、Reranker、LLM 好几次调用,网关能把它们串成一条链路,看到"一次真实的业务请求到底花了多少钱",而不是几笔孤立的流水;
  • 异常及时告警:某个 Key 或者某个应用的消耗速度突然偏离历史水平,可以在发生的当下就报警,不用等到月底账单出来才发现已经烧了多少钱;
  • 数据可以直接导出:结构化日志、标准指标格式可以直接接入企业已有的 BI / 报表系统,不需要另起一套统计口径,也不需要人工每月对账。

账本从"月底被动收到的一个总数",变成"调用发生的那一刻就已经写好的明细"

ModelPointer 如何解决这个问题

ModelPointer 在设计上,计量能力和转发能力是同一层的两件事——请求经过网关的同时,该记的都记下来了:

  • API Key 独立签发:为每个下游业务系统单独签发 Key,调用记录天然带着"是谁在调用"的身份,不需要额外埋点;
  • 完整访问日志:结构化 JSON 访问日志记录每一次调用的 Key、模型、输入 / 输出 Token、延迟、成功率,可以直接按应用 / 团队做聚合统计;
  • Prometheus 指标与 OpenTelemetry tracing:既能看清楚"过去一小时每个团队消耗了多少 Token",也能通过 tracing 看清一次请求里 Embedding → Reranker → LLM 的完整调用链路;
  • 协议级独立计量:OpenAI 与 Anthropic 协议的调用各自独立统计,不会因为协议不同而漏记或者混算;
  • 两种配置模式:无论是 YAML 热重载还是数据库配置,调整限流、路由策略都不需要业务系统重新发布,也不会中断已经在记录的计量数据。

结语

大模型的账单说不清,表面上看是"报表没做好",实际上是"从调用发生的那一刻起,就没有一个统一的地方把它记下来"。

能不能说清楚一笔 AI 账单花在了哪,不取决于报表做得多漂亮,而取决于有没有在调用发生的那一刻,就把它记下来

把计量这件事收拢到网关这一层,业务系统不需要为了"算清楚成本"再多写一行埋点代码,账本会随着每一次调用自动生成。

官网https://modelpointer.com · GitHubhttps://github.com/modelpointer/modelpointer


关于这个系列

这是"AI Gateway 与企业 AI 基础设施"系列的第四篇。前三篇分别讲了这一层基础设施为什么会出现、为什么 API Key 不能直接下发给业务系统,以及私有化部署之后为什么仍然需要云端模型:

👉 为什么企业开始需要 AI Gateway? 👉 企业为什么不能把大模型 API Key 直接发给业务系统? 👉 为什么企业部署本地大模型后,仍然需要云端模型?

后面还会继续写这个系列,聊聊按任务复杂度做模型路由、私有化与云端的成本对比这些具体问题。想第一时间收到更新,欢迎关注公众号「AI自动化指南」:

AI自动化指南公众号二维码
ModelPointer
现代企业的 AI 模型网关
产品
公司
资源
© 2026 ModelPointer. 保留所有权利。