Fleet and Swarm Agentic Workflow Architectures in 2026
Compare fleet and swarm agentic workflow architectures in 2026: durable state, bounded delegation, isolated worktrees, evaluations, permissions, and costs.
Go deeper. Build your own.
Consider a feature change split between four agents. One updates the API, another builds the interface, a third writes tests, and a fourth reviews the result. Every session reports success. The merged application still fails because two workers implemented different interpretations of the same contract.
That is the useful starting point for agentic workflow architectures in 2026. Starting more agents is straightforward. Preserving intent, ownership, evidence, and permission across their work is the engineering problem.
This article examines recent primary research and engineering reports, then develops a practical reference architecture. The dated examples are evidence of particular implementations and experiments, not a survey proving that every team has adopted them. The design recommendations are my synthesis, current to August 27, 2026.
Fleet, swarm, and orchestration describe different things
An agent fleet is a collection of agents operated under shared management: identities, capacity, permissions, budgets, and visibility. Its members may work independently. A swarm describes a coordination arrangement in which agents discover or divide work and exchange results toward a common objective. Neither term guarantees a particular implementation.
These are working definitions, not universal protocol terminology. Vendors sometimes call a centrally managed hierarchy a swarm; other teams reserve the word for decentralized peers. Ask who assigns work, who owns shared decisions, and who can declare completion before comparing products.
| Architecture | How work moves | Useful starting point | Main complication |
|---|---|---|---|
| Independent fleet | Separate jobs enter separate agent runs | Unrelated tickets, repository scans | Shared capacity and review queues |
| Fixed workflow | Code defines the allowed stages and transitions | Repeatable processes with explicit gates | Handling exceptions without endless branches |
| Planner and workers | A coordinator decomposes a goal into bounded tasks | Features with separable implementation work | Planner bottlenecks and stale contracts |
| Peer swarm | Agents coordinate through shared tasks or messages | Exploratory work with independent findings | Conflicts, duplicated effort, unclear authority |
You can combine them. A fleet may contain several small planner-and-worker teams, each executing inside a durable workflow. Our agentic software introduction covers the underlying agent loop; the subagent orchestration playbook covers the daily operating patterns.
What recent engineering reports actually show
Four publications make the direction of travel concrete:
- April 8, 2026 — separated lifecycles. Anthropic described Managed Agents as separate session, harness, and sandbox interfaces. Execution infrastructure can be replaced without treating the conversation as disposable process memory. Anthropic engineering report.
- June 2, 2026 — durable cloud execution. Cursor described moving cloud agents onto Temporal, separating agent execution, machine state, and conversation storage. It also reported replacing perpetual workflows with shorter task workflows to make upgrades easier. Cursor cloud-agent report.
- July 20, 2026 — coordination becomes part of the experiment. Cursor compared revised and earlier swarms on a SQLite implementation task, emphasizing planner/worker separation, shared design decisions, conflict handling, and model mixes. These were controlled task comparisons, not general software productivity measurements. Cursor swarm study.
- August 13, 2026 — more agents do not guarantee better coordination. Anthropic reported experiments involving vulnerability discovery, shared software projects, and conflicting objectives. The results expose differences between independent parallel work and tasks requiring sustained cooperation. Anthropic multiagent research.
My reading: the interesting movement is toward systems that make delegation recoverable and inspectable. Bigger teams are useful only when the runtime can explain what each member owns and how its output becomes trustworthy.
Put durable state outside the worker
A conversation transcript is useful evidence, but it should not be the only database for a job. Store task identity, dependencies, attempts, ownership, approvals, and accepted artifacts in a durable control plane. Let workers come and go without losing the task.
LangGraph’s persistence documentation distinguishes thread checkpoints from stores holding information across threads. It also explicitly warns that an in-memory checkpointer loses its data when the process restarts. A checkpoint in a tutorial is not automatically a production recovery strategy.
Keep execution state, conversation history, and artifact evidence addressable independently.
For a small deployment, a relational task table and an artifact store may be enough. You do not need a distributed platform merely to run two workers. You do need an answer to what happens after a crash between an external action and recording its result.
Use an operation identifier that remains stable across retries; give each execution attempt its own identifier. For side effects, prefer destination APIs that deduplicate using that stable operation identifier. If the destination cannot deduplicate, reconcile its actual state before retrying or send the ambiguity for review.
LangGraph’s interrupt guidance illustrates the trap: resuming can rerun the node from its beginning. A non-idempotent side effect before the pause may execute again. Durable execution helps recovery; it does not make every external action safe to repeat.
The design test is simple: stop the worker after a tool succeeds but before its acknowledgement is recorded. On recovery, can you distinguish a missing response from an action that never happened?
Make each handoff a contract
A delegation should explain the deliverable, the owned scope, the accepted inputs, the checks, and the stopping conditions. A role name such as “backend specialist” provides almost none of that.
Here is an illustrative application-level task record. These fields are a design example, not an API offered by a particular framework:
{
"task_id": "invoice-export-api",
"attempt_id": "attempt-02",
"base_revision": "<full-commit-sha>",
"contract_version": "invoice-export-v3",
"owned_paths": ["src/export/", "tests/export/"],
"deliverables": ["patch", "test-results", "known-limitations"],
"acceptance": ["schema-v3-compatible", "tenant-isolation-preserved"],
"max_runtime_seconds": 1200,
"max_retries": 1,
"may_delegate": false,
"may_publish": false
}
Those last two fields need enforcement outside the model. A worker that reads may_publish: false but still holds an unrestricted production credential is operating under a suggestion.
Keep a compact context packet: the contract, relevant source locations, known constraints, and links to evidence. Do not copy the entire parent conversation into every child. Workers need enough context to judge their task, plus a way to request missing information.
When a worker discovers that the contract is wrong, it should return a proposed change to the owner. It should not silently redefine an interface while another worker is implementing the previous version. Treat shared contract revisions as invalidations of affected tasks, not casual chat updates.
That is where spec-driven development and context engineering meet: intent stays explicit while each context window stays focused.
Isolate edits and give integration an owner
For coding fleets, Git worktrees provide separate working directories and indexes attached to one repository. They let workers make changes without sharing the same checkout. They are not security sandboxes: processes still run with the filesystem and credential access granted by the operating system.
Separate branches also cannot resolve a semantic disagreement. Two clean patches can merge successfully and still disagree about pagination, units, error codes, or authorization. Assign an owner for each shared interface and an integrator for the combined result.
Task leases help when jobs can be reassigned after a timeout. Pair them with a monotonically increasing fencing token checked at the write or artifact-acceptance boundary. An old worker must not regain authority simply because it wakes after its lease expires. A timestamp in a prompt cannot provide that guarantee.
For ordinary teams, start with disjoint file ownership and a merge queue. Only build more elaborate coordination after measuring an actual bottleneck. The first goal is a clean, testable combined change, not the maximum number of workers touching the repository.
Choose a bounded swarm before a general one
Exploratory research often divides more cleanly than a shared implementation. Several agents can investigate different sources and return independently checkable findings. A large feature may require a single decision about its data model before meaningful parallel work exists.
Anthropic’s August research makes this distinction especially useful. In its vulnerability experiment, the swarm searched more broadly than the independent baseline; restricting comparison to the same core directories changed the efficiency interpretation. In its software experiment, collaboration metrics and the quality of the resulting product were different questions. Those are reasons to inspect experimental setup before copying a headline.
A practical swarm should have a boundary: one objective, a deadline, a spending cap, allowed tools, and an integration rule. It should also have a termination condition that does not depend solely on agents agreeing that they are finished.
Give parallel reviewers different evidence or different tests. One checks compatibility against the old API, another checks tenant boundaries, and a third exercises failure recovery. Asking three identical sessions whether a patch looks good creates three votes, not necessarily three independent checks.
When agents start revising the same decision repeatedly, pause that part of the swarm. Have the owner settle the constraint and resume with a new contract version. More conversation is not always a remedy for missing authority.
Permissions must survive delegation
Every child agent should inherit a narrower or equal permission set, never an accidental expansion. Separate the authority to inspect, propose, merge, and publish. In particular, approval to generate a patch is not approval to deploy it.
Anthropic’s Managed Agents report describes keeping credentials outside the sandbox and using a proxy for external tool access. The architectural lesson is useful beyond that product: a worker should receive a scoped capability where possible, not a vault full of reusable secrets.
For agents communicating across services, the A2A specification defines task and artifact exchanges along with authentication and authorization responsibilities. It leaves authorization policy to the implementation. Discovering another agent’s advertised capabilities therefore does not answer whether this user may invoke them on this data.
Keep these decisions at gateways that validate identity, tenant, action, resource, and current approval. Treat retrieved pages, repository comments, and messages from other agents as potentially untrusted inputs. A peer’s statement that the user approved an action is not the approval record.
Bind human approvals to the exact proposed artifact or action. If the patch, target environment, or requested permission changes, invalidate the approval. Record who approved it, what they saw, and whether that approval is still applicable when execution begins.
Our agent security guide provides the broader threat model. For fleets, delegation adds edges to that model; it does not remove the existing boundaries.
Evaluate the result and the coordination
Start by measuring one capable agent on representative tasks. Then compare the proposed fleet on the same inputs, environment, acceptance criteria, and budget policy. Otherwise you cannot tell whether additional workers helped or simply consumed additional resources.
Anthropic’s evaluation guide distinguishes a transcript from the final state of the environment and recommends combining appropriate graders. That distinction matters for fleets: a persuasive completion message is not proof that the merged software works.
Track separate questions:
| Question | Evidence to retain |
|---|---|
| Did it solve the task? | Tests and acceptance checks on the final candidate |
| Did it coordinate safely? | Ownership conflicts, duplicate tasks, stale writes rejected |
| Did it recover correctly? | Crash, timeout, cancellation, and retry outcomes |
| Was the result usable? | Human review findings and remaining repair work |
| Was it worth parallelizing? | End-to-end time and total cost per accepted result |
Include adversarial operating conditions in the evaluation: delayed messages, an unavailable tool, a worker that returns incomplete artifacts, and a cancellation while children are still active. Test that the fleet stops spending after cancellation, not merely that its dashboard displays “canceled.”
Keep the grading environment outside worker control where feasible. Workers can add legitimate tests, but should not be able to certify success by weakening the acceptance suite. Rerun integration checks against the combined revision. A worker’s green test report belongs to the revision it tested.
For a deeper evaluation workflow, see evals for AI agents.
Optimize cost per accepted result
Routing every subtask to the most expensive model is wasteful when a cheaper worker can satisfy the same contract. Routing every subtask to the cheapest model can be equally wasteful when retries, review, and repair erase the saving.
Cursor’s July experiment explored different models for planning and execution and found large cost differences within that task. That supports testing role-specific model selection. It does not establish that one planner/worker combination is the cheapest for your repository, your tools, or your quality bar.
Measure inference, sandbox runtime, tool fees, retries, and human repair separately. Track time waiting for review as well as time generating output. A fast fleet can create a slow delivery process if the review queue cannot absorb its artifacts.
Set a shared run budget that includes descendants. Allocate worker budgets from it rather than giving each spawned agent an independent unlimited allowance. Reserve capacity for verification and integration before authorizing more implementation work.
Use admission control at the scheduler. When a provider returns rate limits, bounded retries with backoff and jitter should reduce pressure. Spawning replacement agents for every transient failure multiplies the original problem.
The useful efficiency measure is the cost of accepted work, including failed attempts. Tokens per second and agents currently running are diagnostic counters, not business outcomes.
Observe the causal chain without recording every secret
A fleet trace should connect the user request to the planner, each task attempt, tool calls, artifact versions, approvals, and the final candidate. Preserve those relationships even when execution moves between machines or continues after a parent process exits.
OpenTelemetry’s GenAI conventions now have a dedicated repository covering GenAI telemetry. Check the conventions and instrumentation versions you actually use; do not assume an old example’s attribute names or stability promises still apply.
For your own task metadata, retain stable run and parent-task identifiers, attempt numbers, model and harness versions, and artifact hashes. Record structured outcomes such as permission denied, budget exhausted, validation failed, and waiting for approval. They tell an operator much more than a generic failed state.
Do not turn observability into a second secret store. Redact credentials and sensitive tool results, restrict access to transcripts, and define retention periods. Keep enough provenance to reproduce a failure without copying every production record into a tracing vendor.
The operational loop is covered in AgentOps. The runtime mechanisms belong in your agent harness, where they can be enforced and tested.
A reference architecture for one feature
Imagine adding an invoice-export feature. This is a design walkthrough, not a report of a measured deployment.
First, the owner defines the export schema, tenant boundaries, error behavior, and acceptance checks. The planner creates separate API and interface tasks only after those shared decisions are recorded. An independent reviewer prepares failure cases from the requirements.
The final gate checks the combined revision, including the interactions between independently completed tasks.
The scheduler gives each implementation worker an isolated workspace and a bounded tool set. Each returns a patch, its tested revision, test receipts, and explicit limitations. An incomplete response can trigger a bounded repair task; it cannot silently become an accepted result.
The integrator checks ownership and contract versions before combining the patches. It creates a candidate revision and runs the independent acceptance checks against that revision. If a UI assumption conflicts with the API, the relevant contract owner resolves it before more workers are started.
Finally, a human or an explicitly authorized release process approves that exact candidate. Deployment uses the corresponding artifact, and post-deployment checks verify the actual environment. If the artifact changes, the approval and evidence are no longer interchangeable with the previous candidate’s.
Notice where the intelligence sits: interpreting requirements, implementing bounded changes, and investigating failures. Notice where deterministic controls sit: identity, budgets, artifact selection, ownership, and release permission. Both are necessary.
Product note: The Automater multi-agent command-center guide covers the operator’s view of several sessions at once. Visibility is useful, but it does not substitute for permissions, durable task state, or release gates in the systems those agents operate.
Start with one workflow and a small team. Expand only when its accepted outcomes beat the single-agent baseline without creating an unmanageable review queue. That is a stronger foundation for a fleet than a large number on an activity dashboard.
FAQ: fleet and swarm agentic workflow architectures
What is the difference between an agent fleet and a swarm?
A fleet describes agents managed together; a swarm describes how agents coordinate toward an objective. A fleet can run unrelated jobs or contain several swarms. Because terminology varies, compare concrete behavior: assignment, ownership, communication, permissions, recovery, and the rule that accepts the final result.
When is a single agent the better architecture?
Use one agent when a task has tightly coupled decisions, fits a manageable context, and does not offer independently verifiable subtasks. Additional agents create handoff and integration work. Establish a single-agent baseline first, then add parallelism where it measurably improves accepted results or elapsed time.
Do Git worktrees make agent execution secure?
Worktrees separate checkouts and indexes; they do not isolate operating-system access or credentials. They are useful for avoiding accidental edit collisions. Use appropriate process or sandbox boundaries, restricted credentials, and tool permissions for security. Still review semantic conflicts when the resulting branches are combined.
How do you prevent a swarm from running forever?
Enforce a shared budget, deadline, concurrency limit, and retry policy outside the agents. Make cancellation propagate to children and block new work. Define completion through acceptance evidence, not agreement among agents. When progress stalls, preserve the artifacts and return a specific decision to the owner.
Sources
Sources checked August 27, 2026. Vendor results above describe the authors’ experiments or implementations; this article does not independently reproduce their benchmarks.
- Anthropic: Scaling Managed Agents: Decoupling the brain from the hands — April 8, 2026
- Cursor: What we’ve learned building cloud agents — June 2, 2026
- Cursor: Agent swarms and the new model economics — July 20, 2026
- Anthropic: Patterns and problems in emerging multiagent systems — August 13, 2026
- LangGraph: Persistence
- LangGraph: Interrupts
- Git: git-worktree documentation
- A2A Protocol: Specification
- Anthropic: Demystifying evals for AI agents — January 9, 2026
- OpenTelemetry: GenAI Semantic Conventions
