Multi-Agent Debate Framework
Multiple agents debate topics to reach stronger conclusions through adversarial reasoning.
Quick Start
from debate import Debate, Agent, Judge
debate = Debate("Should we use microservices?")
debate.add_agent(Agent("pro", stance="support", model="gpt-4o"))
debate.add_agent(Agent("con", stance="oppose", model="claude-sonnet-4"))
debate.add_agent(Agent("synth", stance="synthesize", model="gemini-2.5-pro"))
debate.set_judge(Judge(criteria=["evidence", "logic", "completeness"]))
result = debate.run(rounds=3)
# Returns: winner, consensus, key_arguments, confidence
How It Works
- Proposition: Pro agent argues for the topic
- Opposition: Con agent argues against
- Rebuttal: Each agent responds to the other's points
- Synthesis: Synth agent finds common ground
- Judgment: Judge evaluates all arguments and declares outcome
Debate Config
Debate(
topic="Your question",
rounds=3, # Number of debate rounds
max_words_per_turn=500, # Limit argument length
convergence_threshold=0.7, # Auto-stop when consensus reached
judge_criteria=["evidence", "logic", "novelty", "completeness"],
)
Agent Stances
support— Argues in favoroppose— Argues againstsynthesize— Finds middle grounddevil_advocate— Argues weakest points to strengthen themexpert— Provides domain-specific knowledge
Judge
Evaluates arguments on configurable criteria and produces:
- Winner per round
- Overall winner
- Consensus points
- Unresolved issues
- Confidence score