Why Humans Can't Keep Up With AI-Written Code - Tariq Shaukat, Sonar
Read the talk
Why Humans Can't Keep Up With AI-Written Code
Tariq Shaukat explains why faster code generation does not translate directly into faster releases—and how Sonar combines intent, guide rails, independent verification and auditable evidence to build confidence into agentic software factories.
From a talk by Tariq Shaukat
At a glance
Ideas worth remembering
Code generation and software delivery are different measures. The study presented reports increases of 2,450% in lines of code and 240% in commits, but only 30% in releases.
Human approval is not sufficient evidence of independent judgment. The cognitive-surrender study described in the talk finds that people agree with incorrect AI answers four out of five times.
Repository navigation consumes real agent work. Guidance can reduce repeated discovery, while long-task capability claims must include the success threshold at which they were measured.
Sonar’s confidence formula treats intent, guide rails, independent verification and auditable evidence as jointly necessary. Better generation does not eliminate the need to verify the result or demonstrate that it passed.
Read customer metrics by their actual denominator: being more likely to report a very positive impact is different from measuring an equivalent percentage improvement in security, delivery speed or outages.
The ball bearing tests whether the parts fit
A car can have good individual parts and still fit together badly. Tariq Shaukat, Sonar’s CEO, opens with the gaps between body panels on cars of the 1980s, then recalls a Toyota/Lexus commercial in which a ball bearing runs across a car’s seams. The demonstration makes an otherwise abstract manufacturing claim tangible: the finished assembly fits together precisely. For software factories, that distinction matters. Producing components is only part of producing a dependable system.
The manufacturing lesson is to engineer quality into production rather than maximize output and repair the result afterward. That changes several decisions at once: prioritize quality over volume, correct the system that creates defects, and design parts to work together instead of hoping separately designed wheels and washer bottles will fit. Problems get addressed when they appear. Anyone can stop the line, not just the boss.
Software development already recognizes much of this logic. Shaukat connects Agile, Kanban, SRE error budgets and continuous integration to the production-system emphasis on flow and quality. His starting point is therefore familiar engineering practice. The question is what happens to that practice when agents sharply increase the amount of work entering the factory.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Agents increase output—and the pressure on the factory
Research Shaukat presents on asynchronous coding agents reports a 2,450% increase in lines of code written. Code creation becomes abundant enough to invite another step: automate the surrounding workflow and run an agentic software factory. The adoption figures he previews from Sonar’s developer survey show that ambition. Among the developers surveyed, 5% say they already run such factories; 34% expect to within a year, rising to 39% in financial services. Those latter figures describe expectations, not completed deployments.
The same capabilities also help attackers. An agent that can inspect code and find vulnerabilities can support either development or exploitation. Shaukat connects that dual use to a post by Satya Nadella about model-related insider risk: containment and governance need deterministic system design, human controls and reliable operating procedures. In this framing, confidence must come from the way the factory operates, rather than from a general belief that its models are capable.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Human review faces both a throughput limit and a judgment problem
The first constraint appears when generated work must become a release. In the same study, the reported increases are 2,450% for lines of code, 240% for commits and only 30% for releases. What does that comparison reveal? Production of code has accelerated much more than delivery. The gap does not identify every downstream bottleneck, but it does show why code volume cannot stand in for shipping progress.
Adding a human approval step does not automatically solve the problem. Review capacity must handle the additional output, and the reviewer must actually challenge it. Shaukat introduces the second failure as “cognitive surrender”: in a study he describes, humans agree with correct AI answers 93% of the time, but also agree with incorrect answers four out of five times. These are agreement results from the cited study, not a measured error rate for enterprise code review; their relevance is the danger of treating human presence as proof of independent judgment.
That makes the human-in-the-loop objection stronger than a complaint about slow review. A system can have a named approver and still accept the model’s mistakes. Shaukat’s challenge to enterprise governance is to explain how the process detects bad output, rather than stopping at the reassurance that a person is involved.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Longer tasks make the success threshold consequential
The third constraint is accumulated error. METR’s task-completion time horizons measure task difficulty using the time a human would need, then associate that duration with an agent’s probability of successful completion. Shaukat describes a model reaching tasks that take humans 16 hours—but at a 50% success rate. What changes when the required success rate rises to 80%? In his reading of the chart, the task-horizon curve flattens substantially. The 16-hour figure is therefore a capability claim at a particular reliability threshold, not a promise of dependable 16-hour work.
A simple calculation explains the concern. If a workflow has 20 required steps, each succeeds independently with probability 95%, and any failed step makes the whole workflow fail, then the probability that every step succeeds is (0.95^{20} \approx 0.36). That is the roughly 36% result Shaukat gives. The independence and all-steps-required assumptions make this an illustration rather than a measured agent failure model; it shows why a high local success rate can still produce a weak end-to-end result.
For a software factory, the relevant question is whether the entire requested change succeeds at an acceptable reliability level. Extending how long an agent can work does not remove that requirement. Longer workflows give unresolved mistakes more opportunities to affect the result, which makes verification during the work consequential rather than merely a final inspection.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Another LLM is not automatically a reliable judge
The fourth constraint challenges an obvious response to review overload: ask another LLM to judge the output. Shaukat presents two different forms of instability:
- Repeated judgments: Research he attributes to PayPal AI’s lab reports that 7–17% of verdicts change across identical replications, depending on the model and situation. Repeating the same question can produce a different decision.
- Challenged judgments: Research he attributes to Meta reports that a simple “Are you sure?” challenge changes the model’s answer 7–34% of the time, again depending on the model.
Neither percentage establishes that every changed verdict is wrong. The operational problem is that a repeated check or an expression of doubt can alter the decision without supplying new evidence about the code. An LLM judge may contribute to verification, but its presence alone does not deliver the consistency that a release decision needs.
The fifth constraint is the shrinking time available to respond to exploitation. Shaukat characterizes time to exploit as nearing zero, without developing a numerical benchmark in this talk. His design conclusion is prevention: when the response window is extremely short, the factory needs to detect and prevent problems before they become something an attacker can use.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Four requirements for code confidence
Sonar’s response is the code confidence formula: (\text{confidence} = \text{intent} \times \text{guide rails} \times \text{verification} \times \text{evidence}). It is a design model, not a calibrated numerical score. Multiplication expresses the judgment that a missing requirement can invalidate confidence in the whole factory, even if the other parts look strong.
Each factor answers a different question:
- Intent — What are we trying to build? An agent cannot reliably deliver the desired outcome if the organization cannot state it clearly.
- Guide rails — What keeps the work on course? Shaukat deliberately distinguishes these from guard rails. Guard rails stop something going off the road; guide rails supply smaller nudges that help it stay on the road while working.
- Verification — Has the result been checked independently and thoroughly? Findings must lead to fixes, rather than being deferred until the end or passed downstream.
- Evidence — Can we demonstrate that the checks happened? The proof should be consistent, auditable and repeatable.
The evidence requirement changes what counts as completion. A team may believe it specified, guided and checked a change, but without proof it cannot reliably explain that conclusion to customers, executives or a board. The factory must produce both the software outcome and the basis for accepting it. Sonar uses these four requirements to organize the systems it builds with customers and partners.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Guidance reduces search work before independent verification
Sonar Vortex applies intent and guide rails inside the agentic loop, with verification that nudges the agent as it works. For long-running tasks in large, complex codebases, the proposed mechanism returns to White Plains: give the agent information that places it closer to the answer. It should not spend tokens rediscovering things the development system already knows.
What changes in cost and output when that guidance is present? Shaukat reports customer results of a 36% reduction in token cost and a 92% reduction in issues in the commit. The two measures address different consequences: less work spent finding the way, and fewer issues entering the subsequent verification stage. These are Sonar-reported results for the described setting; the talk does not specify sample sizes, comparison protocols or how commit issues were counted.
The ordering matters. In-loop guidance improves what arrives at independent verification; it does not make that later check unnecessary. This is the software version of correcting the production process before the finished assembly reaches inspection.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Verification must be affordable, and its results must be provable
Independent verification has its own engineering tradeoff: cover the relevant problems precisely without making every check unnecessarily expensive. Shaukat’s rule is to use CPUs where CPUs suffice and GPUs where GPUs are needed. Sonar combines a deterministic mixture of methods with agentic methods in SonarQube. The important distinction is that verification can draw on different kinds of checks, rather than delegate every decision to an LLM judge.
The customer-survey comparison needs a careful reading. Shaukat describes recent conversations with more than 1,000 customers and presents SonarQube users as more likely than non-users to report a very positive impact from AI coding. How do the three percentages relate to the outcomes? They compare the likelihood of reporting a benefit, rather than directly measuring how much security, delivery speed or outage frequency changed.
- Code security: SonarQube users were 81% more likely to report a very positive impact.
- Time to market: Users were 34% more likely to report a very positive impact.
- Outage frequency: Users were 76% more likely to report a very positive impact.
These are associations in reported experience, not evidence of an 81% reduction in security issues, a 34% acceleration in delivery or a 76% reduction in outages. Nor does the comparison by itself isolate verification as the cause.
The final requirement is to retain evidence that the change passed the applicable quality gate and controls. Shaukat names IT general controls for internal operations and MISRA for automotive work as examples of different obligations a factory may need to satisfy. A reassuring result is not enough: the organization needs proof that it met the requirements relevant to its software.
That brings the factory analogy back to its practical purpose. More generated code is useful only if the system can turn it into outcomes the organization can confidently accept and ship. Shaukat closes with the distinction “code is abundant” and “confidence is scarce.” The proposed factory produces that scarce confidence through clear intent, guidance during generation, independent checks, fixes and evidence—not through a larger pile of code awaiting human approval.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Charts and methodology for understanding task difficulty in human-time units and why a task-horizon claim depends on its required probability of success.
Further reading
Product background on the guidance tool discussed in the talk, with additional context for repository guidance and reported token savings. Its benchmark conditions should be kept separate from this recording’s customer figures.
Related talks
- In the Land of AI Agents, the Verifiers Are King
Shaukat develops the complementary Guide, Verify, Solve framework, including the distinct roles of in-loop verification, CI verification and continuing code maintenance.
- Fixing the PR Bottleneck — Matt Pocock, AIHero
Adds concrete examples of misleading green tests and explains how deterministic checks, automated review and risk-focused human review can share the growing review workload.
- Building agents is trivial now, context is the next frontier
Extends the navigation problem beyond repository structure: an agent’s plausible recommendation can still be wrong when it lacks the organizational history behind the code.
Read the complete timestamped transcript
- 0:13
Uh, I-- my name is Tariq Shaukat. I am the CEO of Sonar, as you just heard, and we're here to talk today about how we have been, um, helping companies build software factories that actually work for enterprises. And I thought it'd be an interesting way to start, to start looking at actual factories 'cause we know how to build actual factories. And for those of you who have a little bit of the gray hair and all of this sort of thing, you may, uh, remember the nineteen-eighties. And in the nineteen-eighties, you could find
- 0:42
cars that were really good cars, but if you look at the picture here, and if you remember those times, the cars, like, didn't quite fit together perfectly, right? You'd have different pieces that would leave big gaps. It would be really good cars that just didn't kind of work the way they were supposed to. And then, uh, Toyota, and particularly Lexus, came out with a commercial, and it showed something very simple, which was a ball bearing running across the seams of this car. And it was kind of revolutionary
- 1:12
at the time because it showed that you could actually build a car that fit together perfectly. And instead of building for volume and building and then fixing the old mindset, you could actually have a mindset focused on ship it right, on no rework, on customer happiness. And there was not-- this was not a, a single change. What happened was that people really started thinking about the factories differently. They started engineering, uh,
- 1:42
building factories that were engineered to deliver quality. And there's a number of different pieces that I think still resonate today. The first is you prioritize quality instead of volume. The second is that you fix the system, not just individual symptoms that you see. The third is that you design for something that can be built as opposed to designing the wheels and designing the washer bottles and whatever it is, and then hoping it fits together.
- 2:12
You solve problems as they occur as opposed to kicking the can down the road and fixing it at the end. And you empower everybody. Anyone could stop the line, not just the boss. Now, why am I talking about this? It's actually because modern software development actually embraced all of these principles. If you think about how we build software today, what is considered best practice, a lot of the terms and the practices came from that idea of a Toyota Production System. Agile, Kanban,
- 2:42
error budgets, if you're in the SRE world, continuous integration. These ideas all kind of sprung from this notion of how do we build factories that work. And it's worked really well for us in software development so far. But agents, as we all know, you wouldn't be sitting here if you didn't, uh, understand that agents are changing the game. And as agents are changing the game, weird things start to happen. Um, first of all, this is, uh, research that was published last month,
- 3:12
uh, what-- of the effect of implementing asynchronous agents in your development life cycle. And I'm sure many of you have seen this. You have an explosion of the number of lines of code written, up two thousand four hundred and fifty percent. You have an increase in the number of commits. So the volume code creation is now easy, and it is now abundant. And by the way, more and more people, I'm sure many people in this room, are saying, "Okay, if it's easy and abundant, how do I automate it? How do I build factories,
- 3:42
agentic software factories that help automate and scale this?" And today, we just finished our, what we call State of, uh, Code Developer Survey. Um, it'll be out next month, but this is a little preview. Today, five percent of developers that we spoke to say that they're running agentic software factories, but thirty-four percent said in a year they expect to, and thirty-nine percent in financial services. So people are thinking about how do you actually build these next-generation factories. And there's a,
- 4:12
a couple of gotchas in here. Security risk. The agents can work really well to help you build stuff. It can also work really well to help you hack stuff, help you attack stuff, find vulnerabilities, find quality issues, et cetera. And so as I was writing this, um, presentation kind of over the weekend, a little just-in-time, again, from the Toyota Production System, um, Satya Nadella posted this article on X. And if you haven't read it, I think it's a great article that I think everyone, uh, should internalize. But one of the... He was talking about insider risk
- 4:42
of models inside of companies. And one of the things that he talked about was the need for an engineering approach to containment and governance built around strong deterministic system design, human controls, and reliable operating procedures. And this really resonated with me because what we are seeing is a paradigm shift in software factory design or software development, let's call it more broadly, that we need to engineer. We need to build systems
- 5:12
that engineer confidence and quality into eng-- uh, agentic software factories. So to start doing that, I think it's important to understand the limitations that we're facing. So what's the hard thing about this? And there's five that I'm gonna call out. The first is that human in the loop doesn't scale. And this may be, I don't know, to this room, it may not be all that controversial, but every, uh, virtually every company I talk to, I say, "What's your AI governance strategy?" And they give me all this stuff, and
- 5:42
they say, "But don't worry, we have humans in the loop." And the problem with humans in the loop, as I mentioned earlier, two thousand four hundred and fifty percent increase in lines of code, two hundred and forty percent increase in commits, but the same study showed only a thirty percent increase in releases. We haven't figured out how to scale from producing stuff to shipping stuff. There's automation needed, there's new tools needed, and really importantly, this is a concept that really I, I
- 6:12
see it every day now, and I'm sure many of you do as well, uh, called cognitive surrender. Uh, and this study was done just a couple months ago, and it looked at how often do humans agree with AI. And it turns out they agree with AI when AI is right ninety-three percent of the time, and four out of five times they agree with it when the AI is wrong, right? So it's not that human in the loop is, yeah, we just need to make things faster. It's actually that it doesn't work in
- 6:43
the agentic era. So that's problem one. Problem two is that agents struggle with large complex codebases. They are very, very smart, but you need to understand what happens in a codebase in order to work on it. The left-hand side is a study that was done on code translation, and what it shows is that the agents were able to get it right ninety-one percent of the time when the codebase was ten thousand lines of code. And by the
- 7:12
time it got to even fifty thousand, and I'm sure everyone in this room operates off of much bigger codebases than this, but when it was trying to translate fifty thousand, the accuracy collapsed. Similarly, another study looked at, um, how many tokens does it take on a large complex codebase to complete the same task, and the variance was thirty x, not thirty percent, but thirty x. And the reason is because the agent spends a huge amount of their tokens trying to understand how to navigate the
- 7:42
codebase, the structure of the codebase, things like this. And it's kind of like if I'm trying to go from, uh, from LA to here, and if I pick a random starting point, if I happen to pick White Plains, I will get to New York pretty quickly. If I pick Albuquerque, it's going to take me a long time and a lot of cost. Same thing happens with agents. Errors compound. This is another important concept. This is a study out of METR, and METR looks at--
- 8:12
and you can find this on their website. They look at how effective are agents at completing tasks that humans can do. And the way they look at this is can you complete a task that takes X number of hours? So you can see here the Claude Mythos Preview, which is the latest version that they've published, was good at completing tasks that take a human sixteen hours. Okay, so that's really good. But there's an important caveat in the fine print here, which is this is at fifty percent accuracy. When you add it--
- 8:43
When you dial up the accuracy to eighty percent, it-- the curve flattens substantially because as you do long-running tasks, errors compound. If you have ninety-five percent accuracy on each task, by the time you're at twenty steps, you have thirty se- thirty-six percent accuracy, right? And so that is another issue we have to deal with in software factories. Probably the most aggressive headline I put in here is, is this fourth point that LLMs are unreliable
- 9:12
reward-seeking judges. Um, you know, so the question that we always get is, "Well, can't you just ask an LLM?" And so people have been studying this as well, and this is all, again, the first on the left-hand side is from, uh, PayPal AI's research lab. They published a paper, uh, this month actually, and found that betw- depending on the model and the situation, between seven and seventeen percent of verdicts change across what they called identical replications. Ask the same question, get a different
- 9:42
answer between seven and seventeen percent of the time. And if you start challenging, this is a study out of Meta now, if you start challenging the LLM, "Are you sure?" Very simple challenge. It'll actually change its mind seven to thirty-four percent, again, depending on the model. So you ask the AI judge twice, and you may get a different answer. And then lastly, and I won't dig into this one too much because I think it's probably self-evident to everyone, as the time to exploit nears zero, the
- 10:12
ability for us to respond is incredibly challenged. And so prevention is something that we believe the software factory has to bake into the design, has to engineer into the factory. So as we've thought through this, we have, um, written down what we call the code confidence formula, which is basically how do you build, how do you think about a software factory that delivers what we all want, which is
- 10:42
outcomes that we can feel confident in, right? Not outcomes that we can trust, not blind trust or anything like that, but outcomes that we can feel comfortable with, or we can sit and tell our executives, our customers, our shareholders, our CEOs, our boards that, "Yes, I believe this factory is working well." And we think there's four components to this. The first is being crystal clear about the intent. If you don't know what you're trying to build, you can't tell the agent what to build, and you will not get
- 11:12
the outcome you want. The second is guide rails, and we very specifically talk about guide rails, not guard rails. Guard rails prevent something from going off the road. Guide rails help keep you on it. And I think what agents need are the small nudges to guide and govern those agents. The third part is verification that needs to be independent, thorough, and issues fixed as opposed to just cans kicked down the road. And then lastly, evidence.
- 11:42
Trust but verify. Trust but understand that it was done with proof, uh, that is consistent, auditable and repeatable. And we multiply these together because we've seen a number of situations where one of these elements is missing. And if it's zero, the confidence goes to zero. If you do all of this but don't have evidence, you go to zero. You don't have confidence in the outcome. So we really think about factory design as requiring these four elements. And
- 12:12
I'm gonna-- And as we put together factories, as we help customers, I'm not gonna walk through every box on this page, but as we help our customers and partners build these software factories, we're very deliberate about how do you get the intent, bottom left-hand side in purple, how do you put the guardrails in place, how do you do verification in a way that's thorough and independent, and how do you produce the evidence? And by doing this, we see amazing results. So these are real results now from our, uh, from our
- 12:42
customers. The first one is focusing on intent and guide rails. And intent and guide rails, we have a product called Sonar Vortex, which gives intent guide rails and in the agentic loop starts to do verifications, again, nudging the agent. And what we see when we provide agents in long-running and large complex codebases with long-running tasks, uh, with this information is a thirty-six percent reduction in token cost because you're putting it in White Plains. You actually are
- 13:11
putting it close to the answer. You're helping it understand the map. You don't have to burn tokens on things we already know. And ninety-two percent reduction in issues in the commit, right? So it's cheaper, and we can get a better outcome to go into that verification stage. This is, again, all because we're nudging the agent to keep on track. Then you get to verification, and we started life as a verification company. This is, uh, how we see the world is through a verification lens.
- 13:41
And we have a very strong point of view that independent verification has to cover the full range of issues, um, that is both precise and cost-effective, right? Use CPUs when you can use CPUs, need GPUs, GPUs when you need GPUs. So we look at deterministic mixture of methods, and then you add in agentic mixture of methods, and it comes up with what we think is the, uh, gold standard of verification. And what we see is when you apply this, our product is called SonarQube.
- 14:12
So we've talked to our customers, over a thousand customers recently, and we said, um, are you, um-- How likely are you or how often have you seen these issues from agentic coding? And the, the statement to read here is SonarQube users are X percent more likely than non-users to have seen a very positive impact. So eighty-one percent more likely to have seen-- to, to believe that AI coding has had a very positive impact on code security if you have that
- 14:42
gold standard ver-- uh, verification. Thirty-four percent more likely to have seen an impact on time to market, seventy-six percent on outage frequency. So again, as I come back to how do we have confidence to ship, what we're seeing is that if you put these pieces together and you build verification incredibly, uh, strongly as a first-class citizen in the factory, you are actually building confidence, and you're seeing results, better
- 15:11
security, more confidence in our time to market, improved, um, or a reduction in number of outages, improved reliability. And of course, as I mentioned, you have to do this with evidence. Make sure you pass the quality gate. Make sure whatever... There's lots of acronyms up here, whichever ones you need to pass, whether that is your IT general controls inside of your, uh, internal controls and operations, whether that's MISRA if you're building cars or any of the other ones that
- 15:41
are on here. Producing the evidence is what lets you sleep at night. It's what gives you confidence that you can move forward. So that, in essence, is how we think about the challenge of the future, that code is abundant, that confidence is scarce. And really the goal that we have and that we think that, um, everyone should have as we think about the future of software development is how do we deliver confidence? And the factories of the future
- 16:11
need to be able to deliver confidence. So with that, uh, I wanna say thank you to everybody. We have a big booth. It's a big red booth, um, down on the floor right over that way, and would love to ex-- uh, talk to you more about all of this. Thank you very much. Have a great morning.