日期:2026-07-13
我们服务的一家集团客户(某股份制银行背景的金融科技子公司)在把大模型接入多个业务系统半年后,遇到了一个尴尬局面:AI 相关支出逐月攀升,但财务和研发谁都说不清钱到底花在了哪。是智能客服最贵?还是代码助手?是哪个业务线在用、用了哪个模型、产生了多少 token?没人能回答。更麻烦的是,GPU 集群看起来一直"很忙",可业务侧却频繁反馈推理延迟高、排队久——算力和成本之间像隔着一层毛玻璃。
这套"黑盒"状态带来三个直接痛点。第一,成本不可归因,预算审批只能拍脑袋;第二,无法识别"浪费",大量高度重复的相似问题在反复消耗昂贵的显存与算力;第三,缺乏可观测性,出问题时运维只能靠猜,定位瓶颈动辄几小时。客户明确提出:要把 AI 支出变成可核算、可下钻、可优化的透明账目,同时让系统运行状态看得见、告警得出来。
我们依托客户已部署的私有化 AI 底座与 AI 网关,搭了一套"计量—归因—观测—优化"的闭环。底座侧(模型服务化层与算力调度监控层)暴露吞吐、延迟、GPU 利用率等指标;网关侧(计量层与可观测层)则在每一次请求入口处做统一计量与链路追踪。
具体做法是:所有业务系统不直接调模型,而是统一走 AI 网关。网关的接入层归一化请求,路由层按模型画像与成本分发,计量层在每次调用完成时落一条明细(调用方部门、应用、模型、输入/输出 token、耗时、费用),并按部门/应用/用户沉淀配额与账单。底座把推理框架的吞吐、P99 延迟、KV 缓存命中、GPU 利用率通过 Prometheus 拉取,Grafana 统一出看板。两层数据打通后,成本既能从"花了多少"下钻到"哪个场景、哪个模型、哪个租户",也能和"延迟分布、利用率"并排对照,找到降本空间。
计量要准,难点在"归一化":不同模型对 token 的切分不同,有的按 BPE、有的按字。我们在网关接入层统一做 tokenizer 对齐,按目标模型的实际分词统计输入输出 token,避免"按字符估算"带来的账单偏差。每条调用写一条结构化计量记录(含 tenant_id、app_id、model_id、prompt_tokens、completion_tokens、cost、latency_ms),异步批量落库。账单按"部门 → 应用 → 用户"三级聚合,月底可导出,让每个业务线看见自己的 AI 花销。
光有账单不够,得能下钻。我们在计量表上加了多维标签(业务场景、模型、租户、是否命中缓存),用预聚合表按天/按周出"场景—成本"矩阵。例如下钻后发现:某"知识问答"场景占总支出的 42%,但其中约 35% 的提问和历史问题高度相似——这就是明确的优化靶心。归因让"钱花哪了"从一句话变成一张可操作的图。
底座侧我们拉取了推理框架的连续批处理队列深度、P50/P95/P99 延迟、GPU 利用率、KV 缓存占用;网关侧记录每次请求的全链路:路由决策、排队时长、首 token 延迟、生成耗时、回退事件。调用链追踪(trace)把"网关排队 → 底座推理 → 返回"串成一条线,哪个环节慢一目了然。Grafana 把延迟分布和 GPU 利用率叠在一张图,运维第一次能直观看到"利用率高但延迟也高"背后的批处理拥堵。
看清问题后,我们上了四招:
治理不能只靠事后看板。我们在网关管控台给每个部门/应用设月度配额与预算阈值,消耗达 80% 触发预警、达 100% 触发限流熔断,把"超支"从月底复盘变成事中拦截。同时限流信号反向驱动底座弹性扩缩容,形成算力—流量联动闭环。
案例片段(已脱敏): 以下为某月网关计量账单样例(脱敏示意,金额单位已脱敏):
部门 应用 模型 输入token 输出token 调用次数 费用(示意) 零售金融 智能客服 xxx-13b 182.3M 54.1M 412,000 8,640 零售金融 知识问答 xxx-13b 96.7M 88.2M 205,000 9,910 科技部 代码助手 xxx-34b 41.2M 30.5M 88,000 7,220 风控 文档摘要 xxx-7b-q 210.5M 60.3M 12,000 3,180语义缓存命中配置(脱敏示意):vector_cache on;sim_threshold=0.92;ttl=24h;命中即返回,不触发底座推理。上线后知识问答场景缓存命中率约 38%,该场景大模型调用量下降约 31%。
上述金融科技客户落地该套成本治理与可观测体系后,脱敏示意效果如下:
这个项目最深的体感,是"看不见就无从优化"。几条可迁移的经验:
结语:大模型成本治理不是一次性的降本运动,而是一套"计量—观测—优化—管控"的持续运营能力。当支出变成透明账目、运行变成可视指标,省下的不只是预算,更是团队对 AI 系统的掌控感。