AI-Augmented Code Review System for Large-Scale Software Development
uber · Tech · 2025 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.2 (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: Large-scale code review
Uber needed to preserve review quality across tens of thousands of weekly changes while AI-assisted development increased code volume.
Constraints:
- false positives
- developer trust
- 90%+ diff coverage
- security and bug detection
Architecture
Uber’s uReview uses a modular prompt-chaining architecture for AI code review. Submitted diffs are ingested and filtered for eligible files; specialized assistants generate issue-class-specific comments; post-processing filters, validates, and deduplicates the candidates before engineers see them. The system is modular so each review subtask and assistant can evolve independently, which helps manage false positives at Uber’s weekly review scale.
Diagram confidence: reconstructed (reconstructed from prose).
flowchart LR uber-code-review-platform["Uber code review platform"] ingestion-and-preprocessing["ingestion and preprocessing"] pluggable-assistants["pluggable assistants"] comment-generation["comment generation"] filtering["filtering"] validation["validation"] deduplication["deduplication"] developers["developers"] developers --> uber-code-review-platform uber-code-review-platform --> ingestion-and-preprocessing ingestion-and-preprocessing --> pluggable-assistants pluggable-assistants --> comment-generation comment-generation --> filtering filtering --> validation validation --> deduplication deduplication --> developers
Components
| Component | Role | Interacts with |
|---|---|---|
Uber code review platform |
Receives submitted diffs and invokes uReview for eligible automated review targets. | ingestion and preprocessing, developers |
ingestion and preprocessing |
Filters low-signal files and prepares surrounding code context for review prompts. | Uber code review platform, pluggable assistants |
pluggable assistants |
Specialized assistants for bugs, best practices, and application security, each with tailored prompts and context. | ingestion and preprocessing, comment generation |
comment generation |
Generates candidate review comments through prompt-chained GenAI assistants. | pluggable assistants, filtering |
filtering |
Post-processing stage that removes low-quality or irrelevant candidate comments. | comment generation, validation |
validation |
Checks whether candidate comments are factually valid and relevant before posting. | filtering, deduplication |
deduplication |
Removes redundant comments so engineers receive a smaller high-signal set. | validation, developers |
developers |
Uber engineers who receive, mark useful, address, or ignore generated comments. | Uber code review platform, deduplication |
Data flow
A developer submits a diff to Uber’s review platform. uReview filters eligible files, gathers nearby code context, routes the review to pluggable assistants for issue-specific comment generation, then runs filtering, validation, and deduplication before posting high-signal comments back into the code-review workflow.
4 supporting quotes
Why this architecture
The architecture decomposes code review because the dominant production risk is low-signal AI feedback. False positives from hallucinations or context-insensitive comments erode trust, so uReview narrows scope, uses specialized assistants, and separates generation from filtering/validation/deduplication.
4 supporting quotes
Models used: GenAI models
Scale
- uReview analyzes more than 90% of Uber’s roughly 65,000 weekly diffs.“uReview today analyzes over 90% of the weekly ~65,000 diffs (equivalent of pull requests) landed at Uber.”article, stated
- Engineers mark 75% of uReview comments useful and address more than 65% of posted comments.“Engineers who interact with the tool mark 75% of its comments as useful, and we see over 65% of its posted comments addressed.”article, stated
- uReview currently has three assistants in operation and is expanding the assistant list.“uReview currently has three assistants in operation, but is actively expanding the list.”article, stated
Alternatives considered (roads not taken)
Single monolithic code-review prompt
Rejected because: Uber split review into independent subtasks and assistant types to tune generation, filtering, validation, and deduplication separately.
Post all generated comments directly
Rejected because: High false-positive rates cause engineers to tune out AI review comments.
Patterns
prompt-chaining (code-review)
The system decomposes code review into chained sub-tasks that can evolve independently.
guardrails-io-filtering (quality)
Filtering and validation reduce hallucinated or low-value code-review comments before developers see them.
Tradeoffs
How to structure AI code review.
Chose modular multi-stage pipeline over single standalone prompt.
Rationale: The modular design is more complex but improves maintainability and targeted evaluation.
Gotchas (what bit them)
False positives can destroy trust in AI code review.
Root cause: LLMs may hallucinate incorrect comments or flag technically valid but irrelevant issues.
Resolution: Add post-processing, validation, filtering, deduplication, and specialized assistants to raise signal-to-noise.
Evaluation
Uber measures coverage, usefulness ratings, and addressed comments.
Metrics: 90% of ~65,000 weekly diffs · 75% useful comments · 65% addressed comments
Outcomes
- uReview reached broad deployment and meaningful developer interaction at Uber scale.
AI-augmented review system, not necessarily autonomous; marked agentic because it runs a multi-stage AI review workflow over code changes.