Uber 限制 AI 编程预算之后:如何用 Cost.dev 让 Agent 调用成本降 79%
6 月 2 日,LA Times 报道 Uber 限制员工使用 AI 编程工具,原因是季度预算被大幅突破。这不是孤例——Corporate America Is Starting to Ration AI as Cost Skyrockets 的讨论在 HN 上获得了数百点关注。
当你的团队每天运行数百次 Claude Code 调用、GitHub Copilot 请求像呼吸一样自然时,AI 编程的月度账单可能在你不经意间突破五位数。问题不在于「要不要用 AI 编码」,而在于——你根本不知道花了多少钱。
为什么 AI 编程成本容易失控?
三个原因:
- Token 消耗不可见:每次
claude -p "refactor this module"产生的输出 token 不会在终端告诉你「本次调用 $0.47」 - Agent 循环放大成本:AI Agent 自动重试、上下文窗口膨胀、重复读取文件——这些「看不见的循环」是成本黑洞
- 估算靠猜:你让 Agent「优化一下 Terraform 配置」,它可能编造一个 AWS 价格,而你完全不知道
正是在这种背景下,Infracost 团队(YC W21)——五年前以 Terraform 成本估算工具闻名的团队——推出了 Cost.dev,一个专门为 AI 编程 Agent 设计的成本感知 CLI。
Cost.dev 是什么?
Cost.dev 是一个 CLI 工具,定位非常清晰:让 AI 编程 Agent 知道自己每步操作的成本。它来自 Infracost 团队,核心洞察是:Infra-as-Code 的成本估算(Infracost 本身)和 AI Agent 的 Token 消耗管理,本质上是同一个问题——开发者需要精确的数字而非 LLM 的猜测。
关键能力:
- 79% 输出 Token 缩减:优化 CLI 输出格式后,Claude 的响应 Token 减少了近八成
- 67% API 费用降低:同样任务,API 调用成本下降三分之二
- 精确的成本数据:CLI 做确定性的静态分析(扫描代码 → 查询云厂商实时价格 → 输出结构化结果),LLM 只做自然语言部分
- 跨工具兼容:支持 Claude Code、GitHub Copilot、Cursor、Windsurf、Codex、Gemini CLI,以及 VS Code 和 JetBrains
安装
Cost.dev 作为 Infracost Dev 产品线的一部分,安装非常简单:
brew install infracost/tap/infracost curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh docker pull infracost/infracost
安装后注册即可使用:
infracost auth login
集成 Claude Code:一个实战例子
假设你正在用 Claude Code 优化一个 Terraform 配置,想让数据库从 gp2 迁移到 io2 以提升性能。过去这会是一个「让 Claude 猜价格」的流程:
claude -p "帮我看看这个 Terraform 配置,把 RDS 从 gp2 改成 io2,评估一下费用变化"
Claude 会读取文件、想起 AWS 定价、编造一个数字,然后写一段代码。你不知道它猜得准不准。
使用 Cost.dev 之后:
claude -p "infracost diff 当前配置 vs gp3 迁移方案,给出成本对比"
Claude 调用 infracost break-down --path=. 触发静态分析,CLI 返回精确的结构化 JSON,Claude 基于这个精确数字做判断。
输出示例(非实际命令):
✔ Evaluated 12 resources across 3 modules Monthly cost change: NAME OLD NEW DELTA aws_db_instance.main $405 $320 -$85 (-21%) aws_alb.frontend $98 $98 $0 aws_ecs_service.backend - $0* $0 ───────────────────────────────────────────────────── TOTAL $503 $418 -$85 (-17%)
Claude 基于此给出建议:「gp3 在这个负载下比 io2 每月省 $85,且延迟差异在 1ms 以内,建议采用 gp3。」
关键区别:不是 Claude 在猜 AWS 定价,而是 CLI 查了三朵云的实时价格数据库(1000+ 服务,~10M 价格点),返回精确数字,Claude 只负责解读。
CLI 优化设计:为什么能省 79% Token?
Cost.dev 最值得开发者学习的不是它做什么,而是它怎么做——Infracost 团队为「Agent 友好」重新设计了 CLI:
1. 谓语标志(Predicate Flags)
传统 CLI 让人写长管道:
infracost breakdown --path=. | jq '.resources[] | select(.name | contains("rds")) | .monthly_cost'
Agent 友好版本:
infracost breakdown --path=. --filter-resource="rds" --format=json
一个 flag 替代了 jq | grep | sort 的管道链,大幅减少 Agent 的输出 token。
2. 精简输出格式
传统 CLI 输出冗余字段名:
{"resource_name": "aws_db_instance.main", "monthly_cost": 405.00, "currency": "USD"}
Agent 友好输出:
aws_db_instance.main $405 USD
去掉了多余的 JSON 键名,只保留数据行。
3. 不用 Agent 记住规则
传统做法是让 Agent 理解「AWS RDS 定价取决于实例类型、存储类型、预留实例、区域、……」,然后让它在每次对话中记住这些。Cost.dev 把这一切抽到 CLI 里——Agent 只需要知道「运行 infracost 命令」。
集成其他平台
VS Code / JetBrains:安装 Infracost 插件后,在编辑器内直接看 Terraform 文件的实时成本估计。
GitHub Actions / GitLab CI:在 PR 管道中加入 infracost diff 步骤,每次 PR 自动评论费用变化:
- name: Run infracost
run: infracost diff --path=. --format=diff
env:
INFRACOST_API_KEY: ${{ secrets.INFRACOST_API_KEY }}
通用 Agent 集成:对于任何可以运行 CLI 命令的 Agent(Codex CLI、OpenCode、Gemini CLI),只需确保 infracost 在 PATH 中,然后通过自然语言请求即可。
成本管理的三条经验
从 Cost.dev 的设计哲学中,我们可以总结出几条普适经验:
1. 让 CLI 做确定性工作,让 LLM 做语言工作
LLM 容易编造数字——不要让它记住或猜测任何具体数值。所有的价格点、代码扫描、验证,都应该由确定性工具完成。
2. 为 Agent 优化 CLI 输出
用一个 flag 替代三条管道命令。去掉 JSON 的冗余字段名。Agent 的输出 token 就是你的 API 费用——每节省一个 token 都是实打实的钱。
3. 先感知,后优化
不知道花了多少钱之前,谈「优化」是空话。Cost.dev(以及类似的 AI Gauge)都遵循同一逻辑:先让成本可见,再谈降低。
总结
Uber 的预算爆表不是个例——它是整个行业从「随便用 AI 编程」到「理性管理 AI 编程成本」转变的标志性事件。Cost.dev 的价值不仅在于其 79% 的 Token 缩减数据,更在于它代表了一种设计范式:AI Agent 时代的工具应该为 Agent 重新设计,而非简单地把人用的 CLI 丢给 Agent。
说到底,最好的省钱方式不是限制使用,而是让每一次调用都物有所值。
相关链接: