Skip to content

Debate (MAD)

The debate loop — multi-agent debate, or MAD — puts several agents on the same question and lets them argue. Each round, every debater sees the others’ prior arguments and revises its own; after a set number of rounds, a reducer picks the answer. Adversarial scrutiny surfaces reasoning errors that a single chain would carry to the end, which is why debate shines on contested or reasoning-heavy questions where being challenged improves the answer.

This page explains the loop. For how a loop is chosen, see Coordination loops.

N debaters answer independently, then exchange peers' prior arguments each round until the final round reduces to one answer

Debate is its own skeleton — a first-class coordinator, not a variant of VMAO:

  • Round 0 — the N debater lanes answer independently, with no peer context.
  • Round r > 0 — each lane’s prompt carries the other lanes’ round-(r−1) arguments as structured turns, and the lane revises. There is no live agent-to-agent channel: the coordinator arbitrates the exchange by re-injecting peer arguments at each round barrier. Every round is one governed, budget-carved, checkpointed wave, so an operator sees round progress advance on the event log.
  • Reduce — after the final round, a reducer collapses the arguments to one answer.

Per-round audit detail rides an extension signal on the event log for observability only; it never feeds back into the loop’s control flow.

  • Majority vote — the debaters’ final answers are extracted and the most agreed-upon one wins. This is the Du et al. (2023) form and the shipped default.
  • Comparative judge — a judge wave ranks the final arguments and names a winner, with a rotation to control ordering bias and a majority-vote fallback when the verdict can’t be parsed. This is the Liang et al. (2023) form. The coordinator also supports convergence early-stop and a judge-driven early exit that ends the debate once the matter is resolved.

The shipped configuration io.descoped/deep-research-debate@1.0.0 runs a governed N = 3 lanes, R = 2 rounds, majority-vote debate. The comparative judge and the early-exit options are selected through a custom strategy configuration’s parameters.

Running out of rounds, and steering the ones you grant

Section titled “Running out of rounds, and steering the ones you grant”

When the debate hits its round ceiling without resolving, the coordinator does not silently stop — it takes the governed stall path and pauses for a human, exactly as VMAO does at its own cap. You can terminate, accept the partial result, or grant more rounds.

A grant may carry a comment, and that comment reaches the debaters. It is composed into the next round as its own labelled turn — never spliced into the system template — so an operator extending a debate can also say what the extra rounds are for (“neither side has addressed the licensing constraint”) rather than just buying more of the same argument.

The steer is one-shot: the coordinator clears it after the round that consumes it, so a nudge given to break one deadlock does not quietly re-direct every later round.

The shipped debate configuration is knowledge-only: the lanes reason from the model’s own knowledge and complete with no per-role skill dependency. Binding the research skills to the debater and synthesizer roles at launch turns it into a tool-equipped debate — the lanes gain web tools and the run ends with a synthesized report. Same skeleton, different per-role binding.

Majority-vote debate is Du et al. (2023); the comparative judge is Liang et al. (2023). The compute-matched-baseline framing — debate earns its extra agents only when it beats spending the same compute on a single richer sample — comes from Smit et al. (ICML 2024); per-lane model choice follows the heterogeneous-MAD line. This is why debate sits beside parallel-sample: both spend parallel compute, and the honest question is always which one a given problem rewards.

Choose debate when a question is contested or reasoning-heavy and being challenged improves the answer — analysis with competing interpretations, decisions with trade-offs, claims worth stress-testing. If independent attempts without cross-talk suffice, parallel-sample is cheaper; if the work is decomposable and needs verification, use VMAO.

  • Build: Deep Research ships a debate configuration (io.descoped/deep-research-mad) alongside its VMAO one.
  • Reference: the orchestrator’s debate coordinator under Reference.