同一批显卡,既跑着接入 DeepSeek 的客服机器人,也跑着文档摘要任务,月底账单一来,两个团队各执一词。成本归集要解决的正是这件事:把花掉的钱按规则算到具体业务、团队或接口头上,让每笔支出有主可寻。
把账算到业务头上
思路类似餐厅后厨分账:一张桌子点的菜记到那张桌子,共享的锅底费按桌数摊。线上要做的是给每一笔调用打上标签——哪个项目、哪条业务线、哪个接口发起的,账单期末按标签汇总。标签打得越规范,账就越清楚;标签缺失,月底就只能靠猜。
一条链路里的钱花在哪
一笔 AI 请求的账不止模型本身。以一个基于 DeepSeek 做问答、用扣子编排流程的应用为例,支出至少包括:模型推理消耗的算力、请求前后的存储与带宽、编排环节本身的运行开销、日志留存占用的空间。只盯模型账单会漏掉一大截,归集的第一步是把链路各环节都纳入视野。
口径定了才好比较
按项目归集还是按团队归集、共享资源怎么摊,这些规则要提前定好并保持稳定。今天按调用量摊、明天按人数摊,两个月的数据就没法纵向比较。常见做法是双层口径:直接消耗精确到项目,共享开销按固定比例分摊,比例一年修订一次并留档。
账算清之后能做的事不少:发现某业务的单次调用成本偏高,可以转向更合适的计费方式,参考预留与按量;成本随流量起伏剧烈,可以评估用竞价实例承接离线部分;想让账和性能对上号,要结合监控指标;扩容决策则交给容量规划;拿不准两套模型谁更划算时,用模型 A/B 的数据说话。
打标签这件事,事前约定远比事后补救省力。常见做法是在请求入口统一注入标识:项目名、业务线、环境、调用方,随请求一路传递,日志和账单系统按同一套字段汇总。标识字段要保持稳定,改一次名,历史账目就断一截。已经跑起来又没打标的老服务,可以按接口路径反推归属,推不动的先按机器占用时间折算,同时限期补上打标能力。
落到操作层面,不同情形各有各的打标与分摊办法。
| 归集场景 | 打标或分摊的做法 | 口径上的硬约束 |
|---|---|---|
| 新接入的服务 | 请求入口统一注入项目名、业务线、环境、调用方,随请求一路传递 | 标识字段保持稳定,改一次名历史账目就断一截 |
| 已跑起来但没打标的老服务 | 按接口路径反推归属 | 推不动的先按机器占用时间折算,同时限期补上打标能力 |
| 共享显卡 | 按各业务占用的调用时长或算力份额分摊 | 比例口径写进文档,别靠口头约定 |
| 共享开销的分摊比例 | 按固定比例分摊,一年修订一次 | 修订要留档,口径来回换两个月的数据就没法纵向比较 |
账目之外,归集还有一个隐藏好处:让容量决策有了依据。哪个业务的算力涨得快、哪个接口单次消耗异常,都是数字说话,扩谁、缓谁、优化谁,优先级一清二楚。反过来,没有归集的团队讨论资源时容易陷入各说各话的局面,最后按嗓门大小分配,这也是把归集做扎实的根本动力。
成本归集自查清单
- 标签先行:调用发生时就带上项目与业务标签
- 链路完整:算力、存储、带宽、编排开销都要入账
- 口径稳定:分摊规则保持一致,修订要留记录
- 定期复盘:单次调用成本异常的业务优先排查
记住这句:账算到谁头上,谁才会真正关心省着用。
归集口径定好后,建议配一份一页纸的口径说明:谁负责打标、标签枚举有哪些、共享部分按什么比例、多久修订一次。新人接手照单执行,跨团队对账有据可查。口径文档和账目一样需要版本管理,改哪条、谁批的、何时生效都留记录,日后的争议自然少。
归集之外还有一步是归因:账目异动时能顺着标签追到源头,是调用量涨了、单价变了,还是链路里多了环节。有了归因的习惯,账目就不只是月底的数字,而是日常运营的仪表。
聊聊成本归集的常见疑问
- 共享显卡的成本怎么摊?:按各业务占用的调用时长或算力份额分摊,比例口径写进文档,别靠口头约定。
- 归集要细到什么程度?:细到能支撑决策即可,一般到项目级;再细会增加打标负担,数据也未必更准。
- 账目和实际账单对不上怎么办?:先查标签缺失和跨期请求,再核对计费单位,误差通常来自这两处。


