Building Internal AI Agent Infrastructure for Software Development at Scale

uber · Tech · 2026 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.5 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Enterprise software-development agents

Uber needed to roll AI agents into a large engineering organization without leaving every developer and team to assemble their own models, context sources, MCP servers, agent clients, background execution, review tools, and cost controls. The core problem was not a single coding assistant; it was an internal platform for many agentic development workflows at company scale.

Constraints:

Architecture

Uber built an internal AI-agent stack for software development around layered platform responsibilities. Michelangelo supplies the internal AI platform and model gateway. An internal-context layer gives agents access to Uber source code, documentation, Slack, JIRA, and other company data. Industry agent clients such as Claude Code, GitHub Copilot, Cursor, Codex, and other tools sit above that substrate. Uber-specific systems then provide MCP Gateway access to internal and external tools, Agent Builder and Agent Studio for no-code and traced multi-agent workflows, AIFX CLI for distribution and defaults, Minion for background agent tasks, and specialized agents such as Code Inbox, uReview, Autocover, and Shepherd.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  uber-developer[Uber developer] --> aifx-cli[AIFX CLI]
  uber-developer --> industry-agent-clients[Industry agent clients]
  uber-developer --> agent-builder-and-studio[Agent Builder and Studio]
  uber-developer --> specialized-development-agents[Specialized development agents]
  aifx-cli --> industry-agent-clients
  aifx-cli --> mcp-gateway[MCP Gateway]
  aifx-cli --> minion-background-platform[Minion background platform]
  industry-agent-clients --> internal-ai-platform[Internal AI platform]
  industry-agent-clients --> internal-context-layer[Internal context layer]
  industry-agent-clients --> mcp-gateway
  agent-builder-and-studio --> internal-ai-platform
  agent-builder-and-studio --> internal-context-layer
  agent-builder-and-studio --> mcp-gateway
  agent-builder-and-studio --> agent-registry[Agent registry]
  mcp-gateway --> internal-services-and-mcp-servers[Internal services and MCP servers]
  mcp-gateway --> mcp-registry-and-sandbox[MCP registry and sandbox]
  minion-background-platform --> internal-ai-platform
  minion-background-platform --> internal-context-layer
  specialized-development-agents --> internal-ai-platform
  specialized-development-agents --> internal-context-layer
  engineering-enablement-layer[Engineering enablement layer] --> aifx-cli
  engineering-enablement-layer --> industry-agent-clients
  engineering-enablement-layer --> specialized-development-agents
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Uber developer Engineer who uses AI clients, starts background agents, approves or reviews agent work, and shares adoption wins. AIFX CLI, Industry agent clients, Agent Builder and Studio, Specialized development agents
AIFX CLI Unified command-line distribution layer for provisioning AI agents, finding MCP servers, running background tasks, and updating clients. Industry agent clients, MCP Gateway, Minion background platform
Industry agent clients External or industry coding tools such as Claude Code, GitHub Copilot, Cursor, Codex, and similar clients. Internal AI platform, Internal context layer, MCP Gateway
Internal AI platform Michelangelo-based AI platform and model gateway that proxies to frontier models or internally hosted models. Industry agent clients, Agent Builder and Studio, Specialized development agents
Internal context layer Uber-specific memory layer containing source code, engineering documentation, Slack information, JIRA tickets, and similar context sources. Industry agent clients, Agent Builder and Studio, Specialized development agents
MCP Gateway Central gateway that exposes first-party MCPs, third-party MCPs, and proxied internal endpoints with authorization, telemetry, logging, registry, and sandbox support. Internal services and MCP servers, MCP registry and sandbox, Industry agent clients, Agent Builder and Studio
Internal services and MCP servers Uber Thrift, Protobuffer, HTTP, first-party MCP, and third-party MCP integrations exposed to agents through the gateway. MCP Gateway
MCP registry and sandbox Discovery and experimentation surface for looking up, registering, and trying MCP servers. MCP Gateway
Agent Builder and Studio No-code agent-building and workflow-observability surface for creating agents, handing work to other agents, tracing, versioning, evaluating, and publishing agents through a registry. Internal AI platform, Internal context layer, MCP Gateway, Agent registry, Uber developer
Agent registry Discoverability layer where Agent Builder agents can be found, used, copied, and modified. Agent Builder and Studio, Uber developer
Minion background platform Internal background-agent platform for long-running and parallel development tasks with monorepo access and optimized defaults. AIFX CLI, Internal AI platform, Internal context layer
Specialized development agents Uber-specific agents and tools including Code Inbox, uReview, Autocover, and Shepherd for PR routing, review, test generation, and migrations. Internal AI platform, Internal context layer, Uber developer
Engineering enablement layer Cross-cutting layer for efficiency measurement, cost control, token optimization, education, and tool-selection guidance. AIFX CLI, Industry agent clients, Specialized development agents, Uber developer

Data flow

A developer starts from AIFX CLI, an industry coding assistant, Agent Builder, or a specialized agent. The client reaches Uber's internal AI platform and model gateway when it needs model access, and it pulls Uber-specific memory from source code, engineering docs, Slack, JIRA, and other internal data. When the agent needs tools or data sources, MCP Gateway exposes first-party MCPs, third-party MCPs, and proxied internal Thrift, Protobuffer, or HTTP endpoints while centralizing authorization, telemetry, and logging. Agent Builder/Studio lets users compose, trace, version, evaluate, and register multi-agent workflows. Longer-running development tasks can run through Minion/background infrastructure, while specialized agents route PRs, review code, generate tests, or manage migrations.

6 supporting quotes
“This layer provides things like a model gateway to proxy to frontier models or internally hosted models. * Internal Uber context: accessing Uber’s source code, engineering documentation, Slack information, JIRA tickets, etc. These all serve as “memory””article, stated
“accessing Uber’s source code, engineering documentation, Slack information, JIRA tickets, etc. These all serve as “memory” for agents to use.”article, stated
“the “latest & greatest” AI agents for engineers, so they support several tools like Claude Code, GitHub Copilot, Codex, and other clients. * Specialized agents: Uber’s background agent platform, the test generation platform, code review agents, and more. * Engineering enablement: measuring”article, stated
“any internal Thrift, Protobuffer, or HTTP endpoint can be exposed as an MCP server with a simple configuration change.”article, stated
“The platform includes a tool called Agent Studio, where multi-agent workflows can be visualized, debugged, traced, versioned, and evaluated.”article, stated
“The AIFX CLI serves as a unified interface that all Uber engineers use for AI tooling. It supports provisioning AI agents and client tools like Claude Code, Codex, and Cursor; finding and using MCP servers; running background agent tasks; and updating AI”summary, stated

Why this architecture

Uber chose a platform stack because agent adoption at its scale depends on governed access, common defaults, internal context, tool discovery, background execution, and cost visibility. The MCP Gateway prevents each team from making bespoke internal integrations. AIFX centralizes fast-moving client updates and default configuration. Agent Builder and Studio turn reusable workflows into discoverable, traceable artifacts. Minion and the specialized agents handle the shift from single-agent IDE work toward background and parallel development tasks.

5 supporting quotes
“Uber built several internal tools to make it easier for devs to use AI tools, and to make internal AI agents more effective.”article, stated
“the gateway takes care of authorization, telemetry, and logging in one central place. Plus, it conveniently offers a unified interface to interact with any MCP.”article, stated
“How does the company update all clients when a new version comes out? For example, if a new version of Cursor is released, how can they ensure all devs use the latest one?”article, stated
“This centralized approach is critical for managing costs, ensuring security, and maintaining visibility into how AI tools are being used across the organization.”summary, stated
“the latest workflows at Uber have evolved into parallel multi-agent orchestration, where developers kick off multiple agents simultaneously, each working on different tasks.”summary, stated

Models used: frontier models · internally hosted models · Claude Code · GitHub Copilot · Cursor · Codex

Scale

Alternatives considered (roads not taken)

Automate everything possible in engineering.

Rejected because: Uber framed the work more narrowly around eliminating toil and freeing engineers for creative work, rather than pursuing blanket automation.

3 supporting quotes
“Uber is focusing not on automating everything possible in engineering. Instead, it wants to: 1. Eliminate toil: helping AI do “boring” work like upgrades, migrations, trivial bug fixes, etc. 2. Free up engineers to focus more on creative work. As Anshu”article, stated
“Eliminate toil: helping AI do “boring” work like upgrades, migrations, trivial bug fixes, etc. 2. Free up engineers to focus more on creative work. As Anshu Chada, Engineering Director on Uber’s Dev Platform, puts it: > “What we found is when we push some of”article, stated
“Eliminate toil: helping AI do “boring” work like upgrades, migrations, trivial bug fixes, etc. 2. Free up engineers to focus more on creative work. As Anshu Chada, Engineering Director on Uber’s Dev Platform, puts it: > “What we found is when we push some of the boring”article, stated

Let every team wire internal endpoints directly to agents.

Rejected because: The MCP Gateway centralizes authorization, telemetry, logging, registry, sandboxing, and the conversion of internal Thrift, Protobuffer, or HTTP endpoints into MCP servers.

3 supporting quotes
“Uber put together a “tiger team” (a temporary unit that gets things done fast) to design the MCP strategy and build the central MCP gateway”article, stated
“any internal Thrift, Protobuffer, or HTTP endpoint can be exposed as an MCP server with a simple configuration change.”article, stated
“and authorization tasks. * Platform concerns: the gateway takes care of authorization, telemetry, and logging in one central place. Plus, it conveniently offers a unified interface to interact with any MCP. The MCP gateway also provides: * A registry: to look up MCP servers, and for devs”article, stated

Mandate one AI coding client for all developers.

Rejected because: Uber instead enabled multiple industry agents so engineers could use the latest tools and the platform could retain optionality as the market evolved.

“Uber’s approach is to enable the “latest & greatest” AI agents for engineers, so they support several tools like Claude Code, GitHub Copilot, Codex, and other clients.”article, stated
“By supporting multiple AI coding tools rather than standardizing on one, Uber maintains optionality as the market evolves.”summary, stated

Rely on top-down mandates for adoption.

Rejected because: The case reports slower-than-expected adoption and says peer-shared wins worked better than mandates.

“AI adoption is slower than expected, even at a forward-thinking company like Uber. Top-down mandates are less efficient than engineers sharing their wins with peers.”article, stated
“The leadership noted that top-down mandates were less efficient than engineers sharing their wins with peers, highlighting the importance of cultural factors and peer influence in technology adoption. This suggests that simply providing tools isn't”summary, stated

Keep developers in a single-threaded IDE workflow.

Rejected because: The observed workflow shifted toward developers supervising multiple parallel agents, which required background execution and resource-management infrastructure.

3 supporting quotes
“A move away from single-threaded coding in an IDE, to orchestrating multiple parallel agents. Engineers naturally gravitate toward kicking off new agents, which starts to create resource and cost challenges. 4. Minion: running background agents at scale.”article, stated
“At Uber, the latest workflows which many software engineers follow are pretty different, involving parallel agents, each kicked off with their own tasks:”article, stated
“While it’s running and you’re waiting you’re thinking: ‘What am I going to do? Have a coffee or browse Reddit? Might as well kick off another background agent.’”article, stated

Patterns

tool-use-orchestration (agent-architecture)

Uber used MCP Gateway as the central path for exposing internal and third-party tools to agents, including first-party MCPs, third-party MCPs, and internal Thrift, Protobuffer, or HTTP endpoints.

3 supporting quotes
“MCP – the Model Context Protocol – has quickly become the standard way to connect agents and data sources with one another.”article, stated
“any internal Thrift, Protobuffer, or HTTP endpoint can be exposed as an MCP server with a simple configuration change.”article, stated
“external MCP servers are also exposed via the gateway, which handles all authentication and authorization tasks.”article, stated

agent-memory (state-management)

Uber gave agents internal organizational memory by connecting them to source code, engineering documentation, Slack, JIRA, and other internal data sources.

“accessing Uber’s source code, engineering documentation, Slack information, JIRA tickets, etc. These all serve as “memory” for agents to use.”article, stated
“The second layer focuses on internal Uber context, which serves as the "memory" for agents.”summary, stated

multi-agent-orchestration (agent-architecture)

Uber supported developers moving from one interactive agent to multiple parallel background agents and enabled Agent Builder workflows that can hand work to other agents.

3 supporting quotes
“The first AI agent-based workflows were single-threaded: devs worked with a single agent in the command line or inside their IDE:”article, stated
“At Uber, the latest workflows which many software engineers follow are pretty different, involving parallel agents, each kicked off with their own tasks:”article, stated
“Uber’s Agent Builder product is a no-code solution to build agents that can access Uber’s internal data sources (both MCP servers and Uber data sets), and hand off work to other agents:”article, stated

observability-tracing (evaluation)

Agent Studio gives multi-agent workflows visual debugging, tracing, versioning, and evaluation so agent behavior can be inspected and reproduced.

“The platform includes a tool called Agent Studio, where multi-agent workflows can be visualized, debugged, traced, versioned, and evaluated.”article, stated
“This addresses one of the key challenges in LLMOps: understanding what agents are doing and why, particularly in multi-agent scenarios where debugging can become extremely complex.”summary, stated

cost-aware-routing (operations)

Uber made cost measurement and token optimization part of its engineering enablement layer as agent usage and AI-related costs grew.

3 supporting quotes
“measuring the efficiency of agents, controlling costs, and educating engineers about which tools to use.”article, stated
“AI-related costs are up 6x since 2024, and token cost optimization is a growing priority.”article, stated
“The emphasis on token cost optimization indicates Uber is working on techniques like prompt engineering for efficiency, model selection based on task complexity”summary, stated

model-routing (model-operations)

The internal AI platform includes a model gateway that can proxy agent requests to external frontier models or internally hosted models.

“This layer provides things like a model gateway to proxy to frontier models or internally hosted models.”article, stated
“The emphasis on token cost optimization indicates Uber is working on techniques like prompt engineering for efficiency, model selection based on task complexity (using cheaper models for simpler tasks), caching and reuse of common outputs, and limiting context size to what's truly necessary.”summary, stated

eval-driven-development (evaluation)

Agent Studio makes evaluation a workflow capability, and Uber's specialized agents are described with usage and signal goals such as high-signal review comments and generated tests.

3 supporting quotes
“multi-agent workflows can be visualized, debugged, traced, versioned, and evaluated.”article, stated
“uReview is an AI-powered code review agent designed to generate high-signal comments on pull requests.”summary, stated
“Autocover is a test generation platform that produces over 5,000 unit tests per month.”summary, stated

Tradeoffs

Centralize agent access through MCP Gateway.

Chose a gateway with registry, sandbox, authorization, telemetry, and logging over team-by-team direct integrations to internal services and external MCP servers.

Rationale: The gateway reduces integration complexity while keeping security and observability uniform across internal Thrift, Protobuffer, HTTP, first-party MCP, and third-party MCP access.

3 supporting quotes
“Uber put together a “tiger team” (a temporary unit that gets things done fast) to design the MCP strategy and build the central MCP gateway”article, stated
“the gateway takes care of authorization, telemetry, and logging in one central place. Plus, it conveniently offers a unified interface to interact with any MCP.”article, stated
“to look up MCP servers, and for devs to be able to register their own.”article, stated

Use a multi-tool strategy for coding assistants.

Chose supporting Claude Code, GitHub Copilot, Cursor, Codex, and other clients over standardizing the whole engineering organization on one agent client.

Rationale: The AI-agent market is changing quickly and developer workflows vary, so Uber prioritized optionality while using platform layers to provide common defaults and governance.

“Uber’s approach is to enable the “latest & greatest” AI agents for engineers, so they support several tools like Claude Code, GitHub Copilot, Codex, and other clients.”article, stated
“By supporting multiple AI coding tools rather than standardizing on one, Uber maintains optionality as the market evolves.”summary, stated

Provide a unified CLI for AI tooling.

Chose AIFX CLI for provisioning, defaults, discovery, background tasks, and updates over letting each engineer install, configure, and update agent tools independently.

Rationale: A central CLI gives the Developer Experience team a way to roll out versions, helpful defaults, MCP discovery, and background execution consistently.

3 supporting quotes
“The Dev Experience team built the AIFX CLI, which is the AI tooling command line used by all engineers there.”article, stated
“Provisioning AI agents (client tools like Claude Code, Codex, Cursor, and others)”article, stated
“* Provisioning AI agents (client tools like Claude Code, Codex, Cursor, and others) * Finding and using MCP servers * Running background agent tasks * Updating AI agents and clients to the latest versions The traditional way of building software:”article, stated

Invest in background-agent infrastructure.

Chose Minion and background task support over only interactive IDE or command-line agent sessions.

Rationale: Developers naturally start more tasks while waiting on agents, so background infrastructure is needed to support parallel work without leaving it as unmanaged local activity.

3 supporting quotes
“Uber built Minion, an internal background agent platform with monorepo access and optimized defaults.”article, stated
“* Provisioning AI agents (client tools like Claude Code, Codex, Cursor, and others) * Finding and using MCP servers * Running background agent tasks * Updating AI agents and clients to the latest versions The traditional way of building software:”article, stated
“Might as well kick off another background agent.’ > > And so, engineers get into this mode of running several agents at once, right?”article, stated

Use no-code Agent Builder alongside developer tools.

Chose Agent Builder and Agent Studio for building, debugging, tracing, versioning, evaluating, and registering workflows over requiring every agent workflow to be hand-coded or configured through CLI tooling.

Rationale: No-code workflow construction broadens who can build agents while Studio/registry features provide the observability and reuse needed for production workflows.

3 supporting quotes
“Uber’s Agent Builder product is a no-code solution to build agents that can access Uber’s internal data sources”article, stated
“where multi-agent workflows can be visualized, debugged, traced, versioned, and evaluated.”article, stated
“The agents built in Agent Builder become discoverable through a registry:”article, stated

Gotchas (what bit them)

Agent rollouts can create runaway infrastructure and token costs once parallel usage becomes normal.

Root cause: Developers naturally start multiple background agents while waiting, which expands concurrent resource consumption and token spend.

Resolution: Make cost control, efficiency measurement, token optimization, and education explicit engineering-enablement responsibilities.

3 supporting quotes
“Engineers naturally gravitate toward kicking off new agents, which starts to create resource and cost challenges.”article, stated
“AI-related costs are up 6x since 2024, and token cost optimization is a growing priority.”article, stated
“This workflow transformation has significant implications for platform design. Supporting multiple parallel agents requires robust background execution infrastructure”summary, stated

Providing tools is not enough to change developer behavior.

Root cause: Adoption was slower than expected even with a strong engineering culture and substantial platform investment.

Resolution: Use education, helpful defaults, and peer-shared wins rather than relying primarily on executive mandates.

“AI adoption is slower than expected, even at a forward-thinking company like Uber. Top-down mandates are less efficient than engineers sharing their wins with peers.”article, stated
“Changing how developers work requires cultural change, education, time for experimentation and learning, clear communication about when and how to use different tools”summary, stated

Without a gateway, each internal endpoint-to-agent integration would recreate security and observability work.

Root cause: Uber has many internal service protocols and agent clients, so point integrations would spread authorization, telemetry, logging, and discovery concerns across teams.

Resolution: Centralize MCP exposure, registry, sandboxing, authorization, telemetry, and logging in MCP Gateway.

3 supporting quotes
“any internal Thrift, Protobuffer, or HTTP endpoint can be exposed as an MCP server with a simple configuration change.”article, stated
“the gateway takes care of authorization, telemetry, and logging in one central place.”article, stated
“This centralized approach to MCP integration represents a significant LLMOps best practice, as it prevents the proliferation of inconsistent point-to-point integrations”summary, stated

Rapidly evolving AI clients are hard to distribute consistently across thousands of engineers.

Root cause: Clients such as Cursor, Claude Code, Codex, and others change quickly, and teams need updated versions, useful defaults, MCP configuration, and background-task access.

Resolution: Put provisioning, discovery, background task execution, and updates behind the AIFX CLI.

3 supporting quotes
“How does the company update all clients when a new version comes out? For example, if a new version of Cursor is released, how can they ensure all devs use the latest one?”article, stated
“How can the clients be configured with helpful defaults? Uber’s Dev Platform team might have found better defaults for tools, like more helpful models.”article, stated
“The Dev Experience team built the AIFX CLI, which is the AI tooling command line used by all engineers there.”article, stated

More AI-generated code can increase review noise and routing pressure.

Root cause: Higher AI-generated code and agent-authored PR volume create more pull requests and review work.

Resolution: Build Code Inbox for smart routing and uReview for high-signal review comments rather than generic noisy feedback.

“More AI-generated code means more code reviews and more noise, so Uber built Code Inbox for smart PR routing, uReview for high-signal AI code review comments”article, stated
“uReview appears to be tuned to provide genuinely useful feedback rather than simply flagging every potential issue.”summary, stated

Evaluation

The case reports operational adoption and platform usage rather than a controlled productivity evaluation. The main evidence is usage telemetry, adoption metrics, PR/code-generation shares, specialized-agent throughput, cost growth, and qualitative lessons about adoption speed and peer sharing.

Metrics: agentic coding user share · AI-generated code share in IDE tools · Claude Code usage share over time · monthly agent-user share · agent-opened pull request share · unit tests generated per month · AI-related cost growth · token cost optimization priority · adoption speed versus expectations

5 supporting quotes
“* 84% of devs at Uber are agentic coding users (either using CLI-based agents or making more agentic requests than tab-completion in their IDE) * 65-72% of code is AI-generated inside IDE-based tools.”article, stated
“* 84% of devs at Uber are agentic coding users (either using CLI-based agents or making more agentic requests than tab-completion in their IDE) * 65-72% of code is AI-generated inside IDE-based tools.”article, stated
“92% of Uber devs use agents monthly, 65-72% of code is AI-generated inside IDEs, and 11% of pull requests opened by agents.”article, stated
“Autocover for generating 5,000+ unit tests per month, and Shepherd for managing large-scale migrations end to end.”article, stated
“concrete productivity metrics are notably absent. We don't see data on whether development velocity has increased, whether time-to-market has improved”summary, stated

Outcomes

The source describes a tech function of almost 3,000 people, 84% agentic coding users, 92% monthly agent use, 65-72% AI-generated code in IDE tools, 11% PRs opened by agents, Claude Code usage rising from 32% to 63% in three months, 5,000+ generated unit tests per month, and 6x AI-related cost growth since 2024.

5 supporting quotes
“Uber’s “agentic system” for software engineering is actually made up of several systems:”article, stated
“* 84% of devs at Uber are agentic coding users (either using CLI-based agents or making more agentic requests than tab-completion in their IDE) * 65-72% of code is AI-generated inside IDE-based tools.”article, stated
“92% of Uber devs use agents monthly, 65-72% of code is AI-generated inside IDEs, and 11% of pull requests opened by agents.”article, stated
“from 32% in Dec to 63% in Feb, while IDE-based tools (Cursor, IntelliJ) have plateaued.”article, stated
“AI-related costs are up 6x since 2024, and token cost optimization is a growing priority.”article, stated