Blog

Multi-Agent Coordination: Roles Are Not Structure

Multi-agent coordination becomes real when roles have contracts, permissions, state boundaries, budgets, checks, and traces, and when the system beats a single-agent baseline at equal compute.

Drew Stone
agentsmulti-agentsystemsself-improvement
An editorial still life about how an agent system improves

A team asks an agent to review a security-sensitive change. The workflow creates a researcher, an architect, a critic, a tester, and a release manager. All five workers use the same model, read the same incomplete design note, and trust the same weak judge. They agree quickly and recommend the same unsafe change.

The workflow has more roles. It does not necessarily have more independent evidence. That is the central problem in multi-agent coordination: adding roles is cheap, while independent, checkable work is not.

Multi-agent coordination is the design of how several agent runs share work, state, authority, and decisions. An agent is software that uses a model and tools to pursue a task. A role is a contract for one responsibility inside the workflow. A persona is the language that describes how a role should behave. A runtime is the software that starts workers, dispatches tools, tracks budgets, and ends the run. A trace is the record of each branch, input, action, artifact, check, and decision. An evaluation is a repeatable test of the final task outcome. A baseline is the single-agent or simpler system used for comparison. A candidate is the proposed multi-agent workflow being tested. A judge is a scorer for qualities that deterministic checks cannot fully capture. A sandbox is an isolated execution boundary that limits files, networks, credentials, or processes.

Personas are instructions. Coordination is executable structure.

Five names do not make five agents

Consider this prompt:

You are the supervisor.
Ask the researcher, architect, critic, tester, and release manager
to collaborate and return the safest patch.

That prompt may produce a convincing transcript. It does not say whether five workers started, whether their contexts were independent, whether one worker could override another, or whether a failed test could block release.

A role becomes operational when the system can answer:

Role questionWhat must be explicit
What does the role receive?Input schema and allowed context
What does it return?Artifact, evidence, and failure shape
What can it do?Tools, permissions, and budget
Who sees its result?Handoff and context policy
What can stop it?Deadline, cancellation, or escalation
Who decides whether it passed?Independent check or human owner

The same model can perform several roles. The contracts still need to remain separate. A reviewer that writes the patch can rationalize its own change. A judge that sees the hidden answer key can leak the evaluation. A coordinator that cannot see child traces is guessing about the work it merges.

Coordination is controlled disagreement

More workers help only when their errors are not perfectly correlated. Useful diversity can come from different evidence, tools, models, skills, task decompositions, or branch states. Role names alone do not create diversity.

If each worker sees the same model, prompt, examples, context, tool set, and evaluator, then the ensemble may be five samples from one blind spot. If qᵢ is worker i’s success probability, the simple independent-success calculation is:

probability(at least one success) = 1 - product(1 - qᵢ)

The formula assumes independence that real language-model workers rarely provide. The practical quantity is the measured gain over a strong single-agent or best-of-N baseline at the same budget.

For an artifact task, also ask whether the final merge preserved disagreement. If the coordinator smooths conflicting findings into a confident paragraph, the workflow may lose its most valuable signal.

Role contracts need an artifact

The following contract is more useful than a cast list:

worker:
  input: task, scoped context, allowed tools, budget
  output: artifact, assumptions, evidence, unresolved risks
  stop: artifact complete or budget exhausted

reviewer:
  input: artifact, task contract, independent evidence
  output: defects, severity, required changes, pass or fail
  authority: can block release but cannot silently edit the artifact

coordinator:
  input: child artifacts, traces, costs, decisions
  output: merged artifact, lineage, unresolved disagreement
  authority: allocate work and request another round

The artifact makes roles testable. The reviewer’s pass or fail can be checked. The coordinator’s merge can be audited. The worker’s assumptions can be compared with the evidence it received.

Common coordination shapes

Best-of-N runs several attempts and returns the highest-scoring valid result. It works when outputs are cheap and easy to check. It fails when the score is subjective or all attempts share one missing fact.

Self-consistency samples multiple reasoning paths and chooses a stable answer. It is useful for tasks with a clear correct answer. It is weaker for open-ended artifacts where agreement can reflect shared convention rather than correctness.

Parallel research assigns independent questions to workers and merges cited evidence. It works when the subtasks do not depend on one another. It fails when workers need a shared evolving state or when the merge loses source lineage.

Debate gives workers a proposal, critique, and response cycle. It can expose assumptions. It can also reward rhetoric, anchoring, and confidence unless a check examines the underlying artifact.

Supervisor and workers give one coordinator authority to assign tasks, collect results, and decide whether another round is needed. The supervisor needs child traces, budget control, and a merge rule. Otherwise it is a narrator.

Handoff transfers control to a specialist that owns the next part of the task. It is useful when the next role should speak directly or use a narrower context. It is dangerous when history, permissions, and unresolved risks cross the boundary implicitly.

Shared workspace lets workers improve one artifact. It fits code and long documents. It requires locking, provenance, conflict handling, and an owner for the final merge.

The pattern should follow the information flow, not a fashionable architecture diagram. Anthropic’s public guidance on building effective agents recommends simple composable workflows before adding autonomous complexity. OpenAI’s Agents SDK orchestration guide distinguishes manager-style agents-as-tools from handoffs and from code-driven orchestration. Both are useful because they describe a decision boundary, not a requirement to use more agents.

A manager and a handoff are different

OpenAI’s public SDK uses two clear patterns. In manager-style orchestration, one agent keeps control and calls specialists as tools. In a handoff, a triage agent transfers control to a specialist that continues the conversation.

The distinction changes the final owner:

PatternFinal conversation ownerUseful when
Agents as toolsCentral managerOne agent must combine specialist results and enforce shared policy
HandoffChosen specialistThe specialist should own the next interaction and keep its context focused
Code-driven chainApplication codeOrder, budgets, and branching need predictable behavior

Do not treat these as semantic synonyms. A specialist called as a tool can return an artifact without taking over the user-facing thread. A handoff can transfer conversation history and authority. The runtime should record which occurred.

Budget is the coordination contract

In this sample, a single worker uses 10,000 output tokens and two minutes. The sample five-worker workflow that uses 50,000 tokens and ten minutes may be the right service tier. It has not yet shown a coordination gain.

Record:

  • Worker count and maximum concurrency.
  • Model calls, tool calls, and retries.
  • Input and output tokens.
  • Wall time and queue time.
  • Sandbox or browser time.
  • Failed, timed-out, and cancelled branches.
  • Human review time.
  • Final quality and protected failure classes.

Then compare:

ClaimBaseline
Better qualityBest single-agent or best-of-N at equal spend
Lower costCurrent quality at lower spend
Lower latencyCurrent quality at equal reliability
Better safetySame task success with fewer policy and permission failures

The test-time compute article explains why extra branches are an inference budget before they are an intelligence claim. The evaluation gates article gives the protected comparison rule.

A public Tangle coordination shape

The public Tangle agent-runtime repository documents a supervise call for one agent to steer a team toward a goal. The public README shows the shape:

import { supervise } from '@tangle-network/agent-runtime/kernel'

const result = await supervise(
  {
    name: 'supervisor',
    harness: 'cli-base',
    prompt: {
      systemPrompt: 'Delegate to workers; do not solve the task yourself.',
    },
  },
  'Implement the feature and make the tests pass.',
  { budget, router, backend },
)

This is an illustrative public API example, but the application still supplies the budget, model backend, and worker environment. The call does not prove that the resulting team is better. It gives the runtime a place to record assignments, stopping, and cost so an evaluation can test the claim.

Tangle’s network terms describe the outer service boundary. A Blueprint is a template for a service’s runnable artifact and jobs. A Service is a live instance created from that Blueprint. An operator runs a live Service made from that Blueprint. A Router in the Blueprint Runner sends a job identifier to its handler. The agent runtime inside that handler can use a different internal graph of workers and checks.

If the job is called over x402, x402 is an optional payment-gated HTTP ingress path. Payment authorization can decide whether work enters the queue. It does not decide whether the multi-agent merge is correct.

If a worker runs in a trusted execution environment, an attestation is signed evidence about the loaded code and hardware state. It can support an execution-boundary claim. It does not prove that the worker’s reasoning or final artifact is correct.

Context boundaries are part of coordination

Sharing context can help or hurt. A researcher may need the original question and source list. A critic may need the draft but not the researcher’s private rationale. A judge may need the artifact and task contract but not the hidden reference answer or optimizer notes.

Define context transfer explicitly:

BoundaryDecision
Worker to coordinatorReturn artifact, sources, assumptions, and unresolved issues
Worker to workerShare only approved artifacts or selected evidence
Coordinator to reviewerInclude lineage and task contract, not untrusted instructions as policy
Candidate to judgeInclude output and allowed trace fields, not hidden rubric state

Tool output is untrusted input. A web page, issue, document, or child response can contain instructions that try to redirect the agent. The runtime should preserve the distinction between trusted policy, untrusted observations, proposed actions, and approved side effects.

The governance article covers authority and prompt-injection boundaries in more depth.

The trace must explain the merge

A final answer is not enough to evaluate coordination. The trace should show:

  • Which roles were created.
  • What each role received.
  • Which tools and permissions each role used.
  • Which state was shared or isolated.
  • What each role produced.
  • Which checks ran.
  • Which branch or evidence won.
  • Which branches were rejected or cancelled.
  • What the merge removed or changed.
  • What the workflow cost.

If a coordinator returns a smooth summary but cannot show the rejected evidence, the system has hidden disagreement. Artifact lineage is the chain linking each merged result to the branch and evidence that produced it. If the judge sees only the final text, it may reward the merge’s confidence rather than the child artifacts’ correctness. If a child failed because of missing credentials, that should not become a model-quality failure.

The trace systems article describes the record needed for this kind of analysis.

Ablations reveal whether coordination did work

An ablation removes one mechanism while holding the rest fixed. For a multi-agent workflow, run at least:

AblationQuestion
Remove debateDid debate resolve errors or add words?
Remove shared contextWas diversity coming from independent evidence?
Use one model and promptDid heterogeneity matter?
Replace the learned winner ruleDid the rule choose correctness or style?
Disable parallelismWas the gain quality or scheduling?
Reduce the worker budgetDoes the pattern still work at the target tier?

The most revealing ablation is often the simple baseline. If the multi-agent system performs the same with one worker and the same budget, the added roles may be documentation rather than mechanism.

Why coordination makes results worse

Correlated blind spots make multiple agents agree on the same missing fact.

Consensus collapse makes the first plausible answer dominate later evidence.

Context contamination lets one candidate copy another and disguises dependent attempts as independent work.

Merge loss drops provenance, uncertainty, or unresolved contradictions.

Authority confusion makes a blocking review advisory.

Unpriced compute makes a team appear better only because it spends more.

Trace gaps hide which branch produced the final result.

Winner-rule overfit makes the winner rule prefer fluent, long, or rubric-shaped answers.

The remedy is not always fewer workers. It is a role contract, a context boundary, a check, a budget, and evidence that the role changed the outcome.

Choose coordination when the task earns it

Use multiple agents when the work needs independent evidence, heterogeneous tools, real parallelism, adversarial review, branch search, specialist handoff, or an artifact merge with provenance.

Use one agent when the task is short, sequential, stateful, or difficult to score across branches. Use a fixed workflow when the steps are known and predictability matters more than model-directed routing. Use a team when the coordination contract is explicit and its gain survives a compute-matched comparison.

The decision test is concrete:

why did this role exist?
what information did it receive?
what did it produce?
which check assessed it?
how did its result change the final artifact?
what did it cost?

If the system cannot answer those questions, it has a richer cast list, not yet a reliable multi-agent system.

What is multi-agent coordination?

It is the executable design of how multiple agent runs divide work, share context, use tools, respect authority limits, produce artifacts, and combine decisions.

Are different personas enough?

No. Personas change instructions. Coordination requires runtime contracts, state boundaries, permissions, budgets, checks, and traces.

Why can more agents make a result worse?

They can duplicate one blind spot, contaminate one another’s context, hide failed branches, spend more compute, and let a weak merge rule reward confidence over correctness.

What should be optimized first?

First make the runtime shape executable and observable. Then compare it with a strong single-agent or best-of-N baseline at equal budget. Only after that tune role wording or skills.

Does a paid job prove the team worked?

No. An x402 payment can authorize and enqueue a job. The trace and task evaluation still need to show that the team executed and produced an acceptable result.

Patterns and primary sources