An orchestrator agent delegates a data processing module to two subagents. Subagent 1 implements the module using async/await with Promises, while Subagent 2 implements the same module using callback patterns. When the orchestrator receives both outputs, they are architecturally contradictory and cannot both be merged. What is the correct resolution strategy for the orchestrator?
Select an answer to reveal the explanation.
Short Explanation and Infographic
When two subagents disagree architecturally, the orchestrator applies the pre-defined rule — it doesn't flip a coin or ask for help. The project's established patterns are the tiebreaker. Mixing async/await and callbacks in the same module is worse than either choice alone. Pick one, discard the other, log the decision, and move on.
Full explanation below image
Full Explanation
Contradictory outputs from parallel subagents are an expected condition in multi-agent systems, particularly when agents are given implementation latitude on tasks that have multiple valid approaches. The orchestrator must have resolution strategies defined in advance for these cases.
The correct resolution strategy is to apply a pre-defined architectural decision rule. Well-architected multi-agent systems document preferred patterns (e.g., 'this project uses async/await exclusively; callbacks are legacy patterns not used in new code') so the orchestrator can resolve contradictions autonomously using these rules rather than escalating every conflict to a human.
The resolution steps are: 1. Identify the conflict type (architectural pattern contradiction) 2. Apply the relevant decision rule (project standard: async/await) 3. Select Subagent 1's implementation as conformant 4. Discard Subagent 2's callback implementation 5. Document the decision in the coordination artifact for audit purposes
Why the other options fail: - Option A (merge both patterns) creates a mixed-pattern module that is worse than either option individually. Mixing async/await and callbacks in the same module creates maintenance complexity, potential callback hell, and inconsistent error handling patterns. Mixed implementations should be rejected outright. - Option C (always escalate to human) is appropriate for decisions outside the scope of defined rules, but for a question with a clear pre-defined standard, automatic escalation defeats the purpose of orchestration. If every contradiction requires human input, the orchestrator adds overhead without value. - Option D (re-run with higher temperature) treats a deterministic architectural decision as a random sampling problem. Temperature affects creativity variance in language models; it does not resolve architectural contradictions and would produce equally contradictory outputs on re-run.
Pre-defined resolution rules are what allow orchestrators to handle contradiction autonomously and at scale.