Two agents disagreeing is the normal case, not the exotic one. Multi-agent conflict write-ups report that two agents run over the same task disagree somewhere between 20% and 40% of the time depending on task type, and that unstructured multi-agent networks without a conflict resolution layer can amplify errors by more than seventeen times relative to a single-agent baseline (Tianpan on conflict patterns). Some of that disagreement is stylistic noise. Some is substantive: the candidates differ in meaning and one of them is wrong (taxonomy of agent disagreement). A tie-breaker only addresses the substantive kind.
The cost side is real. Every tie-breaker call is an extra model call, extra latency, extra token spend, and one more place to debug. Microsoft's guidance for agent architectures pushes teams to start with a single agent unless a specific criterion forces separation, and names extra coordination overhead and latency at each handoff as the trade you are making (Microsoft on single vs multi-agent systems). A third agent is a coordination handoff, so it needs to pay for itself.
Here is the decision rule I would use. Add the tie-breaker only when all three conditions hold:
| Condition | Why it matters | Test before you build |
|---|---|---|
| A wrong pick is expensive | Code merged, money moved, clinical or legal text sent | Estimate the cost of a wrong merge or a wrong action. If it is cheap to detect downstream, a monitor beats a judge |
| The decision rule can be written down | The judge needs criteria, not vibes | Write the rubric in five bullets. If you cannot, you are buying false confidence |
| Disagreement is frequent and visible | A judge on 0.1% of traffic adds cost, not value | Log every disagreement. If the rate is under a few percent, route to humans instead |
| Both candidates come from different model families | Shared families share blind spots | Check the provider behind each agent |
If your disagreement rate is high and the stakes are high but the rubric is fuzzy, a tie-breaker is the wrong tool. Escalate to a human or add a deterministic check (a schema validator, a unit test, a policy lookup) first. The judge pattern sits on top of verifiable criteria; it cannot manufacture criteria you have not defined.
The most useful signal for this decision is something most teams skip: measuring agreement. Run your two agents over a sample of 100 to 500 real requests, label which output was correct (or "both wrong"), and compute the disagreement rate and the correctness rate of each agent on contested cases. If agent A is right 80% of the time on contested cases, a tie-breaker that picks correctly 85% of the time adds almost nothing. If both agents are around 50% on contested cases and the consequences are severe, the tie-breaker has room to earn its keep. You cannot know this from reading prompts; you have to label data. Do that before you write a line of judge code.



