← Knowledge Base

how to vendor reported TRACE Approved

How should multiple AI agents coordinate and delegate work?

Direct answer

Multiple agents should coordinate through **explicit contracts and bounded delegation**, not through an unstructured shared conversation.\n\nA reliable delegation should identify:\n\n- the task and expected output;\n- the reason the specialist was selected;\n- allowed tools and authority;\n- relevant input and source references;\n- time, token, and retry budgets;\n- completion and validation criteria;\n- ownership of the final answer or action;\n- how errors, uncertainty, and escalation are returned.\n\nUse a **manager pattern** when one agent must retain responsibility and combine several specialist outputs. Use a **handoff** when a selected specialist should take over the interaction. Use deterministic code for steps, routing, or approvals that must be predictable.

Detailed explanation

OpenAI's Agents SDK describes two primary model-driven patterns.\n\n### Manager or agents-as-tools\n\nA central agent owns the user interaction and invokes specialists as tools. Each specialist receives a bounded task and returns a result to the manager. This pattern is appropriate when:\n\n- one component must own the final answer;\n- several specialist results must be combined;\n- shared output rules need one enforcement point;\n- the specialist should not see or control the entire conversation;\n- delegation is a private implementation detail.\n\n### Handoffs\n\nA routing agent transfers control to a specialist that receives the conversation context and becomes the active agent. This pattern is appropriate when:\n\n- the specialist should communicate directly with the user;\n- the new role needs a focused instruction set;\n- the workflow is primarily routing rather than synthesis;\n- continuing through the manager would add unnecessary narration or context.\n\nA handoff should include small structured metadata such as reason, priority, language, or requested capability. The receiving agent should receive only the history and resources it needs. Input filters or summaries can reduce context leakage and token cost.\n\n### Code-driven orchestration\n\nUse code rather than model choice when the flow is known. Examples include:\n\n- classify into a fixed category and route;\n- run independent tasks in parallel;\n- transform one structured output into the next step's input;\n- repeat execution and evaluation until a bounded criterion passes;\n- require an approval before a specific tool;\n- stop after a maximum number of turns or failures.\n\n### Shared state\n\nAgents should not silently mutate an unversioned shared scratchpad. Use typed, versioned state with explicit ownership. Concurrent agents should produce proposals or isolated artefacts that a coordinator merges. Writes need conflict detection, idempotency, correlation identifiers, and audit records.\n\n### Evidence and output contracts\n\nSubagents should return structured results that separate:\n\n- answer or recommendation;\n- evidence and source identifiers;\n- assumptions;\n- uncertainty;\n- actions taken;\n- validation performed;\n- unresolved questions.\n\nThe manager must not treat a confident subagent message as independent evidence. It should verify source references and identify duplicate provenance across agents.\n\n### Authority\n\nDelegation should attenuate or preserve authority, never silently expand it. A subagent receives no more permissions than the task requires. Consequential approvals should surface to the outer run so users can see which specialist and tool requested the action.\n\n### Observability\n\nEvery delegation should share a correlation ID and record parent, child, task, inputs, outputs, tools, cost, latency, approvals, failures, and final disposition. This is essential for debugging and evaluation.

Evidence

- [OpenAI Agents SDK — Agent orchestration](https://openai.github.io/openai-agents-python/multi_agent/) — defines manager, handoff, LLM-driven, and code-driven orchestration patterns and their appropriate uses. - [OpenAI Agents SDK — Handoffs](https://openai.github.io/openai-agents-python/handoffs/) — documents structured handoff metadata, input filtering, history transfer, and specialist delegation. - [OpenAI Agents SDK — Human in the loop](https://openai.github.io/openai-agents-python/human_in_the_loop/) — shows that nested-agent approvals can surface to and resume from the outer run. - [Anthropic — How we built our multi-agent research system](https://www.anthropic.com/engineering/multi-agent-research-system) — describes manager-led parallel research and lessons about task decomposition, coordination, and synthesis. - [Google — Agent Development Kit](https://developers.googleblog.com/agent-development-kit-easy-to-build-multi-agent-applications/) — supports code-first, model-flexible multi-agent orchestration with explicit control.

Linked evidence

No reviewed claim mappings are currently available for this document.

Section: ai-agents · Type: how to · Evidence: vendor reported

Approved: 19 Jul 2026

Review after: 2026-10-19

Hard expiry: 2027-07-19