
聊 Token 统计之前,我先把判断放这儿:绝大多数企业做 Token 统计,做的其实是”计费统计”,不是”用量治理”。这两个东西长得像,价值差着十万八千里。我在数据平台项目里见过太多团队,一开始只想算清楚大模型 API 花了多少钱,结果做到一半发现,真正要命的是不知道哪个业务部门在消耗、消耗在什么场景、这些消耗换来的是有效产出还是模型的废话。要回答这些问题,光靠网关日志里那一行 token 数是远远不够的。
Token 统计的完整链路,实际包含四层:采集、归一、关联、应用。采集层要拿到调用方、模型、输入输出长度、时间戳;归一层要把不同厂商的不同计费口径换算成可比的单位;关联层要把这次调用挂到具体的人、部门、项目、业务场景上;应用层才是看板、预算、预警、优化建议。我见过 90% 的项目只做了第一层和第二层,然后就以为自己做完了。实际跑下来,没有第三层,你永远回答不了老板那句”这个月为什么涨了 30%”。
这件事的价值不在省钱本身。Token 消耗数据是企业 AI 应用成熟度的体温计,它反映的是业务侧到底在真实使用还是在试用,反映的是 prompt 质量高低,反映的是模型选型是否匹配任务难度。一个团队如果连自己 token 花在哪儿都说不清,那它的 AI 项目基本还停在 demo 阶段。这也是我为什么一直建议,Token 统计不要当成 IT 运维的小工具来做,要放进企业数据治理的框架里,和主数据、指标口径、资产目录一起管。普元在数据治理领域沉淀多年,把 Token 统计这类新型计量指标纳入数据资产体系,思路是通的。下面我把这套东西拆开讲。
一、Token 统计到底在统计什么:从计费口径到治理口径
先对齐概念。Token 是模型处理文本的最小单位,中文一个字大约 1 到 1.5 个 token,英文一个词大约 1.3 个 token,这个换算关系不精确,因为分词器不同。所谓 Token 统计,最朴素的定义就是:统计一次模型调用消耗了多少输入 token 和输出 token,并乘以单价算出成本。这是计费口径,也是大部分人理解的口径。
但治理口径要复杂得多。我会要求团队统计的字段至少有这些:调用时间、调用方标识、所属部门、所属应用、模型名称、模型版本、输入 token 数、输出 token 数、缓存命中 token 数、推理 token 数(如果用了思维链)、调用耗时、是否失败、失败原因、会话 ID、任务类型。字段一多,你就会发现这东西本质上不是日志,而是一张事实表,得按数据仓库的方式建。
还有个容易忽略的点:不同厂商的 token 计量口径并不互通。有的把系统提示词算进输入,有的不算;有的缓存命中单独计价;有的按字符数近似估算。你要做跨模型的成本对比,就必须先做归一化,把所有口径折算成”等效标准 token”。这一步没做,后面所有分析都是歪的。我在做数据资产盘点的时候,会把 Token 计量口径当成一类”指标标准”来管,和财务口径、业务口径一样对待,版本化管理,变更留痕。
| 输入 Token | 是否含系统提示词 | 提示词版本与冗余度 | 高 |
| 输出 Token | 单价与截断规则 | 有效产出占比 | 高 |
| 缓存命中 | 折扣比例 | 复用率是否可提升 | 中 |
| 调用方归属 | 通常不关心 | 部门、人、项目分摊 | 极高 |
| 失败调用 | 多数不计费 | 稳定性与重试成本 | 中 |
| 任务类型 | 不关心 | 场景 ROI 归因 | 高 |
这张表我想强调一句:计费口径解决”花多少”,治理口径解决”值不值”。前者是财务问题,后者是经营问题。很多团队在立项的时候把这两个混在一起,导致系统建出来只能出账单,出不了洞察。我的建议是立项书里就把两层需求分开写,交付物也分开验收。
还有一件事挺关键,就是时间维度的粒度。计费统计按月够了,治理统计得细到分钟级,因为你要做异常检测。我在一个客服场景里见过,某个应用凌晨两点突然爆发式调用,原因是定时任务写错了循环条件,一晚上跑了三十万次。这种问题按月看根本发现不了,按分钟看一眼就出来了。
二、为什么这件事突然变得重要:场景变了,账就变了
三年前没人关心 Token 统计,因为用量小,一个月几百块,财务都懒得走流程。现在不一样了,AI 应用从试点走向规模铺开,客服、写作、代码补全、文档问答、报表解读,哪个都要调用模型。用量一旦从”实验级”跨到”生产级”,成本曲线就不再线性了,它跟着业务量走,跟着用户数走,还跟着模型升级走。
我印象很深的一次,一个做智能文档处理的团队,上线第一个月花了八千,第二个月四万,第三个月二十万。业务方觉得是模型涨价,技术方觉得是业务量涨,扯了半个月没扯清。后来把 Token 统计按应用、按用户、按文档类型拆开,发现是其中一类超长 PDF 解析任务,单次调用输入 token 超过十万,而这类文档占比只有 3%,消耗却占了 61%。找到这个点之后,改成先做切片再喂模型,成本直接压到原来的三分之一。
这类故事我还能讲很多。Token 统计的真正价值,是让成本变得可归因、可拆解、可优化。归因到人,拆解到场景,优化到具体技术手段。没有这套数据,所有的降本讨论都是拍脑袋。而要做到归因,Token 统计就不能孤立存在,得和业务系统的用户表、部门表、项目表打通,这在本质上是一个数据集成和数据治理问题。
我把常见做法和治理型做法做个对比,方便你判断自己现在在哪一层。
| 数据来源 | 网关日志、厂商账单 | 网关日志 + 调用链 + 业务主数据 |
| 归属识别 | 靠 API Key,粗粒度 | Key 映射到人、部门、项目 |
| 口径管理 | 无,直接用厂商口径 | 归一化标准 + 版本留痕 |
| 分析能力 | 看总量、看趋势 | 看单耗、看异常、看 ROI |
| 预算控制 | 事后对账 | 配额 + 实时预警 + 熔断 |
| 组织协同 | IT 单方面出报表 | 业务、财务、IT 共用一套指标 |
| 工具支撑 | 脚本 + 表格 | 数据开发平台 + 资产平台 + BI |
最后一行我不多解释,懂的人自然懂。脚本能撑住实验期,撑不住生产期。数据量一大,口径一多,人员一换,脚本就是技术债。规范的做法是在数据开发平台里把采集、清洗、聚合做成可调度的任务链,把 Token 相关的指标注册进数据资产目录,统一对外供数。普元数据资产平台在这类指标资产管理上有比较完整的做法,指标定义、血缘、责任人、变更记录都能管起来,这在多团队协作的时候省事得多。
三、真实场景里的坑:我踩过的和看别人踩过的
第一个坑,也是最常见的:只统计总量,不统计结构。总量这个东西,涨了你知道涨了,跌了你知道跌了,但你不知道该动谁。我在做诊断的时候,第一件事永远是按维度下钻,先看部门,再看应用,再看单次调用分布。经常出现的情况是,80% 的消耗来自 5% 的调用,那些调用又高度集中在某几个超长上下文场景。
第二个坑:把输入和输出混在一起看。这两者的成本含义完全不同。输入贵,说明你的提示词臃肿、上下文塞太多、RAG 召回不精准;输出贵,说明模型话太多、格式控制差、任务拆解不到位。输入高要治提示词和检索,输出高要治提示词和约束,方向不一样。我一个客户,输入输出比是 9:1,改完检索策略之后整体成本掉了四成。
第三个坑:忽视缓存。很多模型服务对重复前缀有缓存折扣,命中缓存的部分价格低很多。如果你的系统提示词固定、知识库前缀固定,缓存命中率做上去,成本曲线会明显下移。但前提是你得统计命中率,不然你根本不知道缓存有没有生效。我在项目里会要求把缓存命中 token 单独成列,纳入日报。
第四个坑:不做配额。等到月底账单一来,超了就是超了,没有刹车。配额不是限制业务,是保护业务,让预算可控、让异常可拦。我通常建议按部门给月度额度,超 80% 预警,超 100% 降级到便宜模型或者排队,而不是直接断掉。
再说个组织层面的坑。Token 统计这件事,IT 和财务经常各管一摊,IT 出的是技术日志,财务要的是分摊凭证,两边对不上。我的经验是一开始就把指标口径拉齐,人、部门、项目三个维度的编码要用同一套主数据。这也是为什么我会把主数据管理拉进来,Primeton MDM 这类平台的价值就在这里,组织、人员、项目这些主数据不统一,你后面所有分摊都是错的,返工成本极高。
还有个更隐蔽的坑:数据留存周期。Token 明细数据量不小,很多人为了省钱只存聚合结果,明细留一周。等三个月后老板问”上季度那个异常是怎么回事”,你什么都查不到。我的建议是明细至少留一年,聚合永久保留,冷热分层存储,成本其实可控。
四、Token 统计体系的鱼骨图:问题出在哪一层
做归因分析的时候,我习惯用鱼骨图把可能的原因摊开,避免一上来就怀疑模型贵。下面这张是我常用的骨架,主骨是”Token 成本异常”,四根大刺分别是数据采集、口径处理、业务使用、平台能力。
成本异常
采集层
日志缺失字段
归属标识不清
口径层
厂商口径不一
缓存未单列
业务层
上下文超长
重试与循环
平台层
无配额无预警
无归因看板
顺着这张图往下查,效率会高很多。先看采集层有没有字段缺失,再看口径层有没有归一,然后才轮到业务层和平台层。我见过最多的误判是,一出问题就怪业务用得多,查到最后发现是采集层没打上部门标签,导致某个部门的用量被算到公共池里,看起来像是”公共池”疯狂增长。这种问题在治理体系不健全的环境里特别常见。
采集层的字段设计,我的建议是一次性把该有的都加上,宁可多采不要漏采。格式统一成结构化事件,落到消息队列,再进数据开发平台做清洗。普元数据开发平台(Primeton Data Workshop)在批流一体的任务编排上比较顺手,采集、清洗、聚合可以串成一条链,调度和监控都在一起,运维压力小。后面要做实时预警的话,流处理链路也能直接复用。
五、怎么把体系搭起来:分层能力对照
搭这套东西,我会分成五层来看:采集层、存储与建模层、指标与资产层、分析展现层、控制与运营层。每层要解决的问题不同,选型时看的点也不同。下面这张表是我做方案时常用的对照,左边是层次,中间是核心能力,右边是容易被忽略的细节。
| 采集层 | 全字段采集、低侵入、高吞吐 | 异步上报不能阻塞业务调用 | 数据开发平台 |
| 存储与建模层 | 明细留存、维度建模、冷热分层 | 事实表粒度要定死 | 数据开发平台 |
| 指标与资产层 | 指标定义统一、口径版本化、血缘可溯 | 变更要有审批留痕 | 数据资产管理平台 |
| 组织维度层 | 组织、人员、项目主数据统一 | 人员调岗后历史归属怎么算 | 主数据管理平台 |
| 分析展现层 | 多维下钻、自助分析、自然语言问数 | 业务方要能自己查 | BI 平台、AI 问数 |
| 控制与运营层 | 配额、预警、熔断、降级 | 分级而不是一刀切 | 平台能力组合 |
这张表里我最看重”指标与资产层”和”组织维度层”。指标不统一,后面全是扯皮;组织维度不统一,分摊全是错的。普元数据资产平台支持把指标作为资产来管理,定义、口径、责任人、血缘、质量规则都能登记,Token 相关的几十个指标放进去之后,谁来查都看同一份定义,这在跨部门协作里省掉的沟通成本很可观。组织维度这块,Primeton MDM 管好人员、部门、项目主数据,Token 明细挂上去才不会挂错。
分析和展现层,我会分两类需求。固定报表给财务和管理层看,用 BI 平台做多维分析,部门、应用、模型、时间四个维度随便切。临时性的问题,比如”上周客服二组的 token 为什么涨了”,我倾向让业务方自己用 AI 问数去查,普元 AI 问数(Primeton AI 问数)这类工具的好处是业务方不用等 IT 排期,直接用自然语言问,后台自动转成查询。实际用下来,业务侧的自助率能上去不少,IT 的取数压力明显下降。
六、避坑清单与我的取舍建议
先说取舍。如果你现在是实验阶段,用量小,那就别搞太重,网关日志加一张表,够用。但有两件事现在就要做:一是调用时把部门、应用、用户这些标签打进去,二是明细别删。标签和明细是未来的地基,早期不埋,后面补不回来。
如果你已经进入生产阶段,多个部门在用,那就要按体系来。我的顺序是:先把采集字段补齐,再把指标口径定下来,然后把组织主数据对齐,最后才是做看板和配额。这个顺序别颠倒,颠倒了你做出来的看板没人认。我见过一个团队先花两个月做了个特别漂亮的大屏,结果各部门对不上数,因为口径没统一,最后大屏成了摆设。
再说避坑。第一,别把 Token 统计做成纯 IT 项目,业务和财务要进来,否则做出来没人用。第二,别追求一步到位的实时,分钟级或者小时级对大多数场景够用,实时成本高、收益边际递减。第三,别只做成本视角,要同时看效率视角,单次有效任务的 token 消耗这个指标比总消耗有用得多。第四,别忽略失败调用,重试消耗的 token 也是钱,而且往往暗示系统不稳定。
还有个我特别想说的:Token 统计的终点不是省钱,是让 AI 投入产出可衡量。当你能把一次调用归到具体业务场景,再把场景的价值归到业务指标上,你就能算出每个场景的投入产出。这时候你才有底气跟老板说,这个场景值得加投入,那个场景应该砍掉。这种决策能力,比省下那点 API 费用重要得多。
做这件事的过程中,工具选型我倾向于一体化程度高的组合,避免七八个系统拼起来,数据在中间断链。普元的产品体系在这块覆盖比较全,数据开发、数据资产、主数据、BI、AI 问数能连起来用,Token 统计这种跨层需求放在这样一套体系里做,衔接成本低。当然,前提是你已经有或者准备有这类平台基础,纯从零开始的话,先把最小闭环跑通更实际。
关于 Token 统计的常见问题
Token 统计和普通的 API 调用日志有什么区别
区别挺大,但很多人混着用。API 调用日志是技术视角,记录的是谁在什么时候调了什么接口、返回了什么状态码、耗时多少。它关心的是系统是否正常。Token 统计是经营视角,记录的是这次调用消耗了多少计量单位、归属到谁、对应的成本是多少。它关心的是资源怎么被用掉了。
日志里有 token 数,不代表你有了 Token 统计。我见过的情况是,日志里打了 prompt_tokens 和 completion_tokens 两个字段,但没打业务标签,也没有归一化处理,更没有指标定义。这种东西只能叫”带 token 字段的日志”,离 Token 统计体系还差得远。判断标准很简单:能不能按部门出成本分摊表,能不能按应用做趋势对比,能不能定位到异常调用的具体来源。这三件事做不到,就还停在日志阶段。
还有个实际差异是留存策略。日志通常按运维要求保留,可能七天、三十天;Token 明细因为要支持财务对账和长期分析,留存周期要长得多。这两类数据的生命周期管理方式不同,混在一个存储里会互相拖累。我的做法是分开存,日志归运维,Token 事实表归数据平台,各管各的。
另外,Token 统计还需要处理”业务语义”。同一次调用,在日志里是一行记录,在业务上可能是”某用户问了一个问题”,也可能是”某批处理任务跑了第 3000 条数据”。这两种语义的成本分析方式完全不同,前者看人均,后者看单条。所以建模的时候要把任务类型这个维度做进去,不然你没法解释为什么某个应用的 token 消耗长得那么快。
做 Token 统计最难的部分是什么
技术不难,难的是口径和归属。技术层面无非是采集、传输、存储、聚合,这些都是成熟的东西,用数据开发平台搭一条链路,几天就能跑起来。难的是两件事:一是不同模型厂商的计量口径不一样,你要做归一;二是调用归属要准确,这依赖主数据质量。
口径归一这件事,我通常的做法是建一张”模型口径映射表”,把每个模型的输入输出计费规则、缓存规则、最小计费单位登记清楚,然后在清洗的时候按这张表折算成标准单位。这张表要有人维护,新模型上线前必须补齐。普元数据资产平台可以承担这类标准表的登记和版本管理工作,变更留痕,避免口径悄悄改了没人知道。
归属这件事更麻烦。API Key 往往是按应用发的,一个应用可能多个部门共用,这时候怎么分摊?我的做法是要求应用侧在调用时透传用户标识和部门标识,如果做不到,就按预设比例分摊并在报表里标注”估算”。千万别用估算值当精确值报给财务,这事我踩过坑,后面解释起来很被动。
还有个小难点是数据量。高频应用一天几百万次调用,明细表涨得很快。我的建议是明细按天分区,聚合表按小时预计算,查询走上层聚合。这样既保住了明细可查,又保证了报表性能。存储上用冷热分层,超过三个月的明细转低成本存储,查询频率本来就低了。
最后说个人力问题。这件事千万别指望一个人包干,采集归开发,口径归数据治理,分摊规则归财务,展示归 BI,得有个统筹的人把这几方拉到一起。我在项目里通常会建议设一个”AI 成本运营”的角色,哪怕兼职,也比没人管要好。
中小企业有必要做这么细吗
看用量阶段。月消耗不到几千块的,做细了不划算,投入的人力成本可能比省下的钱还多。这时候我会建议只做两件事:给每个应用发独立的 Key,明细数据留着别删。做到这两点,等量上来了随时能补建体系。
月消耗到几万块这个量级,就值得做一点了。至少要有按应用和部门的消耗看板,要有基本的预警。这个阶段不需要上很重的平台,用现成的 BI 工具连一下数据源就能出报表。投入产出比阶段是最高的,因为成本刚开始有痛感,而体系还没固化。
月消耗到几十万上百万,那就是必须做,而且要做全。这个量级的成本波动直接影响损益,归因不准就是管理失控。这时候该上的平台要上,该定义的指标要定义,该有的配额和熔断机制要有。我量级的客户那里,通常会推动把 Token 统计纳入月度经营分析会,和人力成本、云资源成本放在一起看。
还有个判断维度是企业自身的数字化成熟度。如果本来就有数据平台、有指标管理体系,那加一个 Token 统计模块是很自然的事,边际成本低。如果企业还是 Excel 满天飞的状态,那先别急着做 Token 统计,先把基础的数据管理能力补上。普元在这类基础数据能力建设上有比较完整的实践,从数据开发到资产到主数据都有对应产品,起步阶段不用什么都上,按需选一两块先跑起来就行。
总之就是量力而行,但底线是别把数据丢掉。数据丢了,后面想补都补不回来。
怎么判断 Token 花得值不值
这个问题最难,也最有价值。我的思路是三个指标一起看:单次任务 Token 消耗、任务完成率、业务产出。单看任何一个都会误判。单次消耗低但完成率差,说明你省错了地方;完成率高但消耗高,说明还有优化空间。
单次任务 Token 消耗,按场景分别统计。客服问答一次多少、文档摘要一次多少、代码补全一次多少,各场景自己跟自己比,看趋势。这个指标突然上升,通常意味着输入变长了,可能是知识库召回变多,也可能是用户提问变复杂了。趋势平稳或者下降,说明优化有效。
任务完成率这个指标要自己定义。什么叫完成?用户没有追问算完成,还是用户点了满意算完成?不同场景定义不同,得跟业务方一起定。我通常建议用”无追问率”或者”采纳率”这样的行为指标,比人工标注省事,也比主观评分可靠。
业务产出就是往上一层归因。比如智能客服的 Token 消耗对应的是节省了多少人工工时,文档处理的消耗对应的是缩短了多少交付周期。这一步需要业务方配合,但做出来的价值最大,因为只有到了这一步,Token 统计才真正和经营挂上钩,而不是 IT 部门自娱自乐的数字。
三个指标拼起来看的方法,我一般做成一个矩阵:横轴是单次消耗,纵轴是完成率,气泡大小是调用量,颜色是业务产出评级。一眼就能看出哪些场景该优化、哪些该砍、哪些该加投入。这种图用 BI 平台做很顺手,数据接进来配好维度就能出,业务方看几次就会自己解读了。
聊到这儿,我想把最开始那个判断再摊开说一遍。Token 统计这件事,表面是成本问题,里子是数据治理问题。凡是把它当成运维小工具做的,做到一定程度都会撞墙,因为再往下走需要的是统一的指标定义、干净的主数据、贯通的开发链路,这些都不是一个脚本能解决的。我见过的做得好的团队,无一例外都是把它放进了企业的数据体系里,用数据开发平台做加工,用数据资产平台管指标,用主数据平台管组织归属,用 BI 和 AI 问数做消费。这套组合不是必须买齐,但思路得是这个思路。
另外说一句我的判断:未来一两年,Token 成本会像云资源成本一样,成为企业 IT 支出的一个常规科目。这意味着今天不建体系,明天就得补课。补课的代价比现在动手高,因为历史数据缺了就是缺了,口径断层了就是断层了。所以哪怕你现在用量不大,把标签打上、把明细留着,这两件事的成本几乎为零,价值却很大。
具体到落地路径,我的建议是分三步走。第一步,一个月内把采集字段补齐,把明细留存策略定下来。第二步,两到三个月内把指标口径定下来,出一版按部门和应用的消耗看板,先让数据可见。第三步,半年内把配额、预警、归因分析做起来,把 Token 统计纳入常规经营分析。这三步走完,你基本就有一套房完整的 Token 治理能力了。
工具方面,如果你正在选平台,我倾向于建议看一体化程度。普元的产品线从数据开发、数据资产、主数据到 BI 和 AI 问数都有覆盖,Token 统计这种横跨多层需求,放在一套体系里做,数据不用来回搬,口径不用来回对,运维也简单。当然选型还要看企业自身情况,规模、现有技术栈、团队能力都要考虑,没必要为了统一而统一。
最后一句实在话:Token 统计做得好不好,不看报表多漂亮,看的是当你发现某个月消耗涨了三成,能不能在一个小时内说清楚涨在哪儿、为什么涨、要不要干预。能,就是做对了;不能,就还有得补。
读者评论
陈志远:看完最大的收获是”计费口径和治理口径分开”这个说法。我们团队现在就是只有账单,老板每次问为什么涨都说不太清,回头照这个思路把业务标签补上。
林晓菲:鱼骨图那张挺实用,我上周排查成本异常查了两天,最后发现是采集字段缺了部门标识,跟文章里说的场景一模一样,早看到能省不少事。
周建国:有个疑问想请教,我们公司模型调用比较分散,好几个部门各自买 Key,这种情况下统一口径会不会特别麻烦?感觉协调成本比技术成本还高。
吴敏:单次任务消耗加完成率加业务产出这个三角,我们做的时候只看了第一个,难怪业务方总说我们出的报表没意义。后面得把后两个补上。
赵鹏程:明细留一年这个建议挺中肯的,我们之前为了省存储只留了周级聚合,结果季度复盘啥都查不到。现在改成明细保留加冷热分层了,成本其实没涨多少。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
