DEV Community

Cover image for Google's Vibe Coding Whitepaper Is Right About Verification. Its Own Citations Are the Proof.
Jahanzaib
Jahanzaib

Posted on • Originally published at jahanzaib.ai

Google's Vibe Coding Whitepaper Is Right About Verification. Its Own Citations Are the Proof.

Google's Day 1 whitepaper for the Kaggle vibe coding course argues that the line between casual prompting and real engineering is verification, and that most agent failures are configuration failures rather than model failures. Both claims are correct and underrated. I spent a day checking the paper's own evidence against primary sources, and the result is uncomfortable: the headline statistic on page seven is fabricated, the citation supporting its most quoted counterpoint has an invented title and links to a page that says the opposite, and the two benchmark results it presents as independent proof of its central thesis are one experiment described twice.

That is not a reason to dismiss it. It is the strongest argument in the paper, delivered accidentally. A 51 page document about the discipline of verifying machine output shipped with unverified machine assisted citations. If you want to understand why "generation is solved, verification is the new craft" matters, this is the demonstration. Below is what holds up, what does not, and the numbers I would actually put in front of a team.

What the paper actually argues

The document is The New SDLC With Vibe Coding by Addy Osmani, Shubham Saboo and Sokratis Kartakis. Its colophon reads May 2026, but it went public as Day 1 required reading for the 5 Day AI Agents Intensive Vibe Coding Course, which ran June 15 to 19, 2026. It is 51 pages, not the 50 that most summaries repeat. It is a course handout rather than research: no abstract, no methods, no peer review.

The spine of it is a spectrum. At one end sits vibe coding, which Andrej Karpathy described in February 2025 as fully giving in to the vibes and forgetting the code exists. At the other end sits agentic engineering, where AI handles implementation inside constraints a human designed. The paper's useful move is insisting the difference is not which tool you use. Two developers running the identical agent can sit at opposite ends. What separates them is how much structure and verification wraps the output.

Diagram showing the spectrum from vibe coding through structured AI assisted work to agentic engineering, with verification increasing from left to rightThe paper's central frame. The variable that moves along the axis is verification, not tooling, which is why the same agent can sit at either end depending on who is driving it.

Around that spine sit four ideas: context engineering as the real skill, the harness as the thing that turns a model into an agent, conductor and orchestrator as two modes of working, and a cost model where vibe coding is cheap to start and expensive to keep. I think three of those four are genuinely valuable. I also think the paper undersells the first one and oversells its own evidence throughout.

The best idea in the paper is that the model is not the system

The strongest section defines a harness. A raw model is not an agent. It becomes one when something wraps it: rule files, tool definitions, sandboxes, orchestration logic, deterministic hooks that fire before a commit, and observability that tells you whether the thing is drifting. The paper's line is Agent = Model + Harness, and its point is that the harness is your surface area, not the model provider's.

Diagram of harness anatomy showing a small model component at the centre surrounded by six harness components: rule files, tools, sandboxes, orchestration, hooks and observabilityThe model is the small box. Everything else is yours to build, version and debug. When an agent misbehaves, the harness is where the fault usually lives.

I run agents in production and this matches what I see. When one of mine does something stupid, the cause is almost never the model. It is a tool description that was ambiguous, a rule the agent never loaded, or a context window packed with noise that buried the one line that mattered. The paper says most agent failures are configuration failures, and that sentence alone is worth the download.

Then it reaches for evidence, and this is where it comes apart. The paper writes that on Terminal Bench 2.0, one team moved a coding agent from outside the Top 30 to the Top 5 by changing only the harness, and that separately, a study at LangChain raised a score on the same benchmark by 13.7 points by tweaking only prompt, tools and middleware. Two teams, two results, one conclusion. Neither sentence carries an endnote.

They are the same experiment. Both describe Improving Deep Agents with harness engineering, a single post by Vivek Trivedy published February 17, 2026. One team, LangChain. One agent, deepagents-cli. One model held fixed, gpt-5.2-codex. The score went from 52.8 to 66.5, which is the 13.7 points, and that same run is the Top 5 placement. The paper split one blog post into two apparently independent confirmations of its own thesis.

The irritating part is that the underlying result is real and better than the paper's handling suggests. I checked the Terminal Bench leaderboard. The entry is there, dated February 12, 2026, at 66.5% plus or minus 3.1. Filtering to entries dated on or before that submission, exactly four beat it, so number five is precisely right. LangChain inflated nothing. The failure is sourcing hygiene, not arithmetic.

Two things anyone repeating this should know. First, it is stale. That entry now sits at rank 27 of 142. The score never moved; the field gained about 18 points at the top, where leaders now run GPT-5.5 at 84.7%. Terminal Bench itself has moved its headline leaderboard to version 2.1. Any reference to Top 5 needs "as of February 2026" attached or it is simply wrong.

Second, and more interesting for anyone actually building this: the single largest documented swing in LangChain's post was not a prompt or a tool. It came from the model's reasoning effort setting. Running at maximum throughout scored 53.9% because the agent timed out, against 63.6% at the tier below. They settled on alternating the effort level across the run and packaged it as middleware. That is a defensible place to file it, but a reader told "only the scaffolding changed" would not expect the model's own reasoning budget to be inside that boundary. It complicates the clean split the paper is using it to sell.

The three numbers on page seven

The paper opens its case with this: as of early 2026, 85% of professional developers regularly use AI coding agents, 51% use them daily, and an estimated 41% of all new code is AI generated. Endnote 1 points at two sources. One is GetPanto, the content marketing blog of an AI code review vendor. The other is Index.dev, a developer staffing marketplace. Neither conducts research. Both are listicles repeating numbers they got from somewhere else.

I traced all three figures.

The 41% is fabricated. Index.dev asserts it in one sentence with no inline citation, under a promise that all reference sources are listed at the end of the article. No such list renders on the page. The number also propagates through a second chain, from a freelancer marketplace blog to a marketing agency post that attributes it to GitClear's analysis of 211 million changed lines. That attribution is invented. I pulled GitClear's actual report and decompressed every text stream in it. The string "41%" appears zero times. Worse, the paper's other cited source contradicts it: GetPanto answers its own question about how much code AI writes with 22%.

The 85% is real but attached to the wrong technology. It comes from the JetBrains State of Developer Ecosystem 2025, which surveyed 24,534 developers and found that 85% regularly use AI tools for coding and 62% rely on at least one AI coding assistant, agent or code editor. The 85% denominator includes chat assistants. The agent number is 62%. GetPanto states both figures in a single sentence and keeps them distinct. The paper dropped the 62% and moved "AI coding agents" onto the 85%, overstating agent adoption by 23 points in a document whose entire premise is that agents specifically have gone mainstream.

The 51% survives, barely. The Stack Overflow 2025 Developer Survey of roughly 49,000 respondents does say 51% of professional developers use AI tools daily. It says AI tools, not agents. And it is a different survey with a different sample from the JetBrains figure, so the two do not nest the way the sentence implies.

None of the underlying data is from 2026. JetBrains fielded in April to June 2025. The Stack Overflow 2026 survey is still in the field as I write this. "As of early 2026" adds about a year of false freshness in a field where adoption moves roughly 8 to 14 points a year.

What makes this genuinely strange is that Google had better numbers in house. Its own DORA State of AI assisted Software Development 2025 surveyed about 5,000 professionals and put adoption at 90%, up 14 points year over year, with methodology published. A Google whitepaper sourced its headline adoption claim to two marketing blogs while Google's own flagship engineering research sat unused.

If you need a defensible version, use this one: as of mid 2025, 85% of developers regularly used AI tools for coding and 62% relied on at least one coding assistant or agent; 51% of professional developers used AI tools daily; and roughly 22 to 27% of merged code in instrumented enterprise fleets was AI authored, per DX telemetry across 135,000 developers. That last figure is the honest answer to the code share question, and it is about half of 41%.

The METR citation is the tell

To its credit the paper does not only cheerlead. It cites the METR study as a counterweight, writing that experienced developers using AI assistants took 19% longer on certain tasks, largely because of time spent verifying, debugging and correcting AI output. It attributes this to METR, "Uplift Update: Measuring the Impact of AI Coding Tools," February 2026.

No METR publication has that title. The URL is real and live, and the February 2026 date is right, but the page is called We are Changing our Developer Productivity Experiment Design. The cited title looks reconstructed from the URL slug. A plausible title on a correct URL is what an unchecked citation looks like.

The content problem is bigger. That page reports movement in the opposite direction. For developers who returned from the original study, METR now estimates an 18% speedup, and about 4% for newly recruited developers. It also disowns its own follow up, stating that the new data gives an unreliable signal because developers increasingly refuse to work without AI, which wrecks the randomisation. So the paper cites a February 2026 document as support for a slowdown claim when that document's headline is a reversal toward speedup and a methodological retreat.

Meanwhile the original July 2025 study now carries a banner at the top: these results are out of date, and no longer reflect the current impact of AI models on open source developer productivity. That banner went up three months before the whitepaper shipped, on the page it cites.

The stated cause is wrong too. METR examined 21 candidate factors and found five that likely contribute, including developer over optimism, deep familiarity with the repository, and repository size. Only one concerns cleaning up AI output, and the supporting measurement is that developers spent 9% of their time reviewing and cleaning AI output. Nine percent. The paper converted a hedged, underpowered, multi factor exploratory analysis into one confident causal mechanism.

Here is the part worth keeping. Before the study, those developers predicted AI would make them 24% faster. Afterwards, having lived through the slowdown, they still believed it had made them about 20% faster. It made them 19% slower. Economics experts predicted 39% faster; machine learning experts 38%. That perception gap is the finding that survived, and METR still stands behind it in 2026. The productivity number is historical. The fact that nobody can feel their own throughput is not.

One caution in the other direction. A lot of 2026 commentary now claims METR backtracked and admitted a fatal flaw. That is also wrong. METR did not retract the 2025 trial. It stands as a valid measurement of its setting, which was 16 experienced maintainers working on repositories they had spent years in. What METR disowned was the central estimate of the newer study, on selection grounds.

Who actually named this

The paper says Karpathy acknowledged his original framing was too narrow and introduced the term agentic engineering. Both halves are wrong, and the primary source contradicts them in the same post.

In February 2026 Karpathy wrote that many people had tried to come up with a better name, and that agentic engineering was his current favourite. That is an endorsement of a phrase already circulating, not a coinage, and he says so explicitly. He also did not walk anything back. He calls the original tweet a throwaway that minted a fitting name at the right moment, and defends it. His only qualification is about time: in 2025 model capability was low enough that vibe coding suited throwaway projects, and a year later agent driven programming had become a default workflow.

The missing link is Simon Willison, who named the gap in October 2025, four months earlier, proposing vibe engineering for the end of the spectrum where professionals accelerate their work while staying accountable for what they ship. He has since conceded that agentic engineering won the naming race. The real sequence is Willison names the problem, the community argues for months, Karpathy picks a winner, Osmani systematises it.

That last step matters for reading the paper. Osmani is the lead author, and the whitepaper is a near total compression of his own blog from earlier that year: the suitcase term split from Agentic Engineering in February, the verification thesis from The Factory Model in February, the comprehension debt argument from The 80% Problem in January, the orchestration vocabulary from Conductors to Orchestrators in January, and the two ended spectrum from chapter one of his O'Reilly book the year before. That is not borrowing, it is an author restating himself. But it does mean the paper is one person's framework in Google livery rather than a Google research consensus, and the blog posts are sharper.

Where the argument has actually moved

If you want to push back on all this, do not argue that AI writes bad code. That fight is over and the skeptics conceded it. Charity Majors, who is temperamentally an operations skeptic, wrote in June 2026 that for most of 2025 the idea AI generated code was slop was the mainstream position, and that the question was answered decisively around Opus 4.5 in November 2025. Arguing the code is garbage now reads a year stale.

The real seam is elsewhere. Generation got cheap and everything downstream of it did not. Four independent datasets say the same thing from different angles.

Google's own DORA research is the sharpest, because it needs no hostile source. The 2024 report found a 25% increase in AI adoption associated with a 1.5% decrease in delivery throughput and a 7.2% decrease in stability. In 2025 the throughput relationship flipped positive. The stability relationship did not. The same company publishing the optimistic whitepaper runs the industry's most respected delivery research, and that research says AI adoption still correlates with less stable software.

GitClear's 2026 maintainability study, across 623 million changes, found block duplication up 81% since 2023 and moved lines, the best available proxy for refactoring, down from 21% of changed lines in 2022 to 3.8% so far in 2026. Developers are now about five times more likely to duplicate than to refactor. In 2022 the preference ran twice as strongly in the other direction. The code ships. The habits that keep a codebase cheap to change are eroding.

On review, Swarmia found median pull request batch size roughly doubled between early 2025 and early 2026 across 1,450 organisations. LinearB, across 8.1 million pull requests, found AI assisted pull requests run 2.6 times larger and agentic ones wait 5.3 times longer before a reviewer picks them up. Faros AI telemetry across 22,000 developers found incidents per merged change up 242.7%, and pull requests merged with no review at all up 31.3%.

On security, Veracode tested over 100 models across 80 tasks and found 45% of generated samples introduced an OWASP Top 10 vulnerability, with Java at 72%. The important part is the trend: as models got better at writing functionally correct code, the security pass rate stayed flat. Capability gains did not transfer. And the hallucinated dependency attack the paper mentions in passing is measured, not theoretical. A USENIX Security 2025 award paper generated 576,000 code samples and found 19.7% referenced a package that does not exist, across 205,474 unique invented names. The number that makes it an attack rather than a nuisance is that 58% of hallucinated packages recur across runs, so an attacker can farm a model for names and register them.

Two mirrored bar charts comparing vibe coding and agentic engineering, showing vibe coding with low upfront cost and high ongoing cost and agentic engineering with the reverseThe paper's cost model, which I think is directionally right. Note that its specific claim that vibe coding costs 3 to 10 times more per feature is not a measurement. A coauthor has said publicly it is illustrative.

That cost model is the paper's most repeated graphic and the one to handle carefully. Osmani has stated on his own site that the crossover figure is illustrative rather than a measured constant. It is circulating on LinkedIn as though it were data. The shape is right and the number is not.

One more figure deserves to be better known, because it defuses hype in both directions. GitClear measured 2,172 developer weeks directly through provider APIs and found heavy AI users out produce non users by four to ten times, then established that most of that gap predated AI adoption. Measured against their own earlier selves, heavy users gained about 25%. The tools attract high performers more than they create them. Any before and after comparison of adopters against non adopters is confounded by who adopts.

The advice practitioners are already ignoring

The paper offers two modes. In conductor mode you direct one agent in real time and watch every change. In orchestrator mode you dispatch several and review what comes back. This is a good distinction and it maps cleanly onto how my week actually looks.

Two panel diagram contrasting conductor mode, a tight real time loop with one agent, against orchestrator mode, one person fanning work out to three agents asynchronouslyConductor for unfamiliar code and tricky logic. Orchestrator for well specified work against established patterns. Most days I use both, and the failure mode is picking the wrong one for the task.

Where it loses the room is the instruction to review every line the agent produces that is going to ship. Nikhil Verma, who otherwise agrees with most of the paper, says plainly that this is not realistic, and that no one honestly reads every line they review. He substitutes stratified sampling plus converting every defect he does catch into static enforcement. That is the correct instinct. When agent output volume rises and human review hours do not, "review everything" degrades into rubber stamping, which is worse than an honest sampling policy because it produces a false record of scrutiny.

Paul Underwood put the other objection well: the term vibe coding has become a strawman, because nobody shipping production code describes their workflow that way, and the people genuinely doing it are not reading 51 page whitepapers. He also noted the paper is too long and too Google centric, which is fair. The later chapters turn promotional, walking through Google's Agents CLI with an install command.

For what it is worth that tool is real. google/agents-cli is an Apache 2.0 repository with exactly the seven skills the paper claims, and Claude Code and Codex are named targets in Google's own README. It also had its first public release in April 2026, a month before the paper, so treat any detail as young.

Context engineering is the part I would actually spend money on

The paper calls context engineering the real skill and then moves on quickly. I think it is the most actionable idea in the document and it deserved the space the Google tooling section got.

Diagram splitting agent context into static context that is always loaded and paid for every turn, and dynamic context that is fetched on demand and paid for only when usedThe split that decides both your token bill and your agent's reliability. Everything in the top band is paid for on every single turn, whether it is relevant or not.

The split is simple. Static context loads every time: rule files, persona, global memory. Dynamic context loads when a task calls for it: skills, tool results, retrieved documents. Every token of static context is paid for on every interaction regardless of relevance, so the boundary between the two is a real architectural decision, not a config detail. Too much static and you burn money while diluting the signal. Too little and the agent forgets rules you care about.

The practical version is that a rule file is not a dumping ground. Mine started as ten lines and grew every time an agent did something I did not want repeated. The discipline is deleting as often as adding, and moving anything task specific out of the always loaded layer and into something that loads on demand. This is the same instinct as retrieval design in a RAG system: the question is never how much you can stuff in, it is what earns its place.

What I would actually do on Monday

Stripping out the parts that did not survive checking, here is what I think holds.

Write the rule file before the first agent run. Ten lines: stack, conventions, hard rules, workflow. Add a line every time you correct the same mistake twice. This is the cheapest intervention available and it is the one most teams skip.

Put the deterministic checks in hooks, not in prose. Anything the agent must never do belongs in code that runs before a commit, not in a paragraph the model may or may not attend to. Secrets scanning, lint, forbidden imports. A rule stated once in a prompt is a suggestion. A hook is a constraint.

Decide your review policy honestly. If you cannot read every line, say so and design for it. Sample by risk, and turn every defect you catch into an automated check so the same class cannot recur. A policy you actually follow beats a policy that sounds rigorous.

Watch batch size. It is the single most predictive number in all the research above. Larger pull requests are slower to review, more likely to be waved through, and more likely to cause an incident. If agent adoption doubles your batch size, you have moved the bottleneck rather than removed it.

Measure against your own past, not against a vendor's chart. The 4 to 10 times productivity gap is mostly selection. The honest self comparison is closer to 25%. Instrument your own throughput and stability before and after, because that is the only comparison that is not confounded.

Check the citations in anything you are about to act on. Including this post. Every external link here goes to a primary source, and I have said where the evidence is thin. That is the standard the whitepaper asks for and did not meet.

The paper's closing line is that generation is solved, and verification, judgment and direction are the new craft. I think that is right. I also think a document that shipped a fabricated statistic, an invented citation title, and one experiment counted twice is the best available evidence for it. The tools got good enough that plausible output is free. Checking whether it is true is now the whole job. If you are working out where agents belong in your own stack, that is the question I would start from, and it is the one I spend most of my time on when I build these systems.

Frequently asked questions

What is the difference between vibe coding and agentic engineering?

Vibe coding means accepting AI output without reviewing it, which Karpathy scoped to throwaway projects when he named it in February 2025. Agentic engineering means AI does the implementation inside constraints a human designed: specifications, tests, evaluations and guardrails. The whitepaper's key point is that the difference is not which tool you use. The same agent supports both. What separates them is whether the output gets verified, and by what.

Is 41% of all new code really AI generated?

No. That figure has no primary source. It appears as an uncited sentence on a staffing marketplace blog, and a parallel chain attributes it to GitClear, whose actual report never contains the number. The defensible measurement is DX telemetry across 135,000 developers and 425 organisations, which puts AI authored code at 22% of merged code, rising to about 27% in a later period. Any code share figure is meaningless without its denominator, since merged code, accepted suggestions and typed characters are three different things.

Did the METR study prove AI makes developers slower?

It proved that in one specific setting, and METR now labels that result out of date. The July 2025 randomised trial found 16 experienced maintainers took 19% longer on their own mature repositories, with a confidence interval of plus 2% to plus 39%. METR's February 2026 follow up estimates a speedup instead, then disowns its own central estimate because developers increasingly refuse to work without AI, which breaks randomisation. The finding that held is the perception gap: those developers predicted a 24% speedup, experienced a 19% slowdown, and still believed afterwards they had been sped up 20%.

What is a harness in AI coding?

Everything wrapped around the model that turns it into a working agent: instruction and rule files, tool definitions, sandboxes, orchestration and sub agent routing, deterministic hooks that fire at lifecycle points, and observability. The paper's framing is Agent equals Model plus Harness, and its practical claim is that most agent failures trace to a missing tool, a vague rule, an absent guardrail or a noisy context window rather than to the model. In my experience that is accurate.

Does changing the harness really matter more than changing the model?

It matters a lot, but the whitepaper overstates the evidence. Its two supporting results are one experiment: LangChain moved its own agent from 52.8% to 66.5% on Terminal Bench 2.0 with the model fixed. That gain is real and independently visible on the leaderboard. Two caveats. The Top 5 placement was February 2026 and that entry now ranks 27 of 142 as the field improved. And the largest single swing in the run came from tuning the model's reasoning effort, which sits awkwardly inside a "we only changed the scaffolding" claim.

Should I review every line of AI generated code?

The paper says yes. Working engineers largely say that is not achievable once agent output scales, and I agree with them. The risk is that "review everything" quietly becomes rubber stamping, which produces a false record of scrutiny. The better policy is sampling weighted by risk, with every defect you catch converted into a lint rule, a test or a hook so the same class cannot come back. The supporting data is uncomfortable: pull requests merged with no review at all are up 31.3% in one large telemetry set.

What is static versus dynamic context, and why does it affect cost?

Static context loads on every interaction: rule files, persona, global memory. Dynamic context loads only when a task needs it: skills, tool results, retrieved documents. You pay for static context on every single turn whether or not it is relevant, so an oversized rule file is both a recurring bill and a signal dilution problem. Moving task specific knowledge out of the always loaded layer is usually the fastest way to cut token spend without losing capability.

Is the whitepaper worth reading?

Yes, with a pen. The harness framing, the spectrum, the conductor and orchestrator split and the static versus dynamic context distinction are all useful and clearly explained. Treat every number in it as unverified until you check it, skip the later chapters if you do not care about Google Cloud tooling, and read Addy Osmani's own blog posts from January and February 2026 instead if you want the same arguments made more sharply.

Top comments (0)