Running a Software Factory Efficiently at Uber Scale

来源:Uber Engineering 的 X 长文(2026-08-28),帖子署名作者为 @udaykiran。这是单一组织的一手工程披露,机制和测量方法较具体,但规模、成本和质量结果均为 Uber 自报,未见独立审计,因此证据强度定为 medium。

编译摘要

1. 浓缩

  • 核心结论1:规模化的 Software Factory 不是给每个工程师配一个更强的助手,而是运营一支可测量、可路由、可升级的托管 Agent 车队。 Uber 披露本地或云 Agent 已归因于超过 70% 的 pull requests,工程师构建了 3,600 多个 Agent skills,每日执行超过 30,000 次;2026 年 2 月至 8 月,周活跃用户增长 7 倍、周 Agent 请求增长 9.4 倍,而总 AI 支出自 4 月起相对稳定。文章的战略结论是,把 SDLC 工作负载迁入托管环境,才能集中控制模型路由、执行 harness 和运营支出。
  • 核心结论2:Agent 成本优化的目标是“完成任务的成本—质量—可靠性”Pareto 前沿,而不是单纯购买更便宜的模型。 Uber 为每个托管 Agent 用真实工作构建 benchmark,在统一 harness 中比较前沿模型和开放权重模型,再持续迁移到 Pareto 最优配置;uReview 以真实 PR 和已知 bug 评估 precision、recall、F1、每次 review 成本、延迟、超时和噪声。固定模型后,Uber 报告每 1,000 次请求成本较峰值下降近 34%,每 session 成本较 6 月峰值下降 52%。
    • 关键证据:20260828-uber-software-factory(“Benchmark-Driven Model Selection”与“Figure 2”);固定模型只能部分隔离优化收益,不能替代对照实验。
  • 核心结论3:在组织规模上,工具表面、上下文和成本可观测性构成 Agent 工厂的控制面。 Uber 把超过 1,000 个 MCP server 收敛到统一 gateway,通过 CLI 动态解析、tool search、code-mode 和按场景设置的 prompt-cache TTL,减少不必要的 schema、轮询和上下文重传;同时用 AI Context Graph 为 Agent 提供跨服务、事故、PR、设计文档和数据集的组织语义。文章还把实时花费、预算层级、session anti-pattern dashboard 和 trace 反馈接入 harness。
    • 关键证据:20260828-uber-software-factory(“Executing MCP Tools via the Shell”“Code-Mode”“Context Engineering”与“Session Analysis Dashboard”);原文称 code-mode 在单次 SQL 测试中减少超过 50% token,批量工作流可超过 90%,这些幅度同样是内部测量。

2. 质疑

  • 关于规模化成效的质疑:70% PR、7 倍周活、9.4 倍请求和“支出稳定”没有给出完整指标定义、同期对照组或质量回归数据;使用量增长也可能混合了员工范围扩张、工作负载变化、模型升级和价格变化。
  • 关于成本归因的质疑:固定模型是有用的局部控制,但仍未完全隔离 workload mix、用户行为、缓存命中、请求质量和服务层变化。-34% 与 -52% 是峰值对比,不等于每项优化的因果贡献之和。
  • 关于图 grounding 的质疑:38 秒对比 20 分钟、2 个 subagent、3 次错误是一个具有说明力的案例,不足以证明 AI Context Graph 在所有任务上都带来同等收益;图谱的构建、同步、权限和语义治理成本没有量化。
  • 关于工程边界的质疑:较弱模型适合输入明确、结果可判定的 subtask,但复杂任务仍依赖主模型的分解和评价;CLI、code-mode 和 tool search 把推理移入脚本与 gateway 后,安全、失败恢复和权限错误会成为新的验证面,文章没有报告这些负面指标。
  • 关于证据完整性的质疑:Figure 4 的六项乘法成本方程主要存在于图片中,抓取文本没有展开各项名称;本摘要只记录正文能确认的 adoption/engagement 与 Agent 自身工作开销,不猜测图片中未提取的公式细节。

3. 对标

  • 与 Software-Factory 对标(综合判断):Cloudflare 的案例主要展示从 issue 到 build、preview、deploy、manage 的生命周期闭环;Uber 补上了“工厂如何在高使用量下经济运行”的控制层——托管 Agent 车队、真实工作 benchmark、模型路由、成本分解和 session 级反馈。两者共同指向:Software Factory 不只是自动化 pipeline,也是持续测量和调度生产资源的系统。
  • 与 Agentic-Workflow-Token-Efficiency 对标(综合判断):已有条目总结了 token 代理、MCP 裁剪、CLI 替代和审计;Uber 提供了企业规模的组合实例,并把优化对象从单次调用扩展为 session、managed agent 和 fleet。其关键补充是:缓存 TTL、schema 初始化、轮询和模型分配必须在同一成本模型里统筹。
  • 与 Agent-Harness、Agent-Optimized-CLI 对标(综合判断):Uber 用统一 gateway、shell CLI 和 code-mode 把稳定的认证、工具解析、轮询和批处理逻辑移出模型上下文;这说明工具接口与 harness 不是外围实现,而是直接决定 Agent 每轮需要推理多少。
  • 与 Context-Engineering、Graph-Guided-Agent-Investigation 对标(综合判断):AI Context Graph 把组织内部关系、历史使用和运行记录转成可查询语义层;它不是简单增加文档,而是在 Agent 调查前提供更高信号的检索入口,减少“盲搜—试错—扩张上下文”的路径。
  • 与 Evals-as-PRD、Agent-Verification 对标(综合判断):uReview 的真实 PR benchmark 和 precision/recall/F1、成本、延迟、噪声联合评分,把“选哪个模型”变成可运行的验收问题;这也限制了“便宜模型一定更好”的叙事。
  • 约束分析:上下文重复计费、模型能力差异和长链路延迟属于供应商与计算过程带来的硬约束;gateway、默认模型、cache TTL、花费提醒和审批层属于可调整的组织规则;把所有 MCP 统一投影为 CLI、建设 24 million nodes / 80 million edges 的 Context Graph,则是 Uber 为自身代码库、数据规模和权限环境选择的工程路径,不能直接当作普适配置。

关联概念