ndovuai-code-review

PRACTICES · AI CODE REVIEW

Eighteen teams, what they actually run

Every documented first-party practice in the evidence base, with each team's own numbers and dates. The inventory is self-selected: the quiet list at the end matters as much as the table.

Published: Nov 1, 2026first-party accounts + controlled studies, 2024-2026The table
01 · The inventory

Who runs what, and what it did

Numbers are each team's own reports unless the row carries a study reference. Where a row looks too good to check, remember the honesty map: these are self-selected adopters describing their own systems.

TeamSystemPractice shapeKey numbers (their own)Date
Anthropicsix layers + rollbackPre-PR verification, AI review on every PR, blocking security and CI internally, risk-tiered human approval, merge queue, staged rolloutagent approvals never count; goal: most PRs merge with 1 or fewer humans in the loop; incidents scored daily as the eval2026-03 / 10
GoogleAutoCommenter, then ARCTIC/CritiqueLLM best-practice comments for tens of thousands of devs; intent/drift/spotlight critique for agent diffs~40% comment resolution; 80% useful after suppressing 22 topics; A/B: no significant review-duration change; ARCTIC reports zero defects attributed to self-reviewed diffs2024 / 2026-07
Google Cloud OCTOhybrid human + agentGuardrails, conditional LGTM, AI risk snapshots per PR, zero-trust policy engine after an agent email incidentnames approval fatigue as the human cost2026-04
MicrosoftPRAssistantAI as one reviewer among several; suggested fixes never auto-committedover 90% of PRs, 600k+/month; 10-20% median completion-time improvement2025-07
UberuReviewPrompt-chained generation, confidence grading, dedup, and category suppression decide what a human ever seesover 90% of ~65k weekly diffs; launch gated on 75%+ useful; 65% addressed vs 51% human baseline; ~1,500 hrs/week saved2025-08
Cloudflareseven-agent CI reviewerSpecialist reviewers plus coordinator; risk tiers by diff size and sensitive paths; bot gates, humans keep break-glass131k runs/30 days; $0.98 median/review; 1.2 findings/review; break-glass 0.6%2026-04
RampInspect + background agentBackground agent with the human's verification loop; PRs attributed to the prompting human~30% of merged PRs agent-written in Jan 2026; later reported above 50%2026-01
Tata 1mgDeputyDevSix parallel specialist review agents plus a comment-blending engine-31.8% PR review cycle time; 300 engineers, 12 months; gains concentrated in top adopters (+61% shipped) while bottom adopters fell 11%2025-09
CognitionDevin ReviewAgent reviews every PR; large PRs reorganized into readable diffs659 Devin PRs merged in one week internally2026
OpenAIharness engineeringAgent-to-agent review loops; taste encoded into docs and tooling rather than human gates; minimal blocking merge gates; Fridays once spent cleaning "AI slop""Humans may review pull requests, but aren't required to"; ~1,500 PRs, ~1M LOC, 3 engineers at 3.5 PRs/engineer/day2026-02
Verceldoctrine + Eve botLeverage-not-rely; gated deployments, executable guardrails, invariant-auditing agents; internal bot auto-approves low-risk"Green CI is no longer proof of safety"; litmus: would you own the incident?2026-03
Duckbilllabel-enforced policyHuman review required by label only for auth, public API, schema, agent skills; strict guardrails elsewheremerged PRs 353 to 684 (+94%); 45% merged under an hour, was 28%2026
IntercomPR review Agent + auto-approvalRefuses large PRs; auto-approves a guarded class; every decision logged for auditorsover 93% of PRs agent-driven; over 19% auto-approved; AI-authored reverts 0.53% vs 5.39% (backend), 0.22% vs 2.00% (frontend); zero reverts in a 100+ PR pilot2026-04
Coinbaserisk frameworkPR security-risk score gates agent-only vs multi-human approvalreported via Greptile's industry survey (secondhand)2026
Weaviate90/10 loopAdversarial agent reviews; human decides scope; agent implements; human breaks the loopreported on the record, no metrics published2026
Shopifytalks, no formal post"AI writes the code, AI reviews the code. Your job is just to write the loops around it."no published metrics2025-26
WirelessCarfield experiment (ESEM)RAG-assembled context for LLM-assisted review; AI-led for large or unfamiliar PRs, on-demand for familiar codedevelopers preferred AI-led review for large PRs; top concerns: false positives, context switching, anchoring2025-10
WeTravelevaluated twice, declinedPiloted AI review in 2025 and again in mid-2026; declined adoption both timesnoise still did not justify adoption; the clearest documented informed rejection2026-06

Bun, the open-source JavaScript runtime maintained with Anthropic's help, stacks three vendor reviewers on the same PRs (CodeRabbit, Copilot, and Claude review): independent reviewers as a deliberate redundancy practice.

02 · The decomposition, as data

Review splits into five functions

One way to read the table above: the single senior engineer reading a whole diff is gone at the frontier, and five functions recombine in its place. Google's ARCTIC team states the sharp version: the traditional line-by-line review model is fundamentally incompatible with AI-generated code at scale (L25). The functions are a map of what the table documents, not a scorecard.

  1. Pre-PR verification. Runnable proof (tests, builds, screenshots) plus a fresh-context agent review of the diff before a human ever looks. Anthropic calls this the spellcheck model (L12).
  2. Continuous AI review on every PR. Specialist reviewers with a coordinator, run on all changes rather than sampled ones (Cloudflare's seven agents, Uber's uReview, Microsoft's PRAssistant).
  3. Risk-tiered human checkpoints. Approval requirements set by the change's blast radius, not the author's rank (L11).
  4. Evidence-gated release. Staged rollouts, canaries with auto-rollback, and merge queues where they still make sense.
  5. Post-merge ownership. Fast rollback and the rule Anthropic keeps: you land it, you own it (L20).

No team runs all five the same way. What they agree on is the shape: no single check is trusted, so defense lives in the stack plus rollback underneath it.

03 · Economics

What a review costs, an order of magnitude apart

Cost became a first-class result the moment every tool moved to usage metering. The spread between a tuned homebuilt reviewer and vendor pricing is roughly 15-20x on the published rates.

Cost per review, log scale

dollars; each team's or vendor's own reported figure

$0.25$1$5$25Lowest meteredtools, per review$0.25Cloudflarehomebuilt, median$0.98Typical vendortoken-billed, per review$15-25

Method: published figures from each party (L28, L67, and Anthropic's launch post for $15-25 token-billed reviews, L15). Cloudflare reaches $0.98 by routing text-heavy reviewer roles to cheap models with an 85.7% cache-hit rate; Uber states its in-house cost is an order of magnitude below vendor pricing at 65k diffs a week. Note the scale is logarithmic: each gridline is roughly 4-5x.

What the data saysThe vendor bar sits around 15-20x the tuned homebuilt median. At Uber's volume (65k diffs a week), that difference is a headcount, not a line item.
Where it losesAnthropic's deep review tier caps at 500 files / 8,000 lines, far under the 10k-line agent PRs that review worst; the hardest inputs are the ones metered pricing does not cover.
Bottom lineReport cost per useful finding, not per review; the useful rate is what separates the bars, not model choice.
04 · The reviewers who said no

Rejection is also a finding

Adoption stories dominate the conversation, so the negative results are easy to miss. WeTravel piloted AI review twice, most recently in June 2026, and declined both times: the noise still did not justify the cost (L36). In the same reporting, another engineering leader described AI review comments as mostly unhelpful and turned them off. WirelessCar's field study records the mechanism: teams "flooded with false positives... miss the real issues", and reviewers anchor on the AI's comments even when ignoring them would be better (L38).

"Telling an LLM what not to do is where the actual prompt engineering value resides."

Cloudflare, on building its seven-agent reviewer (L29)

The teams that succeeded and the teams that declined are separated by one variable: whether someone treated noise suppression as the project. That is a management decision before it is a model choice, which is why the playbook starts with measurement, not tooling.