Speaker Notes

Uber: Leading engineering through an agentic shift - The Pragmatic Summit

Uber scaled its engineering productivity by transitioning from pair programming to autonomous background agents, automated code reviews, and large-scale automated migrations.

The Pragmatic Engineer · 37:39 · YouTube ↗

Talk · 2 speakers from developer platform organization  Intermediate · Concepts, internal platforms, and scaling strategy

Highlights

3 clips · 5 min of 38 min
    • Background agents run autonomously on internal CI infrastructure instead of external vendor clouds.
    • Integrated with monorepos, network access, and MCP servers via AIFX.
    • Exposed through multiple surfaces including web UI, Slack, CLI, and GitHub PRs.
    • Uses a preprocessor and modular plugins for defect analysis and best practices.
    • Includes a review grader to filter out minor nits and low-confidence comments.
    • Integrates external review bots to minimize duplicate feedback and noise.
    • Tracks and manages hundreds of automated PRs associated with a migration campaign.
    • Allows defining migration tasks via simple YAML files pointing to scripts or agents.
    • Automates PR generation, refreshing, and integration with developer review cues.

Questions this video answers

10 · every answer cites the moment it was said
01 How did Uber's approach to AI shift from early copilot days to recent agentic workflows? 3 sources · 3:59

Uber initially saw a modest 10 to 15 percent bump in diff velocity using synchronous tab completion and IDE chat in 2022 and 2023. Over the past year, the paradigm shifted to peer programming, where developers hand off asynchronous workloads to AI agents and act as tech leads directing these agents. This allows engineers to delegate toil like dead code cleanup and library migrations to focus on creative work.

02 What kind of tasks do developers primarily push into Uber's agentic system? 3 sources · 6:45

As soon as agentic workflows were made available, 70 percent of the workloads pushed by developers were toil tasks. This happened because the start and end states of tasks like library upgrades and migrations are straightforward, leading to much higher accuracy. Because of this success, tackling toil with AI became a top priority for the developer platform.

03 How does Uber's central Model Context Protocol gateway handle external and internal MCPs? 3 sources · 9:53

Uber built a central MCP gateway using a tiger team to proxy both external and internal MCPs from service infrastructure. It exposes these services consistently to engineers while managing authorization, telemetry, and logging. Additionally, they provide a registry and sandbox so developers can discover, test, and ensure new MCPs work as expected.

04 What is AIFX and why was it introduced for managing agent clients? 2 sources · 11:42

AIFX is a CLI tool introduced to centrally provision, configure, and update agent clients like Cloud Code, Codepilot, or Cursor. It allows developers to easily install and discover MCPs from the registry and apply standard configuration management. This ensures that engineers new to the space immediately get effective prompts, configurations, and connections to background task infrastructure.

05 What is Minion and how does it integrate into Uber's background agent infrastructure? 3 sources · 14:26

Minion is Uber's formal background agent platform built on top of state-of-the-art agents, CLIs, and SDKs to run agents fully autonomously on internal infrastructure. It runs inside Uber's CI platform with access to monorepos and network infrastructure, and it integrates into workflows via a web interface, Slack, GitHub pull requests, and the AIFX CLI. Furthermore, it provides good defaults per monorepo to increase task success rates.

06 How does Code Inbox reduce developer context switching during code reviews? 3 sources · 19:28

Code Inbox is a unified inbox designed to remove noise by displaying only actionable pull requests directly relevant to a user when they need attention. It uses smart assignments based on code ownership, compliance, time zones, and calendar availability to find the right reviewer and tracks strict SLOs for escalations. It also integrates with Slack to batch notifications and respect developer focus time.

07 How does U review filter out low-value feedback in automated code reviews? 3 sources · 22:06

U review uses a multi-layer pipeline featuring general defect bots, best practice plugins, and APIs for external tools to preprocess code comments. It passes these through a review grader to filter out low-value nits and focuses exclusively on high-confidence changes. Finally, it checks for duplicates across different systems and categorizes the comments before presenting them to the developer.

08 What is Autocover and how does it generate reliable unit tests at scale? 3 sources · 25:02

Autocover is a custom agent built on internal LangX SDKs and LangChain designed to automatically generate unit tests. It currently generates and merges about 5,000 tests per month across Uber with a 3x quality rate compared to generic agents. To prevent false confidence, it incorporates a critic engine and operates as an independent test validator for both human and AI-generated tests.

09 How does Shephard manage large-scale automated code migrations at Uber? 3 sources · 27:42

Shephard is a campaign management web UI that handles large-scale changes by tracking all pull requests associated with a migration defined simply via YAML files. It automates the generation of PRs using deterministic transformers like Open Rewrite or Minion agents, keeps them fresh on a defined cadence, and integrates with Code Inbox to place them in the correct reviewer queues.

10 How did Uber handle the organizational challenge of slow developer adoption for agentic tools? 3 sources · 32:58

Uber experienced relatively slow initial adoption of AI tools because developers were unaccustomed to stepping away from traditional IDE workflows and taking risks with new methods. While top-down executive directives had some impact on metrics, sharing peer wins proved far more successful. Key engineering promoters shared examples of successful techniques, which drove a massive organic increase in adoption because engineers trust their peers over directors.

Section-by-section summary

8 parts

Transitioning from Pair Programming to Peer Programming

Uber shifted from synchronous tab completion and IDE chat to asynchronous agentic workflows where developers act as tech leads directing multiple agents. Most workloads pushed to these agents consist of toil tasks like library upgrades, migrations, and bug fixes.

Centralized MCP Gateway and Registry

To safely leverage the Model Context Protocol, Uber built a central MCP gateway that proxies internal and external MCPs with unified authorization and telemetry. A dedicated sandbox allows developers to discover and test MCPs before deploying them.

Running Background Agents Autonomously with Minion

Uber developed Minion, an internal background agent platform running on their CI infrastructure to handle monorepo tasks securely. It provides good defaults, prompt improvement suggestions, and integrates tightly with Slack and GitHub pull requests.

Unified Code Inbox Reduces Context Switching

The Code Inbox platform aggregates pull requests and agent notifications into a single stream while filtering out noise. It uses smart assignments based on code ownership, developer time zones, and calendar availability to enforce review SLOs.

Automating Code Reviews with Internal and External Bots

U-Review manages the code review surface area by running preprocessors and a review grader to eliminate low-value nits. It routes only high-confidence, actionable feedback to developers to prevent review fatigue.

Generating Reliable Unit Tests at Scale with Autocover

Autocover builds custom agents using internal language SDKs to generate unit tests, yielding thousands of merged tests monthly. A built-in critic engine and independent test validator help prevent false confidence and change-detector tests.

Executing Large-Scale Changes via Shephard and Auto-Migrate

Uber established a scalable program for mass refactoring by combining deterministic transformers like open rewrite with agentic code generation. The Shephard campaign management platform tracks PR generation, updates, and developer notifications.

Balancing Adoption, ROI Measurement, and High GPU Costs

Driving cultural change and developer adoption remains challenging, relying heavily on peer promoters sharing wins rather than top-down mandates. While developer satisfaction is at an all-time high, escalating AI costs necessitate smarter token usage and model tiering.

0:00 / 37:39
k play/pause · f fullscreen · m mute
n next · p previous clip · t highlights/full
< > slower/faster · / search what was said
  • Michelangelo2× · first 8:01

    Uber's historic machine learning platform providing model gateways, inference, training, and agent building capabilities.

  • Model Context Protocol7× · first 8:53

    A protocol and gateway architecture used to securely proxy internal and external tools and services to AI agents.

  • AIFX2× · first 12:15

    A CLI tool used at Uber to provision, configure, update agent clients, and discover MCP registries.

  • Minion9× · first 11:24

    Uber's formal background agent platform that executes autonomous coding tasks inside the company's CI infrastructure.

  • Code Inbox2× · first 19:26

    A unified code review inbox tool that highlights actionable pull requests and provides smart developer assignments.

  • Autocover2× · first 24:30

    An automated testing platform using a custom agent and critic engine to generate and validate reliable unit tests.

  • Open Rewrite2× · first 27:13

    A deterministic code transformer framework used to execute large-scale automated code refactoring and upgrades.

  • Shephard2× · first 27:56

    A campaign management platform and web UI used to generate, refresh, and track large-scale migration pull requests.