The Death of the Code Review: What the Data Actually Says — Laurie Voss, Arize AI

AI Engineer · 24 min · 276 sentences · from YouTube's caption track

Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.

  1. 00:01[music]
  2. 00:12Hello everybody.
  3. 00:13Thank you for following on a session about the death of the code review with a session about the death of the code review.
  4. 00:20Uh who knows howululing decisions get made, but uh Swix decided it would be funny for those two to be backtoback.
  5. 00:27Uh, hi.
  6. 00:28Uh, I'm Lori.
  7. 00:29I'm head of developer relations at Arise AI.
  8. 00:32Uh, some of you may remember me from when I used to co-found npm, Inc. These days, I think about AI and how to test it.
  9. 00:39Uh, I'm here to talk about a problem that everyone is seeing right now.
  10. 00:42The rise of AI agents has dramatically increased how fast developers can produce code.
  11. 00:49Uh, but the speed at which humans can review code.
  12. 00:52Uh, yeah, I am having a talk right now.
  13. 00:55Thank you, notion.
  14. 00:56very good reminder.
  15. 00:58Uh the team the speed at which humans can review code has stayed exactly the same.
  16. 01:04Um
  17. 01:04[snorts]
  18. 01:05and that is creating a new bottleneck that everybody is feeling.
  19. 01:08Engineering teams across the industry are feeling it.
  20. 01:10Uh so what can we do about it?
  21. 01:12Some options are uh we could skip human review entirely.
  22. 01:16Uh some folks are trying that.
  23. 01:18Can we automate reviews reliably?
  24. 01:20Some folks are trying that too.
  25. 01:21Uh what we're doing going to do today, what I'm going to do for you is I'm going to look at what the industry is really doing right now uh and try to figure out what you can do
  26. 01:31uh today when you leave the room.
  27. 01:34So let's start with two numbers.
  28. 01:36Uh recently three economists tracked more than 100,000 GitHub developers uh matched them against telemetry that showed exactly when each one started using AI.
  29. 01:46Uh the developers who turned on autonomous agents wrote 741% more code but only 30% more software shipped.
  30. 01:56Uh that is the scale of the problem right there.
  31. 01:58They were writing code nearly eight times faster.
  32. 02:01Uh but their actual ship software only rose by a third.
  33. 02:04Uh and the authors of the study are blunt that review was the bottleneck.
  34. 02:08Um the problem is that the route to production still runs through humans.
  35. 02:12uh and the human steps uh in particular code review uh choke everything downstream.
  36. 02:19Um producing code is suddenly a whole lot cheaper.
  37. 02:21Knowing whether to trust it is still very expensive, especially if you have uh sensitive code with a blast radius.
  38. 02:29Um how can we bring that second number down and thus bring this the amount of software that we ship back into line with the amount that we can code?
  39. 02:37Uh let's zoom out first.
  40. 02:40Let's be clear that the problem is real.
  41. 02:41generation is no longer the bottleneck.
  42. 02:43Uh Stripe in Anthropics launch materials for Fable this year reported migrating a 50 million line Ruby codebase in a single day.
  43. 02:51Uh which is work that they'd estimated would take over two months for a team.
  44. 02:56Um Bun, which is now part of reported that they migrated over a million lines of Zigg uh to Rust in six days.
  45. 03:04Uh and of course all of us in this room are feeling this on a smaller scale.
  46. 03:08uh our agents are generating whole apps and we're just sort of hitting the merge button and feeling guilty about the fact that we haven't read these code diffs and we're just sort of hoping that it works.
  47. 03:17Uh we can't possibly keep on going like that.
  48. 03:21Um so the obvious answer and the answer some people are trying is you just review more.
  49. 03:25You take people whose job was previously to review code as well as write code and just say review code all the time.
  50. 03:32This is your job now.
  51. 03:33Uh and that doesn't work.
  52. 03:35uh partly because that's really boring and those people burn out really fast.
  53. 03:39Um but also the numbers say that we can't um the best study we have on this was done uh two decades ago at Cisco um over 10 months they took 2 and a half thousand reviews they took 3.2 2 million lines of code.
  54. 03:53Uh, and the study says that reviewers stop finding defects effectively if they try to read more than 400 lines of code in one sitting and their effectiveness completely falls off a cliff.
  55. 04:05Uh, if they try to review more than 450 lines of code in an hour.
  56. 04:10Uh, if you do the math on that mean that means that a 10,000line agent pull request at that pace would take three or four working days to get a real human review.
  57. 04:19that is one pull request from one agent.
  58. 04:2110,000 lines is uh absolutely you know absolutely an expectable number of of lines of code uh for an agent that is doing a lot of work for you.
  59. 04:32Uh and a developer can now run a dozen agents at once.
  60. 04:35Um although I'm tend to be suspicious of the people who do um so we can't just review harder and we're all feeling that too.
  61. 04:43The people who are trying to review harder are burning themselves out.
  62. 04:46So what is the alternative?
  63. 04:48Uh some people have decided to just stop reading the code entirely.
  64. 04:53Uh Peter Steinberger who is the creator of OpenClaw uh says that you shouldn't be prompting coding coding agents anymore.
  65. 04:58You should be designing the loops that prompt your agents.
  66. 05:01Uh Andre Karpathy who is one of OpenAI's founding engineers has made the same argument about taking yourself out of the loop.
  67. 05:08Uh because the human in the loop is holding the system back.
  68. 05:12Uh but this goes beyond bold claims on Twitter.
  69. 05:15Uh in February this year, OpenAI published an account of building an internal product uh with in their words no manually written code.
  70. 05:24They started with a completely empty repository uh and agents wrote everything.
  71. 05:29Five months later they had about a million lines of code about 1500 merged pull requests uh pull requests uh and they had done used three engineers to do this.
  72. 05:39Uh even the scaffolding of the agent to review the agent and stuff like that was also written by agents.
  73. 05:44What they said was humans may review pull requests but they are not required to.
  74. 05:50Uh we've pushed almost all review effort towards being handled agent to agent.
  75. 05:56I think the interesting thing about the OpenAI experiment is that they did not tell us what the product did and they did not review an open they did not release an open source product saying and this is how we did it and this is how you should do it which suggests to me that there are still holes
  76. 06:08in that strategy.
  77. 06:09Um but it is one possibility.
  78. 06:11If open AAI says that you can do it, maybe you can do it.
  79. 06:15Um but one poss so agent open AI says that's one thing you can do.
  80. 06:21The bet there is that loop design substitutes for inspection.
  81. 06:24Uh whether you can build a loop that is good enough uh to review all of your code for you depends entirely on what the loop can see.
  82. 06:32Uh but that is an enormous caveat.
  83. 06:34What exactly can the loop see and is it reliable enough to do code reviews?
  84. 06:40For years, the industry's proxy for uh reliable for quality has been whether the tests passed uh because that is what the benchmarks measured.
  85. 06:49In March this year, uh a research group called Meter, who you've probably heard about before, uh tested that proxy directly.
  86. 06:56They hired four active maintainers of open- source projects uh from the same open source projects that Swebench tests against and they got them to look at uh PRs that had already passed
  87. 07:11SWEBench is greater.
  88. 07:13So SweetBench said this pull request is is good enough to merge and they got the open source reviewers to look at exactly the same PR and say is it really good enough to merge and it was only good enough to merge about half of the time.
  89. 07:26Uh, and the failures weren't about correctness because obviously the PRs were passing all of the tests.
  90. 07:31They were about code quality and they were about changes that quietly broke other code, things external to the test suite.
  91. 07:38Uh, one caveat that meter mentions is that the agents got no chance to iterate on feedback.
  92. 07:44So, a human uh, contributor obviously being told that their PR isn't going to get merged get another go at it.
  93. 07:50They can take another swing.
  94. 07:51Uh but that caveat doesn't really isn't really relevant to our purposes because that's just putting a human in the loop and what we're trying to see is whether or not we can take the human out of the loop entirely.
  95. 08:03Uh Cognition, the makers of Devon, uh built a benchmark around the maintainer's actual question, which is would you merge this?
  96. 08:10Uh they called it frontier code and they launched it in June.
  97. 08:14Um more than 20 maintainers built 150 tasks from their own repositories, each one over 40 hours of expert work.
  98. 08:21Uh Frontierbench grades behavioral correctness, regression, safety, scope, discipline, test quality, and maintainability.
  99. 08:28This is a human review rubric uh made machine checkable.
  100. 08:32Um, and what they found was that Fable 5 before it got pulled and then unpulled, uh, scores 88% on Swebench Pro, but only 29% on the hardest slice of, uh, Frontier code.
  101. 08:44So, the same model on the same surface with the same job does 51 points less uh, less well if you're asking not does it pass the tests, but whether or not uh, you would actually merge the result.
  102. 08:57Um, and this isn't one model having a bad day.
  103. 09:00on the same set of tests uh GPT 5.5 scores under 6%.
  104. 09:04So the strongest models we have are nowhere near uh passing human review reliably.
  105. 09:11So somebody has to write down what mergeible actually means.
  106. 09:15That is it's clear that we haven't done that yet.
  107. 09:18Uh the moment they do something will happen.
  108. 09:22Sarah Guo who is a prominent investor in AI uh wrote about it and said that solving for that solving for that benchmark a benchmark of genuine mergeability uh will be a critical turning point in the development of coding models
  109. 09:36um in the essay where she was talking about this she made clear why models got so good so fast at generating code and that is because a compiler is a free verifier
  110. 09:46a test suite is a free verifier and anything that you can verify cheaply you can train against until you beat it and that is what has been happening uh at the major model trainers.
  111. 09:58Uh so a benchmark of mergeability if we could if we could make one wouldn't only be a measurement it would immediately become a training signal for the frontier models.
  112. 10:08Uh which means maintainability scope discipline regression safe safety the moment somebody comes up with reliable tests for those the big models will be trained on them.
  113. 10:18Uh and whoever writes today's review standard is writing next year's default model behavior.
  114. 10:24Uh we have some prior art here knowing we have seen this happen already.
  115. 10:28Uh which is that in 2024 OpenAI trained a model called critic GPT to catch bugs in model written code.
  116. 10:35Uh human reviewers working on it beat the model alone uh and the human alone.
  117. 10:40Um, so OpenAI built a model to review the models in order to clean the training and it created a training signal that's now built into the models.
  118. 10:48It made the models better almost instantly.
  119. 10:51But mergeability standards are still in the future.
  120. 10:54Right now we do not have a good rubric that captures everything that a human decides uh to uh consider when they are deciding whether something is mergeable.
  121. 11:05And I promised you something that you can do today.
  122. 11:08Um so who is actually running automated review right now?
  123. 11:13Uh one company is GitHub.
  124. 11:15GitHub is uh copilot's reviewer has done 60 million reviews and now accounts for more than one in five uh code reviews on all of GitHub.
  125. 11:24So machine review of pull request is the mainstream default uh on the world's largest code host.
  126. 11:29That is more than an experiment.
  127. 11:30That is a large production uh a large production deployment.
  128. 11:35Uh, Curser is also doing an enormous amount of code review.
  129. 11:38Cursor uh, has published its reviewer's architecture, so we know how they're doing this.
  130. 11:43Um, and the details tell you what the job really is.
  131. 11:46The first version of their reviewer uh, would run eight review passes over each diff uh, and then shuffle the order of the reviewers uh, to review the code again and again
  132. 11:58uh, because the order in which it did those reviews changed the outcome of those reviews.
  133. 12:03what they were doing was filtering for false positives because a reviewer, an automated reviewer that flags something as bad when it's actually good, uh, is going to get ignored.
  134. 12:15Um, and it's not just cursor who's doing this.
  135. 12:17There's research about it.
  136. 12:18Uh, a team at PKing University tested the same idea independently.
  137. 12:22Run several review passes, see keep what they agree on.
  138. 12:26Uh, and they found that it review raised review quality by up to 44%.
  139. 12:30Uh the multipass trick keeps getting rediscovered because uh false positives are the thing that kill a reviewer and it actually works.
  140. 12:38So then cursor rebuilt uh their code reviewer.
  141. 12:42Um so that the model reasons over the diff, calls tools and decides where to dig.
  142. 12:46Um and my favorite detail from their rebuild uh was that they had to tell the model to be more suspicious of the code.
  143. 12:53Uh the model tended to look at the code and say, "Well, that looks good to me, so ship it."
  144. 12:57Which is exactly what a human would do in that situation.
  145. 13:00uh they had to tell it don't trust the code by default.
  146. 13:03Assume there is something wrong with it.
  147. 13:05Um and somewhere in that sentence is a whole is a whole talk about what a good review actually is.
  148. 13:10Uh it is about being suspicious by default.
  149. 13:14Um the next thing that's happening is that review is starting to fuse with repair.
  150. 13:19Cursor's reviewer now spawns a fix agent from its own findings.
  151. 13:23So it doesn't just flag the bug.
  152. 13:24uh it writes a patch uh and it hands you back uh a diff to approve.
  153. 13:29Uh you approving that diff is obviously another code is another human in the loop where we don't want humans in the loop.
  154. 13:36Um the next thing cursor wants to do is the reviewer running the code to prove its own bug report is real.
  155. 13:42Um the line between reviewing and rewriting is getting very thin indeed.
  156. 13:47Um and GitHub and cursor are by no means the only vendors getting into this game.
  157. 13:51It is uh getting very crowded in there.
  158. 13:53There's a ton of companies uh in the field.
  159. 13:56Uh Code Rabbit is the largest dedicated reviewer has now reviewed over 13 million poll requests.
  160. 14:02Uh Graptile builds a graph of your whole reposi of your whole repository so that the reviewer can see how a change lands in distant code.
  161. 14:10Uh graphite builds its evaluation set from which of its own suggestions developers accept or reject.
  162. 14:16Uh but the thing to notice uh about what every one of them is doing is that all of them are using the same metric as their definition of success which is is a human accepting my answer.
  163. 14:27Uh cursor calls it the resolution rate and it has driven it from 52% to over 70%.
  164. 14:33Um the reviewers are trained on human accept judgment every day at scale.
  165. 14:39They are training their harnesses to get better at the definition of good as defined by human acceptance.
  166. 14:45That is a preview of what the models are going to do except these companies have already shipped it.
  167. 14:50So the status quo is you can generate code automatically, you can review the code automatically, but humans still need to review the the reviews.
  168. 14:59Can you skip that part entirely?
  169. 15:01Can you get the human entirely out of the loop?
  170. 15:03Uh there are two prominent projects that I've that have tried so far that I've heard of.
  171. 15:08Uh in February this year, Anthropics Nicholas Carini had 16 agents build a C compiler from scratch in Rust.
  172. 15:15uh it was able to compile the Linux kernel uh across about 2,000 sessions with no human in the loop.
  173. 15:21But if you read that experiment closely, uh it's true that there was no human in the loop.
  174. 15:26Uh no human approving the code as it was written, but there was absolutely a human on the loop.
  175. 15:30The system uh that reviewed the code, the system that checked whether the code was doing what it was supposed to do, all of that uh was written by a human.
  176. 15:40Um the test harness, the feedback systems, all of that stuff.
  177. 15:43Um it was automated testing with tests that took a human to write them.
  178. 15:48Um Carini's own warning when he wrote about it was that it is easy to watch the tests pass and assume that the job is done uh and that it rarely is.
  179. 15:57Another very widely publicized experiment which I al which I already mentioned briefly [clears throat] in passing was when bun ported its entire uh runtime from zig to rust.
  180. 16:05That was about a million lines of code by agents in six days.
  181. 16:09Obviously no human read that diff.
  182. 16:11Um the gate for that experiment was the existing test suite.
  183. 16:1599.8% of the test suite passed.
  184. 16:18Um so the test did real work.
  185. 16:21Uh a fun fact about that experiment is that the PR uh where they uh where the agents decided that the they were done with all of the Zig code and they deleted all of the Zig code in one giant PR was flagged by another robot as this is AI slop.
  186. 16:34You can't possibly delete all of your code.
  187. 16:37Uh which I thought was a fun aside.
  188. 16:39Um, but there are some big caveats on that bun experiment.
  189. 16:43Somebody looked carefully at the ported code and it has 13,044 unsafe blocks.
  190. 16:49Uh, in a comparable human written uh, uh, Rush codebase of that size, uh, you would see about 74.
  191. 16:58So, three orders of magnitude more unsafe memory unsafe blocks.
  192. 17:02An unsafe block is a place where the author asserts rather than proves uh, that memory is being handled correctly.
  193. 17:09So the test suite can certify behavior at the public interface.
  194. 17:12Um it cannot certify 13,000 assertions that the test suite was never designed to look for.
  195. 17:18So they took humans out of the loop for sure.
  196. 17:21Uh but there's now no knowing what is lurking under the surface of their rust as a result.
  197. 17:28So let's go back to OpenAI who have pushed this the first list because they show what skipping human review costs.
  198. 17:34They didn't delete review, they moved it.
  199. 17:37uh codeex reviews its own changes uh then calls in more agents to review those reviews um in a loop until every agent reviewer is satisfied.
  200. 17:46OpenAI made Codeex bootable at every single change so that Codeex can actually run a copy of Codeex, look at it, look at the UI, see if the bug is being fixed.
  201. 17:56Uh and they expose the whole logging stack to the agent.
  202. 18:00Um, and a line from their writeup says exactly what the Cisco study said, which is that when something failed, the fix was almost never to try harder.
  203. 18:08It didn't work sometimes.
  204. 18:10Uh, and one detail that you'll recognize from your own week is that for a while on this project, they had to spend every Friday cleaning up AI slop.
  205. 18:18Uh, by hand as humans.
  206. 18:20Um, so that eventually didn't scale and so they trained agents to look for AI slop and get rid of the AI slop.
  207. 18:30uh review didn't disappear is the lesson of this of of this experiment.
  208. 18:35Uh it got rebuilt as a system and that system is built by humans.
  209. 18:40So can you skip the human entirely?
  210. 18:43Uh someone who tried it for real and then changed his mind is Dexter Horthy.
  211. 18:47Uh he spent six months telling people not to review the code.
  212. 18:50He famously did that at AIE last year.
  213. 18:52Um he told people just ship, let the agent do its thing.
  214. 18:56Uh and in March this year on stage uh he took that back.
  215. 19:00Uh he said I was wrong.
  216. 19:02Please please read the code.
  217. 19:03We tried not reading the code for like six months.
  218. 19:05It did not end well.
  219. 19:06We had to rip out and replace large parts of that system.
  220. 19:09That is not a benchmark.
  221. 19:10That is somebody who ran this experiment for real.
  222. 19:13Tried it with real code on a real system uh and retracted his remarks.
  223. 19:18Uh OpenAI is running uh lived with the results um and reversed in public.
  224. 19:25Uh so Sarah Quo uh in the same writeup that I mentioned earlier talked about why that happens.
  225. 19:30Passing the test never told you that the change was the right change.
  226. 19:35It never told you that this module exists because there are three external users of this module.
  227. 19:41Uh it never told you that there's this cron job that nobody will admit to writing that relies on that module existing.
  228. 19:46Um there is context outside of the test suite that the tests don't uh can't find.
  229. 19:53So in everything that we've looked at so far, the human uh checkpoint is continuing to survive.
  230. 20:00It is moving around uh but it is surviving in predictable places.
  231. 20:04One is where correctness isn't cheaply checkable.
  232. 20:07Another is where uh the blast radius is large.
  233. 20:10In security conscious environments, every time you tell people, oh, we can just get rid of human review, you get an immediate no. Uh wherever someone has to put their name on the result.
  234. 20:21Uh but what's happening is the human role isn't disappearing.
  235. 20:24It is moving up the stack, possibly several levels up the stack from inspecting the code directly to designing and tuning the systems that inspect the code and designing the definition of good.
  236. 20:35Which raises the obvious question, who reviews those systems?
  237. 20:38If you've built a system that does your reviews for you, how do you do the meta review of your reviewer?
  238. 20:43Um and the answer won't surprise you.
  239. 20:45It is humans.
  240. 20:46Uh, Anthropic ships an automated security reviewer and in its readme it has a huge caveat uh, which is this action is not hardened against prompt injection attacks uh, and should only be re used to review trusted PRs.
  241. 20:59So, Anthropics code reviewer uh, can be talked out of its findings by the very thing that it is reviewing.
  242. 21:06Um and that is a finding that has been reproduced in study in March this year reinforced uh that vulnerable code dressed up in an innocent commit message uh fooled an autonomous review agent in 88%
  243. 21:18of attempts.
  244. 21:19Uh the same attempts uh sent to a human reviewer uh passed only 35% of the time.
  245. 21:26So you you take the human out of the loop.
  246. 21:28Uh you don't just lose a reviewer, you lose the thing that was hard to fool.
  247. 21:33So automated reviews fall for confidently framed bad code.
  248. 21:37And confidently framed bad code is exactly the kind of code that agents are very good at producing.
  249. 21:42They're very like this is good and I am ready.
  250. 21:44Uh and they uh are wrong sometimes.
  251. 21:48Um and the other problem is the field doesn't even agree yet on how to grade these graders.
  252. 21:53Uh benchmark scaffolds have been caught leaking answers.
  253. 21:56Researchers disagree on how to review quality at all.
  254. 22:00um which leaves one reviewer that you can't automate and you can't skip which is production.
  255. 22:06Uh once the premerge review is all machines watching what the code actually does becomes the last reviewer standing.
  256. 22:15Um once the code ships the test results stops being the interesting thing the trajectory does what the system actually did step by step uh when it ran against the real world.
  257. 22:26Uh I'm not going to give a pitch for a rise here.
  258. 22:28there are enough pitches for a rise at this conference.
  259. 22:30Uh but if you're shipping automatically reviewed code, then systems in production that review what it actually does in the wild become indispensable.
  260. 22:40Um so after all that evidence, after all of that review of what the world is doing about automated code reviews, where I land is that code review isn't completely dead, but it is changing an enormous amount.
  261. 22:52Uh it is being rebuilt as an engineered system.
  262. 22:55Humans are moving from being the engine that drives a code review uh reading code line by line uh to its pilots.
  263. 23:03Uh and given the numbers that we opened with that is probably the right trade.
  264. 23:06Every layer of that system, the benchmark, the classifier, the rubric, the test suite, the eval is itself unreed until somebody decides that that is their job.
  265. 23:15Um and the teams that win the next few years won't be the ones that generate the most code.
  266. 23:20They'll be the ones who can say with evidence why they trust what they shipped.
  267. 23:25Uh and I open by promising you that I would give you with something practical that you could walk away with something that you can do today.
  268. 23:31Uh and that is to stop reviewing PRs.
  269. 23:34Um it is the wrong level of abstraction for 2026.
  270. 23:38Your human judgment is extremely valuable, but it can be made to scale much further than it is scaling right now.
  271. 23:44Uh pour your precious time into building uh a reliable review harness.
  272. 23:51codify your definitions of good, your company context, your domain knowledge, and then uh crank up the agents to work with that.
  273. 23:59You can go much faster than one-third faster uh if you concentrate your efforts higher up the stack of reviewers, rules, and evals.
  274. 24:07Uh I hope this look at what the industry is doing today has helped you what to helped you decide what you should do and what to expect next.
  275. 24:17Uh and thank you so much for your time and attention.
  276. 24:21[applause]