Uber 的智能体软件工厂:70% 的 PR 已经由 AI 写
关联
Uber 全球有几千名工程师、12 个技术园区。过去一年,他们在智能体 AI 上的投入带来了一个惊人的结果:超过 70% 的 PR 现在由本地或云端智能体完成,每位工程师的代码行数同比翻了一倍 。
他们还用自动化迁移处理了超过 250 次迁移、约 900 万行代码 。这一集里,两位演讲者把这套体系拆成六个「构建模块」逐一讲解,再演示如何把它们串成一条端到端的「受管理软件工厂」流水线。
六个构建模块
1. 模型网关(Model Gateway):所有内部用例、编码工具链、外部用例都走一个统一的 OpenAI/Anthropic 兼容端点,中间经过一系列中间件——用 Spire 做身份认证、数据匿名化器脱敏 20 多种 PII 类型(PII 即个人身份信息)、一个叫 AI guard 的安全层用五个专门模型处理安全与策略,全部在 100 毫秒内完成 。每个请求都能按用户、项目、团队归因,既实时也进数据湖,由此可以跨整个产品组合做支出护栏。
今天内部有 800 多个项目走这个网关,每天处理超过 1 亿次模型请求,涵盖前沿模型和开源模型 。工程师只需用原生客户端设一个 project ID,其余全由平台处理。
2. MCP 网关:去年起步时,Uber 有数千个内部 API,但「没有一个开箱即用就能被智能体调用」;各家 SaaS 工具认证方式各异,而且「一旦你装了足够多的 MCP,它们会累加起来,产生巨大的 token 税」(MCP 即模型可调用的工具接口)。他们的做法是一个自动化爬虫,只需一条配置变更就能把内部 API 投影成 MCP;Google、Slack、Jira 等 SaaS 也统一接入网关,由平台托管、做 token 交换。
token 优化演进了几代:从直连 MCP,到只需装一个就能发现并调用所有 MCP 的 OmniMCP,再到 CLI 模式让响应也不占上下文,最近还有自动安装的 code mode 技能,即时生成 Python 脚本优化 token 消耗最高的用例。现在他们有 1000 多个 MCP 工具,仅这些优化就换来全集群超过 40% 的节省 。
3. 智能体运行环境:多年给工程师用的云端远程开发环境 DevPod 被改造成智能体也适用的形态——预置的 Kubernetes balloon pods(预先备好、随取随用的容器),仓库已做快照、搜索索引已建好,智能体几秒内就能开工 。而且由于智能体和工程师都要跨仓库工作,他们做了一个把所有仓库放在一处的 mega dev port,现在自主编码智能体就用它。甚至非工程员工也能几秒内上手任何智能体工具链。
于是他们建了托管式技能市场,现在有 2500 个技能,经过链接检查和自动化评审保证基线质量;一条命令即可发现并安装任何插件,还会按工程师画像自动装好默认技能。最近还在收集 traces 和持续评估,把反馈回馈给技能作者。全集群每天执行超过 20000 次技能 。
5. 上下文图(Context Graph):他们从执行轨迹里发现,智能体花大量时间只是在一百多万行代码的 monorepo 里找基本上下文——服务在哪、依赖什么、谁在用、该遵循什么模式,而这些信息散落在 Uber 内部 20 到 30 个不同系统里,每个都要各自的技能和 MCP 去取,烧 token、加延迟、结果还不可预测。解法是把「Uber 是如何运转的」全部整合进一张上下文图:150 种节点和边类型、4000 万条条目,从移动 App 构建方式到后端、数据湖、设计文档、Jira、事故和 bug 全部互连 。效果实测显著:以「印度的出行行程有多少被缓存」这类问题为例,有图谱对比没图谱,token、轮次和延迟都有巨大改进 。
6. 统一入口 Cortana:以上所有能力——技能、MCP、上下文图——都接进一个叫 Cortana 的 AI 助手,在 Slack、CLI、网页各种界面都可用,任何员工都能提问、查图谱、调技能、查任何代码库。现在员工还能个性化定制:接入自定义技能和提示词、挂到团队 Slack 频道,让它像那个团队的一员一样工作。仅最近一个月就创建了 300 个这样的个性化人设,每天超过 20000 个会话 。
端到端实战:一个世界杯功能的诞生
Adam 用一个真实场景演示整条流水线:世界杯期间,让离开拥挤体育场的乘客有更好的上车点。流程是这样的——在 Slack 里讨论想法,把 Cortana 拉进来,借助上下文图做商业调研(以前发生过哪些大型场馆活动、哪些体育场值得做),再帮忙定产品需求(只上北美,因为体育场在那里)、生成 Figma 设计的两个 A/B 变体。「以前让所有人达成一致可能需要几周,现在可以压缩到很短的时间内,很快做出原型」。
然后交给 Minion——Uber 的云端编码智能体,由 DevPod 驱动,有完整构建环境、能跨仓库同时改后端和前端。但它会在创建 draft PR 后停下来、不推 CI,原因是:这种自主模式适合苦力型工作,但要做更高级的端到端功能,「如果我们能在推送到 CI 之前更早地验证,那会是很大的收益」,同时避免给 CI 带来额外负载 。
具体做法是把原本在外循环(CI)的检查前移到内循环:静态分析问题当场修;视觉验证用一个技能启动模拟器、抓截图和 Figma 规格比对;还能在后端 staging 环境把服务拉起来,验证前后端集成。CI 上仍出的错由「自愈 CI」修;代码评审也拆成两层——外循环用强大模型加推理做深入评审,内循环用更小更快的模型。关键的一环是:如果一个 diff 来自自主运行的 Minion,PR 上会附一张表,列出它经历过的所有检查、包括截图,「让人类评审者有信心,这个 diff 已经经历过大量的自我改进,而不只是信任最初那次生成」。
维护:比生成更重要的下半场
代码产出变多后,维护更重要。他们把功能和服务登记进「维护技能」——比如 feature flag 清理(世界杯那个 modal 的 B 变体实验结束后,调度一个循环自动清掉)。
两个设计约束值得注意:这是受管理的循环,全公司统一到一个界面去设置,「我们不希望全公司范围内毫无边界地设立成千上万个循环」;循环安排在周日跑,那时 CI 容量充裕,同时控制工程师周一早上收到的 diff 数量。更妙的是,技能生成的 diff 被合入或被拒、收到评论,「这些都是很好的标注数据,我们可以用它来改进技能本身」。他们还以月度为节奏,从事故复盘里提炼新的维护技能,推广到所有服务。
新瓶颈在哪
流水线跑通后,瓶颈转移了:一是基础设施——「现在我们对基础设施施加了更大的压力,所以要预判 CI 容量需要达到什么水平,并在那里做正确的基础性投资」;二是能切实运行的实验数量有限;三是决策——「不再是能不能构建,我们现在大概都能构建出来,问题变成了:该不该构建它?」
本集带走
- 网关是平台化的起点:模型和工具都收口到单一入口(一个端点、一个 MCP 安装方式),安全、审计、归因、成本护栏才能整体做,而不是每个团队各搞一套。
- 上下文是智能体最大的隐性成本:智能体找上下文比干活还费 token;把组织知识整合成一张图,token、轮次、延迟全面下降。
- 验证前移比生成能力更关键:自主智能体产出的代码要靠模拟器截图比对、前后端联调、分层代码评审等内循环检查提前兜底,再给人类评审者一张「它经过了哪些检查」的表建立信任。
- 自动化也要有围栏:维护循环统一管理、安排在 CI 空闲时段、控制每周 diff 数量;技能产出的合入/拒绝反馈回收成改进技能的标注数据。
- 瓶颈会转移:当构建不再是问题,真正的约束变成 CI 容量、实验额度,以及「该不该做」的产品决策。
【背景】两位演讲者 Uday 与 Adam 来自 Uber 的工程效能团队;转写稿中未给出他们的完整姓名与头衔,以上身份根据演讲开场自我介绍推断。
过去一年,我们在智能体 AI 上的所有投入,使得超过 70% 的 PR 现在由本地或云端智能体完成。
Over the last year, all of the investments we made in agentic AI have led to more than 70% of our PRs, now either by local or cloud agents.
—— Uday Kiran Medisetty · [00:38]
我们为工程师处理了超过 250 次自动化迁移,自动化迁移了约 900 万行代码。
We handled more than 250 automated migrations, relatively 9 million lines of code automatically for our engineers.
—— Uday Kiran Medisetty · [01:04]
今天,我们内部有 800 多个项目经过这个网关,累计每天处理超过 1 亿次模型请求。
Today we have 800 plus projects internally going through this, cumulatively handling more than 100 million model requests per day.
—— Uday Kiran Medisetty · [03:30]
一旦你装了足够多的 MCP,它们会累加起来,产生巨大的 token 税。
And once you end up with enough MCPs, they’ll all add up and have a massive token tax.
—— Uday Kiran Medisetty · [04:06]
所有这些带来的结果是,现在我们拥有 1000 多个 MCP 工具,仅凭这些优化工作,我们就在整个集群范围内节省了超过 40%。
And all of this led to, like, now we have 1,000-plus MCP tools, and just with these optimization efforts, we’ve saved more than 40% fleet-wide savings.
—— Uday Kiran Medisetty · [05:27]
有图谱和没有图谱相比,我们在 token、轮次和延迟上看到了巨大的改进。
With and without graph, we see massive improvement in tokens, turns, and latency.
—— Uday Kiran Medisetty · [10:08]
仅最近一个月,我们就创建了 300 个独特的个性化人设,每天有超过 20,000 个会话。
And we have, just in the last one month, 300 unique personas created and more than 20,000 sessions per day.
—— Uday Kiran Medisetty · [11:19]
顺着「智能体」挖下去
- 让智能体的记忆变成真正能用的技能同概念:上下文图 (context graph)、技能 (skills)、智能体 (agent)
- DevOps 之父谈智能体开发:谁来管、怎么管、别踩什么坑同概念:CI/CD、智能体 (agent)、护栏 (guardrails)
- Uber 用 AI 给 AI 评审代码:每周 2.5 万条评论是这样炼成的同公司:Uber · 同概念:智能体 (agent)、护栏 (guardrails)
换个口味
- 用 AI 对抗 AI:一种不用读代码的编程语言 BAML同概念:CI/CD、智能体 (agent)
- AI 写代码翻倍之后:Honeycomb 的审查、信任与主人翁意识同概念:CI/CD、智能体 (agent)
- 写出最火微服务书籍的人,为什么说微服务是“最后的手段”?同公司:Uber · 同概念:智能体 (agent)
