An enterprise architect is designing a multi-agent system using the Agent2Agent (A2A) protocol. The system has an Orchestrator Agent that receives complex employee onboarding requests and must delegate to three specialized sub-agents: an HR Data Agent (creates Dataverse employee records), an IT Provisioning Agent (calls Azure AD Graph API to create accounts), and a Facilities Agent (submits a workspace ticket to ServiceNow). The orchestrator must collect results from all three sub-agents before sending a final confirmation. Which A2A interaction pattern and task-management approach best supports this architecture?
Select an answer to reveal the explanation.
Short Explanation and Infographic
The A2A fan-out/fan-in pattern is like a restaurant expediter calling out three orders to the grill, fryer, and salad stations simultaneously and only ringing the bell when all three plates are on the pass. Sending tasks sequentially wastes wall-clock time when the three agents have no dependencies on each other's outputs. Parallel dispatch with terminal-state aggregation is the right pattern for independent parallel sub-tasks.
Full explanation below image
Full Explanation
The Agent2Agent (A2A) protocol is an open standard for agent-to-agent communication that defines task lifecycle states (submitted, working, input-required, completed, failed, cancelled), SSE-based streaming for progress updates, and a JSON-RPC-style message format. For orchestration scenarios, A2A's architecture supports both sequential and parallel task dispatch.
Option D is correct because it describes the optimal pattern for this scenario. The three sub-agents (HR, IT, Facilities) have no data dependencies on each other — the employee's onboarding information needed by each is available from the original request. There is no reason to serialize these tasks. Parallel dispatch using unique task IDs allows all three sub-agents to work simultaneously, reducing total onboarding time from the sum of three durations to approximately the duration of the longest single task. The fan-in logic waits for all three task IDs to reach a terminal state before generating the confirmation. Handling both 'completed' and 'failed' terminal states with compensating actions (e.g., rolling back the Dataverse record if IT provisioning fails) is a production-grade requirement for resilient orchestration.
Option A describes sequential orchestration, which works correctly but is suboptimal. When the three tasks have no dependencies on each other, serializing them triples the wait time unnecessarily. For an onboarding workflow, this could mean minutes of additional latency for each new hire. Sequential is appropriate when task N depends on the output of task N-1, which is not the case here.
Option C describes a peer-to-peer topology where each sub-agent calls the others. This creates circular dependency risks, makes the system harder to monitor and debug (there is no central point for status tracking), and violates the orchestrator pattern's core benefit: centralized task coordination and compensating action management. This approach is not recommended for production multi-agent systems.
Option B is functionally similar to D and is the main distractor. The key difference is that B does not mention handling 'failed' terminal states or compensating actions — it only describes the happy path. D is more complete and correct for an enterprise production scenario where failure handling is required. Additionally, option D specifies using task IDs as the correlation mechanism, which aligns with A2A protocol specifics.
Exam tip: For A2A questions, know the task lifecycle states (submitted → working → completed/failed/cancelled), the difference between polling and SSE streaming for status updates, and the fan-out/fan-in orchestration pattern. Know that parallel dispatch is appropriate when sub-tasks are independent, and that compensating actions (sagas) are required for distributed consistency when some sub-tasks may fail.