这是 Uber 的「软件工厂」做到的事——而且不是靠砍价或降级工具。
从 2026 年 2 月到 8 月:
固定住一个模型来隔离自身优化收益后:每 1000 次模型请求的成本从峰值下降 34%,每次会话成本从 6 月峰值下降 52%。
他们靠的不是「买更便宜的模型」,而是——消除「零价值的浪费 token」。这堂课带你搞懂:一个超大团队,怎么把 AI 编程成本当成工程问题来「测量 + 优化」。
Uber 把 AI 使用组织成四层,从最专门到最通用。越往上,对成本、质量、模型选择的控制越强。
关键洞察:越「受管」越省——因为你可以完全控制模型路由、执行环境和开销。
前两项代表「采纳」——想让它涨;中间三项是「优化机会」——Agent 在工程师真实请求之外,为自己额外做的活,大部分精力都花在这里。
厂商定 token 价,你决定「哪个模型跑哪份活」。Uber 的原则:给每份负载选Pareto 最优的模型——即「成本/完成任务、输出质量、模型可靠性」三者都不被别的选项完胜。
例子:uReview(AI 代码审查)从真实 PR 里的已知 bug 建基准,按难易分级,打 precision/recall/F1 + 每审查成本 + 延迟 + 超时 + 噪音。切模型后 F1 上升、每 PR 成本大幅下降。
会话里有两个默认设置:初始会话模型 + 子 Agent 模型。其中子 Agent 默认设置被证明是最有影响力的杠杆,而且越来越重要。
子 Agent 执行的是「定义好输入、定义好输出」的任务,往往不需要前沿级推理。所以 Uber 默认把它们路由到更弱、更便宜的模型(仍允许手动覆盖)。
主模型负责「任务分解 + 评估」,子 Agent 负责「执行」。分工一清,成本大降。
每一轮对话都会重新发送「完整历史 + 项目上下文 + 工具结果」。任何能减少单请求 payload 的东西,都会在整个会话中复利。
缓存了前缀上下文,后续读取只要标准输入价的 0.1 倍。但写入有溢价:5 分钟缓存 1.25 倍、1 小时缓存 2 倍。
工程师常常让交互会话闲置超过 5 分钟。缓存 TTL 该怎么设?
标准 MCP 会把所有工具 schema 直接加载进每个会话——哪怕你根本不会用。装 100 个工具,就要给初始 prompt 加约 5-7 万 token 的 schema 开销,之后每轮都重发。
两个互补机制:
1. CLI 工具解析:让模型执行 shell 命令,调用时动态解析工具,把 MCP schema 从会话上下文里清出去。所有 1000+ 内部 MCP 工具都投影成 CLI 命令。
2. 工具搜索:扩展到上千工具时,让模型搜索工具目录、按需加载。既砍 token,又在大工具集下保持高选择准确率。
工具以 shell 命令方式调用函数时,模型能在一个脚本里批量执行多个动作。对「话痨」型工具协议尤其有用。
每条 SQL 查询:发请求 → 轮询 2-5 次状态 → 取输出。每次轮询都进模型上下文。
整个流程变成一个 Python 循环,轮询跑在子进程里,只有「总结」回到上下文。
实测:同样的 5 条 SQL 查询,code-mode 减少 token 超过 50%;批量工作流里,N 轮模型往返变成一个脚本,节省超过 90%。
一个没接地的 Agent,会反复发送不断膨胀的上下文窗口,去「再多搜一个地方」。提前给更丰富的信息,是减少这种搜索开销最有力的一招。
面对几亿行代码、几千张表的代码库,Agent 大部分轮次花在「定位信息」而不是「生成代码」。Uber 建了一个统一的网络:
任何 Agent 都能用自然语言查询它。
查历史用量 → 找到 50+ 分析师用过的那张表 → 38 秒给出答案。
看不见那张表 → 花了 20 分钟查服务代码、spawn 2 个子 Agent、撞 3 次错误 → 错误地断定「数据集不可查询」。
同一个任务:38 秒 vs 20 分钟还答错。差的就是「上下文工程」——提前把该知道的信息给到位。
最后一类杠杆,是「可见性 + 反馈循环」,让工程师和 Agent 更快收敛。
状态栏只显示总花费,看不出「成本驱动因素」。会话分析仪表盘直接检查会话轨迹,标记 16 种反模式,每种配上财务影响和针对性修复。比如:
Q1. Uber 用量涨 7 倍但成本稳定的核心原因是?
Q2. 为什么子 Agent 默认用「更弱」的模型?
Q3. 标准 MCP 的大坑是?
Q4. 「接地」vs「未接地」Agent 的关键差异是?
AI 编程成本,是一个可解的工程问题。
先拆成方程,再逐项测量、逐项优化——靠消除浪费,而不是砍单价。
1️⃣ 用量涨 7x,成本稳定 —— 靠消除零价值 token。
2️⃣ 成本方程:用户×会话×请求/会话×Token/请求×价格/Token。
3️⃣ 模型选择:基准驱动 + Pareto 最优,子 Agent 默认弱模型。
4️⃣ 砍 Token/请求:自动压缩、Medium 推理、缓存 TTL、CLI 解析、code-mode。
5️⃣ 砍请求/轮:Context Graph 让 Agent「接地」。
6️⃣ 核心战略:从「交互式工作流」转向「全受管 Agent」。
原文:《Running a Software Factory Efficiently at Uber Scale》by Uber Engineering