Presentation: The Multi-Agent Approach: Building Reliable and Controllable Software Development Automation
Itamar Friedman ยท rss ยท 2026-07-08 source โ Reader ๐ฅ๏ธ
Agent Governance (Internal)Code Was Never the BottleneckContext EngineeringEvalsGuardrailsMulti-Agent OrchestrationPull Requests & Async Code Review
To break through the AI 'productivity ceiling' in software development you must stop pouring investment into faster code generation and redirect it toward verification and context โ building an adaptive, quality-grounded multi-agent system with an arbiter to resolve agent disagreements, human-observable inter-agent communication, first-class governance, and continuous learning of what quality means for your organization.
practical ยท Practitioner conference talk (QCon AI / InfoQ presentation) with audience Q&A โ a how-to argument for architecting AI software automation, grounded in vendor and third-party survey data plus product demos. โ Spoken transcript of a live talk by Qodo's founder/CEO; propositions are stated informally and restated across the arc, then normalized here. The speaker is also selling a product (Qodo), so many statistics are vendor-sourced โ treated as evidence with an interest caveat, not as neutral measurement.
Structure
| Part | Role |
|---|---|
| Opening audience poll on how many AI dev tools each attendee uses (and will use within a year) | hook / motivation |
| Motivation block: recent cloud outages, rising share of AI-generated code (10/30/50%), 'vibe reviewing', Anthropic's naive security-reviewer prompt, and a survey showing Cursor follows written rules only inconsistently ('7 prompts, 7 implementations') | problem framing |
| The 'generations / ceilings' graph: autocomplete -> agentic code generation -> code review & quality workflows -> adaptive quality-grounded multi-agent system | thesis roadmap |
| Adoption and quality data (82% use AI tools weekly+, 3x more code, 42% more time fixing bugs, 3x security incidents, 70% of PRs carry a high-severity issue, ~80% no human review) | evidence |
| Tour of specific quality agents: autonomous testing (executable specs, computer-use UI checks), AI code review (gateway + gatekeeper), and the agentic context engine | building blocks |
| Recap: quality is a competitive edge, 'AI is the tool not the solution', adopt agent-by-agent on your bottlenecks | consolidation |
| Multi-agent architecture + rebuttal of the Google DeepMind 'MAS shows no advantage' paper + the four considerations (parallelizability, multiple interfaces, arbiter, cost) | core analysis |
| How agents should communicate: protocols (MCP/A2A) vs traditional pub/sub vs a human-observable mix recorded in GitHub PRs/commits | prescription |
| The arbiter: why 'who decides?' is the hardest problem, illustrated by the Cursor-vs-Qodo dispute and a demo where an arbiter refuses a ticket lacking the target repo | hardest problem + mechanism |
| Generation 3.5 -> add governance/observability/controllability (per-agent credentials) and continuous learning of standards/specs | synthesis / closing |
| Audience Q&A on how the survey statistics were produced | evidence provenance |
Key terms
- Arbiter / arbitration
A designated authority (agent or human) that decides which output is correct when agents disagree โ rival implementations of the same prompt, a planning agent vs a coding agent, or a testing agent vs a coding agent. Friedman insists it can only adjudicate if the plan/spec carries enough context, so the arbiter first checks that the ticket is complete enough to arbitrate. - Context engine
No longer a RAG lookup but an agent in its own right (ingestion, queue and retrieval sub-agents) specialized in fetching the right multi-source context โ code versions, PR history, in-PR review knowledge, org rules, docs and logs โ with a meaningful share (~8%) coming from non-code sources like ARCHITECTURE.md. - Productivity ceiling / glass ceiling
Successive limits on how much value AI dev tooling delivers (plotted as gain on the y-axis vs investment on the x-axis); each is broken only by investing in the next capability layer, and even code-review/quality workflows hit a further ceiling that demands an adaptive, quality-grounded multi-agent system. - Multi-agent vs workflow
Friedman deliberately declines to distinguish 'agentic' from 'workflow' โ both use LLMs; his concern is orthogonal: making whichever you use reliable and controllable. - Gateway and gatekeeper
His dual definition of code review's purpose: a gateway where the team shares information, learns and collectively owns the code, and a gatekeeper that governs and enforces quality at both code and process level. - Viable coding / responsible vibe coding (Vibe-DD)
The target state that keeps developer flow at the center (unlike TDD's correctness focus or SpecDD's behavior focus) but adds proactive rigor, correctness and ownership through always-on quality workflows โ moving from 'vibe coding' to 'viable coding'. - Agentic quality gate ('agentic CI/CD')
Putting LLMs/agents into CI/CD quality gates โ which he concedes is partly rebranded CI/CD, but argues the real opportunity is to break the one-way left-to-right flow so review and tests can apply to the plan, not just the code. - Software DB
His name for the combined RAG/context-engine plus rules/best-practices store in the reference architecture โ the place where the system's learned standards and specs live.
Propositions
- explicitcontestedThe frontier of AI-for-development has advanced through successive ceilings โ autocomplete, then agentic code generation, then code-review/quality workflows โ and the next ceiling can only be broken by an adaptive, quality-grounded multi-agent system rather than by better single-agent code generation.conf: highsupportsAccelerating Delivery: How AI Agents Can Own the Initial Code Draft ยท p5 โ Adversarial multi-agent review producing standards-compliant code before a human sees it is a worked instance of Friedman's adaptive quality-grounded multi-agent system.contradictsGenie Lessons: Nobody Wants Agents ยท p1 โ Beck: 'nobody wants agents or agent swarms.' Friedman champions multi-agent-with-quality as the path through the ceiling.
- explicitestablishedAI code generation roughly triples code output while producing about the same rate of defects per line, so it multiplies total issues and merely relocates the bottleneck from writing to reviewing/verifying โ showing up as 'more code, not more end-to-end velocity'.conf: highsupportsAgentic Code Review ยท p3 โ Both find AI sharply raises raw code output while real value gain is small โ Friedman's 'triple the code, same defect rate' mirrors Osmani's 4x-output / ~12%-value finding.supportsAgentic Code Review ยท p4 โ Faros's churn-up / incidents-per-PR-up data corroborates Friedman's claim that AI multiplies issues and relocates the bottleneck to review.supports โFive studies that are changing how I think about AI in software engineering ยท p4 โ Demirer's attenuation of gains through the delivery hierarchy empirically confirms that AI 'merely relocates the bottleneck from writing to reviewing/verifying' โ more code, not more end-to-end velocity.supports โGitLab 19.2 Puts AI Agents to Work on the Security Backlog ยท p1 โ Both describe AI code generation multiplying downstream review/security work rather than increasing end-to-end velocity โ GitLab's paradox framing is the vendor-side mirror of this independently-sourced finding.
- explicitConsequently, the majority of investment in an AI-assisted SDLC should shift to verification (testing plus code review) and the context engine, not to code generation.conf: high
- explicitAI code-review agents are categorically different from code-generation agents: a code-gen agent treats your written rules probabilistically (following them only sometimes), whereas a well-built review agent treats each rule as a must-be-checked assertion โ making review the correct place to enforce deterministic quality and compliance.conf: highsupportsAgentic Code Review ยท p15 โ Both locate reliable enforcement in a deterministic gate that cannot be talked out of its verdict โ Friedman's review agent treats each rule as must-check vs the generator's probabilistic compliance.
- explicitA production multi-agent SDLC must include an arbiter that decides which agent is right when agents disagree (rival implementations, planner vs coder, tester vs coder), and the arbiter can only adjudicate if the plan/spec carries enough context โ so investing in complete, machine-checkable specs is a precondition for arbitration.conf: highrefinesGenie Lessons: Nobody Wants Agents ยท p2 โ Friedman accepts that multi-agent adds a coordination/management burden (the 'who decides?' problem) and proposes the arbiter + human-observable comms as the mechanism to manage it, conceding it is not yet solved.
- explicitInter-agent communication must be made human-observable โ recorded in surfaces a person can inspect, such as GitHub PRs and commits โ rather than hidden inside opaque protocol channels (MCP/A2A/pub-sub/BigQuery logs), so humans retain oversight of what each agent did.conf: high
- explicitdevelopedGovernance, observability and controllability โ including distinct least-privilege credentials per agent (e.g. the testing agent can reach staging, the coding agent cannot touch production) โ must be a first-class layer of the architecture, not an afterthought.conf: highextends โThe Meter Was Always Running ยท p7 โ That piece asserts governance, observability, and controllability (including per-agent least-privilege credentials) must be a first-class architectural layer; Haelen's signal table is a concrete design for exactly that layer.
- explicitThe context engine is no longer RAG but an agent in its own right (ingestion, queue and retrieval sub-agents) that fetches multi-source context, and context quality is the dominant determinant of trust โ developers attribute about 88% of hallucination/distrust to context and rank improving it their number-one request; ~60% of Qodo's tool usage is context fetching, ~8% of it from non-code sources.conf: highsupportsDesigning a Multi-Agent System for Engineering Support at Scale: A Case Study From Grab ยท p5 โ Both name context management/retrieval as the dominant technical challenge for multi-agent systems; Friedman elaborates it as an agentic context engine.
- explicitcorroboratedHuman code review has quietly collapsed at AI volume โ a large share of PRs merge with no human review (~80%) โ driven both by review moving off-platform (only ~60% discuss reviews in GitHub/GitLab/Bitbucket) and by reviewers rationing attention inversely to diff size (5 lines get 50 comments, 500 lines get 'looks good to me').conf: highsupportsAgentic Code Review ยท p6 โ Same phenomenon: nobody decided to stop reviewing; at AI volume code merges unread and that became normal.supports โAWS Expands DevOps Agent with AI-Powered Release Management to Validate Code Before Production ยท p2 โ Matches the diagnosis that human review capacity has collapsed relative to AI-driven change volume (~80% of PRs merging unreviewed elsewhere in the corpus).
- explicitTests are executable specs, and having AI write tests improves the AI's code even when the tests are imperfect, because the token and reasoning spend on testing forces thinking that improves both artifacts โ mirroring how writing tests helps a human reason about code.conf: medium
- explicitThe durable competitive edge is a system that continuously learns what quality means for your organization โ your rules, best practices, standards and specs โ so quality, not raw generation speed, becomes the differentiator.conf: highsupportsAccelerating Delivery: How AI Agents Can Own the Initial Code Draft ยท p8 โ Centralizing agent learnings into shared org intelligence is the mechanism behind Friedman's 'continuous learning of what quality means for you' as the moat.supportsGenie Lessons: Nobody Wants Agents ยท p3 โ Agreement on outcome-orientation: Friedman's 'AI is the tool, not the solution โ quality is the value' aligns with 'multi-agent is a feature; outcome-orientation is the value.'
- explicitThe goal is to move from 'vibe coding' (Vibe-DD, optimizing purely for flow) to 'viable / responsible vibe coding' that keeps flow at the center but adds proactive rigor, correctness and ownership through always-on quality workflows.conf: high
- explicitThe Google DeepMind multi-agent-system paper's 'no architectural advantage' finding does not invalidate multi-agent systems; its real contribution is the set of decisions you must make โ how much can be parallelized independently, how many interfaces exist, whether you require an arbiter, and cost.conf: medium
- implicitA single AI agent cannot reliably both generate and judge its own work; separating generation from evaluation across distinct agents is what makes the quality workflow trustworthy.conf: mediumsupportsAgent Harness Engineering ยท p7 โ Directly echoes 'separating generation from evaluation outperforms self-evaluation because agents skew positive grading their own work.'supportsAnthropic's Designs Three-Agent Harness Supports Long-Running Full-Stack AI Development ยท p2 โ Same lever: separating the agent doing the work from the agent judging it improves output quality.
- implicitReliability must be reintroduced deterministically around non-deterministic generation at the verification/gate layer, because you cannot make the generator itself obey instructions reliably โ reliability is a property of the wrapper, not of the model.conf: mediumsupportsSoftware Design in the Agentic Age: Place Your Bets ยท p11 โ Shared thesis: let non-deterministic agents generate, but wrap them in deterministic verification (executable specs / must-check gates) that predictably finds faults.
Arguments
Redirect the majority of AI-SDLC investment from code generation to verification (testing + review) and the context engine. strength: medium
Explicit premises:
- AI code generation roughly triples the amount of code produced.
- AI generates approximately the same rate of defects per line, so issues scale with code volume (METR/Sonar/Faros/Qodo reports: 42% more developer time on bug-fixing, ~35% of projects delayed, 3x security incidents).
- Teams that use AI for testing and for code review report markedly higher productivity (up to 47% more) and ~2x better code quality.
Implicit premises:
- The value of code is realized only after it is verified and shipped, not at the moment it is written, so relocating the bottleneck to review yields no end-to-end gain unless verification also scales.
- You cannot make a non-deterministic generator reliable by instructing it better, so reliability has to be manufactured in a separate verification layer.
- Marginal investment produces more end-to-end velocity in verification and context than in additional generation capacity.
Inferences:
- If output triples but defect-rate-per-line holds, total defects triple; if human review capacity is fixed, the binding constraint moves downstream to verification; therefore the highest-leverage investment is downstream, not upstream.
A production multi-agent SDLC structurally requires a designated arbiter, plus investment in complete specs. strength: medium
Explicit premises:
- Agents disagree in practice: seven runs of one prompt give seven implementations; two coding agents can touch the same file; the coding agent can disagree with the planning agent and the testing agent with the coding agent.
- Shifting review and testing left ('doubling down' earlier) improved quality but did not resolve who decides โ the Cursor-vs-Qodo 'who is right?' dispute remains open.
- In the demo, the arbiter had to first confirm the ticket contained enough information (e.g. which repo) before it could arbitrate.
Implicit premises:
- A multi-agent system without a conflict-resolution authority produces unresolved contradictions that stall autonomous progress.
- Correct arbitration requires a shared ground truth to check against, so absent a sufficiently complete spec the arbiter cannot function.
Inferences:
- Because disagreement is inherent and unresolved disagreement blocks automation, a decision authority is necessary; because that authority needs ground truth, spec completeness is a precondition for it.
Rule and quality enforcement must move to a deterministic 'must-check' review agent. strength: medium
Explicit premises:
- A Qodo survey found Cursor follows written rules only inconsistently (no respondent said 'completely followed'); the same prompt yields different implementations each run.
- Humans cannot review at AI volume โ ~80% of PRs get no human review, and reviewers give thorough feedback only on small diffs (the LGTM-by-size pattern).
- 70% of PRs carry a high-severity issue, a rate that grows as AI adds more PRs.
Implicit premises:
- If the generator will not reliably obey rules and humans cannot scale review, the only remaining enforcement point is an agent that treats each rule as mandatory.
- A guardrail that is followed only probabilistically is not a guardrail.
Inferences:
- Given unreliable generation and collapsed human review, deterministic per-rule checking in a review agent is the sole enforcement mechanism left.
Inter-agent communication should be designed to be human-observable. strength: medium
Explicit premises:
- If agents communicate only via MCP or pub/sub without commits, you must dig through BigQuery/logs to reconstruct which agent did what.
- Recording each agent's turn in GitHub PRs and commits lets a human watch the exchange (Qodo suggests in a draft PR; Cursor reacts and commits via a defined workflow).
Implicit premises:
- Human oversight and accountability are non-negotiable and require legible traces.
- Opacity of agent-to-agent channels erodes exactly the governance that makes autonomy safe.
Inferences:
- Since oversight requires legible traces and opaque protocols hide them, the communication design should route agent exchanges into a human-reviewable surface.
Narratives
- Friedman opens by asking the audience to raise hands for using one, two, three, four AI dev tools โ counting Figma emitting code, Jira planning help, an SRE agent โ then asks whether they will use more than three code-generating tools within a year.
โ Grounds the whole talk in the audience's lived reality that tool proliferation is already here, so coordination and control are the real problem. - More than three cloud outages occurred in recent months; some of the affected companies say 10%, 30%, even 50% of their code is AI-generated โ he explicitly disclaims a direct causal link but asks the audience to 'reflect on that'.
โ Motivates the reliability stakes of AI-generated code without overclaiming causation. - Anthropic's published security-reviewer prompt essentially says 'from now on you are a senior security engineer, good luck', with a very long exclusion list that includes DDoS.
โ Illustrates naive single-agent 'vibe reviewing' and the inadequacy of prompt-only quality control. - A Qodo survey asked whether Cursor follows written Markdown rules; no one answered 'completely followed'. The familiar experience: give a proper prompt with rules, run it seven times, get seven different implementations.
โ Evidence that generation is probabilistic about rules โ the setup for deterministic 'must-check' review agents. - A Qodo developer used Cursor's new web-app feature to change a ChatGPT-like app (move a button, edit text, remove a field) with no code written by hand โ done well and quickly.
โ Concedes that code generation is genuinely magnificent, even on heavy-duty software. - For that same 'simple' change, a computer-use testing agent running on staging caught that one of the chat options had actually been ruined โ a regression in an element Cursor was not supposed to touch.
โ Shows autonomous/computer-use testing surfacing regressions that a quick human review would miss. - Across millions of PRs, Qodo found 70% contained a high-severity issue, and a large share (~80%) had no human review โ partly because only ~60% of teams discuss reviews on GitHub/GitLab/Bitbucket, partly the LGTM-by-diff-size meme.
โ Quantifies the collapse of human review and the resulting quality exposure, motivating AI review + arbitration. - A Google DeepMind paper tested MAS architectures (centralized, decentralized, independent, hybrid) across financial and software scenarios and concluded there was 'no advantage'; Friedman jokes 'you just need one agent, prompt it differently โ I'm kidding, at least partially', then mines the paper for its decision dimensions.
โ Pre-empts the strongest skeptic's evidence and converts it into his framework of considerations (parallelizability, interfaces, arbiter, cost). - A tweet where 'Cursor didn't know what to do and Qodo butted in' โ and the author asked ChatGPT who was right, Cursor or Qodo.
โ Dramatizes the unsolved arbitration problem: when two agents conflict, nothing yet decides. - In a live product demo, a developer writes a ticket and the arbiter refuses to proceed because the ticket doesn't say which repo to change; the developer pastes the repo and the checkboxes turn green.
โ Makes concrete that arbitration depends on spec completeness โ the arbiter first ensures there is enough information to adjudicate later. - Some teams report that reaching 80% test coverage, which used to take three months, now takes one month โ roughly 3x โ after adopting agentic testing/review.
โ Evidence that incremental, bottleneck-first adoption of quality agents pays off. - Q&A: asked how the survey was built, Friedman explains it combines three surveys (Qodo's own plus Sonar and Faros); they reached out to a variety of Qodo's 1,000+ clients, sought diversity and control, and stopped collecting at ~617 respondents once they saw enough diversity.
โ Discloses the provenance and sampling of the headline statistics โ revealing both their basis and their vendor/self-selected limits.
Questions addressed
- โ
Why does AI code generation not translate into end-to-end delivery velocity?
Because it triples code while defect-rate-per-line holds, so it multiplies issues and moves the bottleneck to review and verification rather than removing it. - โ
If AI writes both code and tests, how can AI-written tests help โ wouldn't a wrong model be wrong in both?
The token and reasoning spend on testing forces thinking that improves both artifacts, just as writing tests helps a human reason, even when individual tests fail. - โ
Are multi-agent systems worthless, as the DeepMind 'no advantage' paper suggests?
No; the paper's finding is reframed as a set of design decisions (parallelizability, number of interfaces, need for an arbiter, cost) rather than a refutation โ though he never actually engages the finding that architecture choice showed no advantage. - โญ Who decides when two agents disagree?
He prescribes a designated arbiter that needs a sufficiently complete spec, but explicitly calls it 'one of the hardest things' and 'not solving the problem yet' โ a direction, not a solution. - โ
How should agents communicate โ via protocols (MCP/A2A) or traditional pub/sub?
Use whatever mechanism, but design it so the exchange is recorded in a human-observable UI (e.g. GitHub PRs/commits) rather than opaque channels. - โ
Is the 'agentic quality gate' just rebranded CI/CD?
Partly yes, but the opportunity is to break the one-way left-to-right CI/CD flow so review and tests can apply to the plan, not only the code. - โญ How do you mature AI adoption from small companies (where it dominates) to the enterprise?
Raised as the key question but answered only indirectly โ via quality workflows, governance and incremental bottleneck-first adoption โ without an enterprise-specific playbook.
Gaps
- incompleteThe arbiter is asserted as necessary but its decision procedure is never specified: when the planning agent and coding agent (or two rival implementations) conflict, how does the arbiter actually choose โ confidence scores, voting, running the tests, escalation to a human? Beyond 'have a complete enough spec' and 'have enough context', the adjudication mechanism is a blank.
Read next: Read multi-agent orchestration and LLM-judge/evaluator literature (e.g. Anthropic's three-agent harness and its 'what if the evaluator is wrong' failure mode) and consensus/adversarial-review patterns. - incompleteNearly every quantitative claim (2x code quality, 47% more productivity from AI review, 70% of PRs high-severity, ~80% no human review, 88% context-attribution) comes from vendor-run or vendor-adjacent surveys โ Qodo's own plus Sonar and Faros โ sampled from 'at least half of our [1,000+] clients', i.e. self-selected AI-tool users, nโ617, with no independent baseline or controlled non-AI comparison. The figures are correlational and commercially interested, not causal measurement.
Read next: Read independent longitudinal/controlled measurement (METR's randomized study, full Faros methodology, DORA) and treat the vendor figures as directional, not established. - incompleteThe rebuttal of the DeepMind 'multi-agent shows no advantage' paper is promised and then sidestepped: he reframes it into his four considerations without ever engaging the actual finding that architecture choice (centralized/decentralized/independent/hybrid) produced no advantage. Whether his adaptive quality-grounded MAS would beat a single well-prompted sequential agent is left unproven.
Read next: Read the DeepMind MAS paper directly and the multi-agent-skeptic case (Beck's 'nobody wants agents') to judge the claim on its own evidence. - incompleteCost/economics of running the full parallel quality stack (multiple testing, review, context and arbiter agents on every change) is named as 'very important' and then explicitly deferred to last and never quantified โ no token-cost figure, no comparison of the multi-agent quality stack's cost against the productivity it recovers.
Read next: Read AI inference unit-economics and the token-cost gaps flagged for adversarial multi-agent review workflows. - incomplete'Continuous learning' of your quality standards/specs is asserted as the moat, but the mechanism is unspecified: who curates the learned rules and best practices, how is drift or poisoning of the learned standards prevented, and how does the system avoid ossifying bad conventions it observed in old PRs?
Read next: Read on knowledge curation for agent memory and organizational-legibility of standards (who owns the rule set, how it is reviewed and versioned).
Closes gaps elsewhere
- Genie Lessons: Nobody Wants Agents ยท g1 โ Provides a worked example of the multi-agent-as-internal-architecture reading that Beck never separated from the user-facing swarm model: planner / coder / tester / reviewer / context agents orchestrated behind the scenes, with their communication deliberately surfaced to a human via a UI layer (recorded in GitHub PRs and commits). It demonstrates the distinction rather than engaging Beck's critique.
Related documents
- Genie Lessons: Nobody Wants Agents
- Software Design in the Agentic Age: Place Your Bets
- Anthropic's Designs Three-Agent Harness Supports Long-Running Full-Stack AI Development
- Agent Harness Engineering
- The Anatomy of an Agent Harness
- The New SDLC With Vibe Coding: From ad-hoc prompting to Agentic Engineering
- Agentic AI and Code Reviews
- Article: Agentic Fitness Functions: Extending Evolutionary Architecture Beyond Deterministic Rules
- Presentation: From AI Agent Demo to Production: Automated Testing and Evaluation
- Inside Claude Code Auto Mode: Anthropic's Autonomous Coding System with Human Approval Gates