我们构建了一个仪表板来驯服 LLM 成本——它改变了我们的练习方式
在每一堂瑜伽课中,总有那么一刻,学生不再试图强行完成一个体式,而只是觉察身体正在发生什么。髋部很紧。呼吸很浅。肩膀在代偿。那一刻的觉察——不评判、精准——就是改变开始的地方。不是在强行发力中,而是在觉察中。
我们构建 AI Model Pricing Dashboard 的原因完全相同。不是因为我们想在大型语言模型上花更多钱,而是因为我们无法诚实、准确地告诉你——我们已经花了多少。团队里没有人知道。账单来了,没有人能回答这个简单的问题:我们实际在使用哪些模型,以及每个提供商的成本是多少?
底层的混乱
如果你曾在多个提供商之间运行 AI 工作负载,你就会知道这种痛苦。OpenRouter 按 token 计费,采用一种费率。OpenAI 将输入和输出 token 分开计价。Anthropic 有自己的结构。Kilo AI Gateway 叠加了带超额费用计算的订阅计划。每个提供商对 token 的计数方式都不同。每个提供商都会在没有发布说明的情况下更改定价表。
这有点像试图通过阅读五本不同语言的书来练习瑜伽,而且没有一本书对“Downward Dog”的含义达成一致。你可以勉强应付。但你会代偿。而代偿是有代价的——在基础设施侧以金钱支付,在瑜伽垫上以对齐支付。
仪表板的作用
AI Model Pricing Dashboard 是一个开源工具——BSD 3-Clause、兼容 MIT——由 FastAPI 后端和 Next.js 前端构建而成。它汇总 10+ 个 LLM 提供商的定价,将一切标准化为每百万 token 的美元成本,并提供一个可筛选、可排序的单一表格,让比较变得轻而易举。
但真正的价值不在于表格。真正的价值在于表格揭示了什么:
输入与输出 token 的计算。 大多数团队会从“每次调用成本”来思考。但现代 LLM 的使用主要由输出 token——模型的响应——所主导。某个模型对每百万输入 token 收费 $2,但对每百万输出 token 收费 $15,它的成本结构与分别收费 $5 和 $6 的模型完全不同。仪表板会立即让这一点变得可见。
上下文窗口的语境。 一个拥有 128K 上下文窗口的模型,看起来可能比一个 4K 窗口的模型更昂贵。但如果你当前需要连续调用更便宜的模型来处理长提示词,那么拥有大上下文窗口的昂贵模型实际上更便宜——而且结果更好。
趋势跟踪。 定价会变化。仪表板会保存 30 天的价格历史。这意味着你可以在提供商的价格变动影响到下一张账单之前就看到它们。
Kilo 计划预测。 如果你是 Kilo AI Gateway 用户,仪表板会将实际用量映射到各个套餐层级,并告诉你哪一个计划能让你的总成本最低,包括超额费用在内。
底层架构
系统运行在 Postgres 和 Redis 上,并使用 Kubernetes 清单进行生产部署。FastAPI 后端通过 900 秒的 Redis 缓存处理价格汇总——足够快,适合实时仪表板使用;也足够温和,不会给提供商 API 带来过大压力。CronJob 每 15 分钟刷新一次定价,并在 UTC 上午 9 点发送每日邮件报告。
对于本地开发,整套技术栈可通过 docker-compose.yml 在两分钟内启动——Postgres、Redis、API 和 Next.js 前端一应俱全。
我们选择 Kubernetes 不是因为这个仪表板需要大规模扩展,而是因为部署模式应该是“无聊”的。Traefik 负责入口,cert-manager 负责 TLS,API 和 Web 副本使用水平 Pod 自动扩缩容。无聊意味着可靠。可靠,才是当这个工具在影响预算决策时你真正想要的。
瑜伽与仪表板的相遇
接下来这一点,任何架构博客都不会告诉你:成本优化和瑜伽共享同一个第一步。
在瑜伽中,我们说觉察先于改变。如果你不知道髋部错位,就无法纠正它。如果你从未注意到下颌长期紧咬,就无法让它放松。觉察本身就是练习。觉察,是能动性开始的地方。
这个仪表板之所以存在,是因为我们觉察到了。第一次,我们拥有了关于 AI 工作负载真实成本的精确、诚实图景——不是估算,不是模糊地觉得“看起来很贵”,而是一个数字。而一旦你有了数字,你就可以做决定。我们要为这个工作负载切换提供商吗?我们要对非关键任务使用更便宜的模型吗?我们要更激进地缓存吗?我们要选择上下文窗口更大的模型并消除连续调用吗?
在那之前,这些决定都看不见。不是因为数据不存在,而是因为它散落在五个提供商仪表板、三个账单页面,以及一个没人更新的电子表格里。
我们编写了抓取器。我们构建了归一化器。我们搭建了仪表板。而在使用它的第一周,我们就发现了一项每月 $40 的低效问题,它已经持续了四个月。也就是说,我们因为没有在看它而多花了 $160。这个仪表板的搭建成本还不到一个晚上的时间。
我们从数据中学到什么
自从部署这个仪表板以来,我们的工作方式有三点发生了变化:
按任务做右配。 我们现在根据真实的每任务成本,而不是品牌偏好,为特定任务分配特定模型。高重复、低复杂度的任务交给更便宜、更快的模型。复杂推理任务则交给质量足以证明其价格合理的地方。这并不是新想法——它和根据当天身体真正需要选择恢复性练习还是力量流动序列,是同一个原则。
把缓存当作调息。 在瑜伽中,pranayama(呼吸控制)是一种让每一次呼吸都发挥作用的练习——更少的量,更高的意图,更好的氧交换。缓存 LLM 响应也是同样的概念。如果同一个提示会产生相同的输出,你就把它存起来。你不会为同样的计算付两次钱。仪表板中的 Redis 缓存和 900 秒 TTL,已将我们的重复 token 支出大约减少了 30%。少呼吸一点,却获得更多。
趋势觉察。 跟踪 30 天的定价趋势意味着,我们会在看到相关博客文章之前就先看到提供商降价。当某个提供商将费率下调 20% 时,我们会在一小时内知道。当某个提供商上调费率时,我们可以在下一个计费周期之前重新评估。觉察。能动性。决策。
开源,因为囤积工具不是好的瑜伽
该项目在 GitHub 上采用 BSD 3-Clause 许可证:github.com/andreab67/ai-models-pricing。其中包含 Kubernetes 清单。API 文档位于 FUNCTIONAL.md。SBOM——每个依赖项、其许可证、其安全说明——位于 SBOM.md。
我们将其开源,是因为这个问题不只属于我们。每个运行多提供商 AI 工作负载的团队都会遇到这个问题。囤积有用工具,用瑜伽类比来说,就像拒绝把一个会帮助学生的体式教给他们。分享并不会削弱练习。它会加深练习。
本周只做一件事
如果你的团队运行 LLM 工作负载,而你不能立刻回答“我们按提供商、按任务分别花了多少”——那你就是在代偿。不是糟糕地代偿,只是代价高昂地代偿。
在本地搭建这个仪表板。用 Docker 只需两分钟。运行它。看看数字。让数字告诉你一些你没注意到的东西。
然后再做决定。
这和我们在垫子上的练习是一样的:到场,觉察,选择。工具会变,原则不会。
AI Model Pricing Dashboard 是一个开源项目,地址为 github.com/andreab67/ai-models-pricing。生产实例运行在我们的 Kubernetes 集群上。如果你希望获得部署帮助,或将其集成到你自己的成本告警流水线中,请 联系。
