Define roles and handoff contracts for multi-agent flows
Define roles y contratos de transferencia para flujos multiagente
When agents collaborate, specify each one's responsibility and boundaries, and the exact contract for passing work between them.
Why
Clear roles and handoff contracts prevent multi-agent chaos. The Google A2A protocol formalises this at the protocol level: a planner agent decomposes a goal, delegates sub-tasks via A2A, and each sub-agent executes using its own tool connections. Microsoft's agent governance research identifies undefined role boundaries as the primary cause of enterprise multi-agent failures. The 12-Factor Agents framework is direct: one agent, one job — compose rather than build monoliths. Without an explicit handoff contract (who does what, with what scope, and what they return), agents improvise coordination and produce unpredictable outcomes.
Do
Name roles and define the handoff payload.
Don't
Let agents improvise coordination.
Artifact
{
"from_agent": "planner",
"to_agent": "executor",
"role": "executor",
"task": "Issue refund for order ord_123",
"scope": ["refunds:write"],
"context": { "order_id": "ord_123", "reason": "duplicate charge" },
"constraints": { "max_spend_usd": 50, "requires_dry_run": true },
"return_to": "planner"
}
Citations
- [01]Google A2A Protocol — Task Lifecycle and Orchestration ↗
A planning agent decomposes objectives into sub-tasks and delegates each to a specialised agent via A2A; clear role definitions and handoff payloads are required for reliable multi-agent coordination
- [02]Microsoft — agent-governance-toolkit ↗
Multi-agent orchestration patterns require explicit role definitions and handoff contracts — undefined boundaries are the primary cause of agent coordination failures in enterprise deployments
- [03]12-Factor Agents — Single Responsibility ↗
Build small, focused agents with one clear job and compose them into workflows; each agent should have a named role and explicit input/output contract