Preview — full styling will appear after the next deploy completes.

agentic-ai-patterns

Debate

Adversarial argumentation with judgment

Two LLM agents argue opposing positions on a question. After multiple rounds of opening statements and rebuttals, a judge evaluates the full transcript and delivers a verdict.

flowchart TD
    S([__start__]) --> A[advocate_a FOR]
    A --> B[advocate_b AGAINST]
    B -->|more rounds| A
    B -->|done| J[judge]
    J --> E([__end__])

The Debate pattern uses adversarial argumentation to reduce single-model bias. Two advocates — one arguing FOR, one arguing AGAINST — take turns making their case and responding to the opponent's arguments. By forcing the model to steelman both positions, the debate surfaces trade-offs that a single-chain answer might elide.

After `MAX_ROUNDS = 2` of debate (opening + one rebuttal each), a third judge LLM reads the full transcript and delivers a reasoned verdict. The judge has not participated in the debate and can evaluate the arguments objectively, selecting the strongest position based on evidence rather than rhetorical style.

Debate is particularly effective for questions with genuine trade-offs: "Should we use microservices or a monolith?", "Is this regulation net-positive?", "Which model architecture is better for this use case?" It makes the reasoning process transparent and auditable.