你的 Claude Code 账单正在增长,以下是控制方法

发布: (2026年3月5日 GMT+8 21:13)
9 分钟阅读
原文: Dev.to

请提供您想要翻译的完整文本(除了已给出的 Source 行之外),我将为您翻译成简体中文。

TL;DR

Claude Code 的使用量随团队规模线性增长,但成本 并不保持线性。一个未监控的 20 名开发者团队可能在 API 费用上每月消耗数十万卢比,却没有人注意到。Bifrost(开源、Go、约 11 µs 开销)通过虚拟密钥为每位开发者提供预算、实时成本跟踪、将简单任务路由到更廉价的模型替代方案,以及自动故障转移——全部无需开发者改动一行代码。

GitHub | Docs | Website

没有人预算的成本问题

听着,Claude Code 确实能彻底改变开发者的生产力。对此无可争议。

但当一个 20 人的开发团队每天开始使用它时,会出现以下情况:

问题症状
缺乏可见性你根本不知道谁在花多少钱。开发者 A 可能在对一个庞大的 monorepo 重构使用 Claude Code(₹15 000 / day)。开发者 B 可能在进行变量重命名(₹500 / day)。两者在 Anthropic 发票上只显示为一条记录。
没有上限没有内置机制为每位开发者设置 ₹25 000 / month 的上限。一次递归循环、一次过度活跃的自主会话、一次周末实验——就可能把下个季度的预算全部用光。
缺乏路由智能每个 Claude Code 请求默认都会走 Opus‑tier 计费,即使约 60 % 的任务(变量重命名、编写样板代码、简单补全)本可以用质量相同但更便宜的模型完成。
没有故障转移当 Anthropic 对你进行速率限制(在大规模使用时必然会发生),Claude Code 就……停止工作。没有自动回退到 Bedrock 或其他提供商的机制。

我们在运行 Bifrost 时遇到了所有这些问题,于是我们把解决方案直接内置到了网关中。

虚拟密钥如何解决此问题

Bifrost 的虚拟密钥系统为每个开发者(或团队、或项目)提供独立的 API 密钥和相应的控制。一个网关,多个密钥,每个密钥都有自己的规则。

按开发者的预算上限

Developer A: Virtual Key "dev-pranay"
  → Monthly budget: ₹25 000
  → Rate limit: 100 requests/minute
  → Models allowed: claude-sonnet-4-20250514, claude-haiku-4-5-20251001

Developer B: Virtual Key "dev-intern"
  → Monthly budget: ₹5 000
  → Rate limit: 30 requests/minute
  → Models allowed: claude-haiku-4-5-20251001 only

当开发者达到预算上限时,Bifrost 会返回明确的错误——不再出现意外账单,也不必召开“上个月谁花了 20 万卢比?”的会议。

四层预算层级

层级目的
客户组织整体支出上限
团队按团队分配(前端、后端、机器学习等)
虚拟密钥按开发者或项目的上限
提供商配置按提供商的支出限制

每个层级都独立强制执行。即使团队还有剩余配额,开发者也不能超出其虚拟密钥预算;同样,即使组织预算还有余量,团队也不能超出其分配额度——深度防御。

设置此环境 (≈ 10 分钟)

步骤 1 – 启动 Bifrost

npx -y @maximhq/bifrost
# Open http://localhost:8080

步骤 2 – 添加你的提供商

在 Web UI 中,添加你的 Anthropic API 密钥(以及可选的 OpenAI、Bedrock 等用于故障转移)。

步骤 3 – 创建虚拟密钥

为每位开发者创建一个虚拟密钥,内容包括:

  • 月度或每日预算上限
  • 速率限制(每分钟请求数)
  • 允许的模型列表
  • 回退链(例如,Anthropic → Bedrock)

步骤 4 – 将 Claude Code 指向 Bifrost

为每位开发者添加一个环境变量:

# In .bashrc, .zshrc, or Claude Code config
export ANTHROPIC_BASE_URL=http://your-bifrost:8080/anthropic
export ANTHROPIC_API_KEY=vk-dev-pranay   # Their virtual key

Claude Code 并不知道区别——它认为自己直接在与 Anthropic 通信。所有请求都会通过 Bifrost,进行日志记录、预算检查,并根据你的规则进行路由。

实时成本跟踪

每个通过 Bifrost 的请求都会记录:

  • Cost – 输入 token、输出 token、以您的货币计的总成本
  • Model used – 实际处理请求的模型
  • Latency – 首个 token 的时间、总响应时间
  • Developer – 发起请求的虚拟密钥
  • Timestamp – 请求发生的时间

http://localhost:8080 的网页 UI 实时显示这些数据。您可以按虚拟密钥、模型或时间范围过滤,并导出数据用于财务。再也不用等到每月的 Anthropic 发票才发现超支。

模型路由:不再为 Haiku 任务支付 Opus 价格

Bifrost 支持加权路由;您可以配置虚拟键,根据规则将一定比例的流量发送到不同模型。

Claude Code 的实际划分:

任务类型目标模型
复杂(架构决策、大规模重构、调试)Claude Sonnet / Opus
简单(模板代码、重命名、格式化)Claude Haiku 或 GPT‑4o‑mini

路由、格式转换和响应标准化在 Bifrost 中透明完成。

成本比较(每 1 M 输入 token)

模型约成本
Claude Opus~$15
Claude Sonnet~$3
Claude Haiku~$0.78
GPT‑4o‑mini~$0.15

如果 60 % 的 Claude Code 任务足够简单可以使用 Haiku,路由这些任务可节省约 75 % 的流量成本。结合语义缓存(Bifrost 也支持),整体成本降低 50‑70 % 对大多数团队来说是现实的。

自动 …

(原始内容在此截断;如有需要,请继续补充文档的其余部分。)

故障转移

当 Anthropic 对你的团队进行速率限制(429 错误)时,Bifrost 会自动切换到链中的下一个提供商。如果你已将 Bedrock 配置为后备:

Primary: Anthropic Claude Sonnet
  ↓ (rate limited)
Fallback: AWS Bedrock Claude Sonnet
  ↓ (if also unavailable)
Fallback: OpenAI GPT‑4o

每次后备都是一次全新的请求;所有插件(缓存、治理、日志)都会重新执行。开发者的 Claude Code 会话不会中断,他们甚至可能没有注意到故障转移已经发生。

大规模时的表现

未使用 Bifrost 时

  • 没有针对每位开发者的可视性
  • 每月 Anthropic 费用:₹15‑25 lakh(波动很大)
  • 除了“请少用”之外,几乎没有成本控制
  • 限流期间出现停机

使用 Bifrost 时

  • 为每位开发者设定预算上限并实时跟踪
  • 每月成本:₹5‑10 lakh(受控路由 + 缓存)
  • 限流期间自动故障转移
  • 财务团队每周收到按团队划分的成本报告
  • 11 µs 的网关开销;开发者几乎感觉不到

入门

npx -y @maximhq/bifrost
# Open http://localhost:8080
# Add providers → Create virtual keys → Distribute to developers

GitHub: https://git.new/bifrost
文档: https://getmax.im/bifrostdocs
网站: https://getmax.im/bifrost-home

0 浏览
Back to Blog

相关文章

阅读更多 »