The Case for In-House AI Review
As Uber’s engineering volume grew, the time to first review increased from three hours in 2024 to nine hours in 2026. To address this, the team built uReview, an internal multi-agent system designed to handle unique constraints: support for Phabricator, integration with existing team ownership models, and the need for consistent security and compliance rules across six language-specific monorepos. Unlike third-party tools, uReview allows teams to define custom agents and skills that operate within the same ruleset as human reviewers, ensuring consistency across both human and agentic workflows.
Observability and Feedback-Driven Tuning
The team learned that LLMs are prone to high-confidence hallucinations, never signaling when they are wrong. To mitigate this, they moved beyond surface-level metrics (cost, NPS) to deep observability:
- Addressal Rate: Tracking whether developers actually act on a comment.
- Sentiment Analysis: Categorizing developer replies to identify friction points.
- Agent Trajectory: Profiling tool calls and reasoning processes to debug why an agent made a specific decision.
By surfacing this data back to the teams who own the review rules, they enabled a feedback loop where engineers can refine their custom skills based on real-world performance. This iterative tuning resulted in a 60% reduction in costs and a 70% increase in accuracy compared to their initial naive implementation.
Scaling Customization and the Future of the Outer Loop
uReview supports a tiered review stack: general-purpose logic checks, deep multi-file reviews, AI linters for deterministic rules, and custom agents linked to team-specific knowledge bases. The challenge was not writing these skills—which is trivial—but running them at scale with consistent quality.
As the industry moves toward an agentic SDLC, the role of the human engineer is shifting. Rather than removing humans from the code review process, uReview aims to move human responsibility "up a layer." Engineers are freed from nitpicking implementation details and can instead focus on high-level architecture, domain expertise, and product thinking. The "outer loop" is not being killed; it is being expanded to allow humans to manage the systems that write and review the code.