Kelvo
← Insights

Company News

Multi-Agent AI Development Needs an Operating Model, Not Just Orchestration Tooling

By Kelvo TeamAugust 21, 20268 min read

Gartner expects 40% of enterprise applications to ship with task-specific AI agents by the end of 2026, up from under 5% in 2025 — one of the fastest adoption curves in enterprise software history. Most of the capital behind that curve is going into orchestration tooling: task queues, message buses, agent frameworks, control planes. That's the right investment for the pattern it's built for — a lead agent fanning out into short-lived subagents for a single task, then collapsing back down. Anthropic's own research system is the reference case: a lead agent spawns three to five subagents in parallel, each returns distilled findings, and the whole run costs roughly fifteen times the tokens of a single conversation to buy a reported 90% cut in research time on hard queries.

That's one shape. It is not the only one, and it is not the shape that matters most for teams running AI agents against long-lived codebases rather than one-off research tasks. The pattern below is different: several long-lived, independently identified agent sessions, each with standing ownership of one codebase, running for weeks rather than minutes, with no shared task queue and no lead agent coordinating in real time — coordinated instead through written convention, the same mechanism that has coordinated distributed human teams for decades. It required no orchestration platform. It also broke in six distinct, reproducible ways before the conventions were specific enough to hold, and each failure mode below maps to a control an implementation team should design for on day one rather than discover in production.

The operating model

The governing principle is one agent, one codebase, one persistent identity — not "the frontend agent" but a named session that keeps its identity across every interaction with that codebase, the way a named engineer keeps ownership of a service rather than being reassigned by ticket. Identity does real work here: a human auditing eight parallel workstreams by name catches a scope violation ("that's not this one's job") far faster than a human auditing eight workstreams by function.

Underneath the naming convention sits the one non-negotiable control: no agent writes to another agent's codebase, under any circumstance. Every other element of the operating model exists to make that boundary easy to hold when no human is actively supervising the interaction — which, in a multi-agent setup, is most of the time.

The control layer

None of the following required custom tooling. It is four operating disciplines, each backed by a capability Claude Code ships with by default.

A persistent knowledge base per codebase, maintained as institutional memory rather than setup documentation. Claude Code reads a project-level memory file at the start of every session — the mechanism its own documentation describes as how the tool "remembers your project." The operational discipline is in what that file is asked to hold: not command references, but the rationale behind decisions — why a table was split across two files, why a feature was deliberately left unbuilt, why an apparent inconsistency is being preserved on purpose because a second system depends on it. A memory file that only documents setup goes stale. One that has to justify a commit log stays current because it earns its keep every session.

A standardized handoff artifact for every engagement. When a new codebase or a new agent identity is onboarded, its brief is written to be self-contained — everything a session would need to resume the work cold, independent of any conversation thread that has since scrolled out of context. The artifact travels with the repository, not with the session that authored it, which is what makes it durable across personnel and model changes.

Least-privilege monitoring via read-only agents, never manual cross-boundary edits. Getting cross-codebase status without breaching the one-writer-per-repository boundary is precisely the problem Claude Code's subagent architecture solves: a subagent can be scoped to a narrow tool set and a system prompt that grants read access only. An agent that has grep and file-read but no write tool cannot violate the boundary it exists to respect — a materially stronger guarantee than an agent merely instructed not to, and the same least-privilege logic that governs human access control.

Environment isolation via git worktrees for any repository under concurrent load. A worktree is a second working directory checked out from the same repository on its own branch, sharing only git history with the primary checkout. Claude Code's own documentation names this the standard mechanism for running parallel sessions against a single codebase without collision. It is also, as the first failure mode below demonstrates, the direct fix for the most expensive incident in this operating model's first month.

Failure modes observed in production

A field report that only documents the cases that held is a sales deck, not an operating model. What follows are the six failures that actually occurred, in the sequence that forced each control above to become specific rather than aspirational.

  • Concurrent-write collision — two sessions operated against one repository simultaneously; one session's commit silently absorbed the other's in-progress edit.

  • Boundary violation via working directory, recurring three times — a session was launched from a different codebase's directory. The working directory was plausible enough that nothing flagged the violation until after the fact.

  • Cross-application session bleed — two applications sharing one backend service, both run locally on the same port, produced cookie collisions that presented as an authentication failure and were not.

  • Schema divergence — two agents independently modeled the same business concept with incompatible assumptions, surfaced only once the two systems needed to interoperate.

  • A deployment that outran its own migration — code shipped expecting a database change that had not yet been applied by hand, breaking two user-facing flows until the migration ran.

  • Consent forged by an automated actor — a mail provider's security scanner followed a double opt-in confirmation link on a recipient's behalf, and the system recorded that as informed human consent.

The working-directory violation is the cleanest illustration of why identity is a control, not a convenience: the fix was not a more capable agent, it was a rule that flags a session identifying with one name operating inside a directory belonging to another — trivial to specify, and trivially skipped when unspecified. The concurrent-write collision is the exact failure mode git worktrees are designed to prevent; adopting them as a default for any repository under concurrent load closed the gap structurally rather than procedurally.

The consent-forgery incident is the one that generalizes furthest beyond this operating model, and the one most implementation teams have not yet audited for. A double opt-in flow that treats a plain link click as informed consent is trusting that only a human follows links in email. Automated link-scanning at major mail providers breaks that assumption as a matter of routine, and the failure mode is silent — the record reads "confirmed" and is indistinguishable from a genuine success. Gravitee's 2026 State of AI Agent Security survey found 88% of organizations had experienced a confirmed or suspected AI agent security incident in the prior year; a forged-consent record is exactly the shape those incidents take when nobody is specifically looking for automated actors triggering state-changing endpoints. The fix here was making confirmation a state-changing action gated behind a POST rather than a GET a scanner will always follow. Any double opt-in flow built on a bare confirmation link carries this exposure whether or not it has been detected yet.

Reference implementation

None of the following requires tooling beyond what Claude Code ships with today. In order of implementation leverage:

  • Assign identity, not function. "The backend agent" invites scope creep the moment a task is adjacent to backend work. A session identified as "Jordan" has a specific mandate and a specific repository, and a human auditing the system catches a scope violation the instant Jordan is asked to do something outside that mandate.

  • Provision the knowledge base before the first production task, not after the first incident. Anthropic's own guidance on context engineering makes the equivalent argument from the model's side: context is a finite, degrading resource, and what is front-loaded into it determines reasoning quality downstream. A control discovered only after violation is a control that has already cost the organization something to learn.

  • Route cross-repository visibility through a read-only agent, never through a human's memory of what another workstream is doing. The moment two agents' outputs need reconciling, that reconciliation should run through a subagent scoped to read tools only — never a one-off manual edit "just this once" from whichever session happens to be open.

  • Default to worktree isolation the moment two sessions might touch one repository concurrently. The marginal cost is close to zero; the incident it prevents is not.

  • Treat every automated actor — a mail scanner, a bot, a webhook retry — as adversarial input to any consent or state-changing flow, never as a trusted user. Any action reachable by a bare GET request should be assumed to be eventually triggered by something automated, not a human.

  • Maintain one shared, append-only ledger for anything with consequences outside the codebase — cost, legal exposure, anything a human would otherwise need to reconstruct from eight separate commit histories.

The control that mattered most in this operating model was not sophisticated. It was written down somewhere a newly onboarded session would actually encounter it before taking its first action.

Boundary conditions

This operating model has been validated at the scale of one human directing every agent identity, and that constraint is load-bearing — there is no evidence yet that convention-based coordination holds once accountability is distributed across a team rather than concentrated in one operator. The cost profile also deserves an honest accounting: Anthropic's own figures put a fanned-out multi-agent research task at roughly fifteen times the token cost of a single conversation, and Anthropic's own public guidance on when multi-agent architecture is warranted at all is, in short, not always. Coordination overhead is real, and it buys something specific — independent, long-running ownership of separate codebases — rather than being free.

The defensible claim, and the one this operating model will stand behind: a small set of written conventions, read fresh by every new session, is sufficient to coordinate multiple independent AI agents across separate codebases without an orchestration platform layered on top. Where the model held, it held because the convention existed somewhere a cold session would encounter it before it was needed. Every documented failure traces to a convention that either did not yet exist or was not specific enough — and the six incidents above are the record of exactly which.

Sources

  1. 1.Gartner — "Gartner Predicts 40% of Enterprise Apps Will Feature Task-Specific AI Agents by 2026" — https://www.gartner.com/en/newsroom/press-releases/2025-08-26-gartner-predicts-40-percent-of-enterprise-apps-will-feature-task-specific-ai-agents-by-2026-up-from-less-than-5-percent-in-2025
  2. 2.Gravitee — "88% of Companies Have Already Seen AI Agent Security Failures" (State of AI Agent Security, 2026) — https://www.gravitee.io/blog/88-of-companies-have-already-seen-ai-agent-security-failures
  3. 3.Anthropic — "How we built our multi-agent research system" — https://www.anthropic.com/engineering/multi-agent-research-system
  4. 4.Anthropic — "Building a C compiler with a team of parallel Claudes" — https://www.anthropic.com/engineering/building-c-compiler
  5. 5.Anthropic — "Effective context engineering for AI agents" — https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
  6. 6.Claude — "When to use multi-agent systems (and when not to)" — https://claude.com/blog/building-multi-agent-systems-when-and-how-to-use-them
  7. 7.Claude Code Docs — "Run parallel sessions with worktrees" — https://code.claude.com/docs/en/worktrees
  8. 8.Claude Code Docs — "How Claude remembers your project" — https://code.claude.com/docs/en/memory
  9. 9.Claude Code Docs — "Subagents in the SDK" — https://code.claude.com/docs/en/agent-sdk/subagents
  10. 10.Simon Willison — commentary on Anthropic's multi-agent research system — https://simonwillison.net/2025/Jun/14/multi-agent-research-system/