structured multi-round debate orchestration with agent role assignment
Orchestrates multiple LLM agents through structured debate rounds where agents iteratively build on each other's responses to refine answers. The system implements a generation phase that progresses from independent reasoning to collaborative refinement, with agents assigned distinct perspectives or roles across configurable debate rounds. Each round captures agent interactions as structured state, enabling systematic evaluation of how collaborative reasoning improves factuality and reasoning accuracy compared to single-agent baselines.
Unique: Implements paper-based multi-agent debate methodology with task-specific generation modules (gen_math.py, gen_gsm.py, gen_mmlu.py, gen_conversation.py) that encode domain-specific debate prompts and evaluation logic, rather than generic agent frameworks — each task domain has specialized debate round logic tailored to its reasoning requirements
vs alternatives: Differs from generic multi-agent frameworks (like LangChain agents or AutoGen) by implementing a research-validated debate protocol with structured evaluation pipelines per task domain, rather than general-purpose agent orchestration
task-domain-specific generation pipeline with configurable agent count and debate rounds
Provides modular generation modules for four distinct reasoning domains (Math, GSM, MMLU, Biography) that each implement specialized debate logic while accepting configurable parameters for agent count and debate round count. The generation phase processes domain-specific inputs through task-adapted prompts, manages agent state across rounds, and produces structured output files with naming conventions encoding experimental parameters (e.g., output_agents_N_rounds_R.json). This architecture enables systematic experimentation across different agent configurations without modifying core debate logic.
Unique: Implements task-specific generation modules (gen_math.py, gen_gsm.py, gen_mmlu.py, gen_conversation.py) that encapsulate domain-specific debate prompts and round logic, with standardized parameter passing for agent count and round count, enabling reproducible experiments with consistent output naming conventions that encode experimental parameters
vs alternatives: More specialized than generic prompt-based multi-agent systems because each task domain has custom generation logic optimized for its reasoning type, rather than using a single debate template across all domains
ground-truth-based evaluation framework with domain-specific metrics
Implements evaluation modules (eval_gsm.py, eval_mmlu.py, eval_conversation.py) that systematically compare generated debate responses against ground truth data to measure improvements in factuality and reasoning accuracy. Each evaluation module encodes domain-specific metrics (e.g., exact match for math, factual accuracy for biography, multiple-choice accuracy for MMLU) and produces structured evaluation results. The framework enables quantitative comparison between single-agent baselines and multi-agent debate outputs, with results aggregated across test sets for statistical analysis.
Unique: Implements task-specific evaluation modules that encode domain-appropriate metrics (exact match for GSM, factual accuracy for biography, multiple-choice accuracy for MMLU) rather than generic string matching, enabling accurate assessment of reasoning quality across heterogeneous task types
vs alternatives: More rigorous than simple string comparison because it uses domain-specific evaluation logic that understands task semantics (e.g., mathematical equivalence, factual correctness) rather than treating all tasks as generic text matching problems
multi-task reasoning benchmark support with standardized task interfaces
Provides implementations for four distinct reasoning task domains (Math, Grade School Math, MMLU, Biography) with standardized generation and evaluation interfaces that enable systematic comparison across task types. Each task domain is implemented as a modular pair of generation and evaluation modules that follow consistent architectural patterns while accommodating domain-specific requirements. The system processes inputs through standardized pipelines, generating structured outputs with consistent naming conventions, enabling researchers to run identical debate experiments across different reasoning domains and compare relative improvements.
Unique: Implements four distinct task domains (Math, GSM, MMLU, Biography) with specialized generation and evaluation logic for each, following consistent architectural patterns (task-specific gen_*.py and eval_*.py modules) that enable systematic comparison across reasoning types while preserving domain-specific optimizations
vs alternatives: More comprehensive than single-task debate systems because it validates the approach across multiple reasoning domains (arithmetic, word problems, reading comprehension, factual accuracy), demonstrating broader applicability than domain-specific implementations
llm api abstraction with openai gpt-3.5-turbo integration
Provides abstraction layer for OpenAI API interactions, specifically integrating with the gpt-3.5-turbo-0301 model for all agent reasoning. The system manages API calls across multiple agents and debate rounds, handling request formatting, response parsing, and error handling. Integration points include agent prompt construction, response extraction from API outputs, and state management across sequential API calls. The abstraction enables swapping model versions or providers by modifying configuration, though current implementation is tightly coupled to OpenAI's API format.
Unique: Integrates OpenAI gpt-3.5-turbo-0301 specifically for multi-agent debate, with agent prompt construction and response parsing optimized for debate round logic, rather than generic LLM API wrappers
vs alternatives: Simpler than building custom LLM infrastructure but less flexible than frameworks like LangChain that abstract multiple providers — trades provider flexibility for simplicity in the debate-specific use case
debate round state management with agent response tracking
Manages state across multiple debate rounds, tracking each agent's responses and building context for subsequent rounds. The system maintains agent response history, constructs prompts that reference previous round outputs, and ensures agents can build on each other's reasoning. State is stored in memory during execution and serialized to JSON output files for persistence and analysis. The architecture enables agents to see prior responses and refine their answers iteratively, implementing the core collaborative refinement mechanism of the debate approach.
Unique: Implements debate-specific state management that tracks agent responses across rounds and constructs context-aware prompts for subsequent rounds, enabling agents to reference and build on prior reasoning rather than treating each round independently
vs alternatives: More specialized than generic conversation history management because it's optimized for debate semantics where agents explicitly respond to each other's arguments, rather than linear conversation threading
parameterized experiment configuration with output naming conventions
Enables systematic experimentation by accepting configurable parameters (agent count, debate round count) and encoding them into output file names using standardized conventions (e.g., output_agents_N_rounds_R.json). This approach enables researchers to run multiple experiments with different configurations and automatically organize results by parameters. The naming convention makes it easy to identify which configuration produced which results without requiring separate metadata files. Configuration is passed as command-line arguments or function parameters, with minimal validation.
Unique: Implements parameter-driven experiment configuration with output file naming conventions that encode experimental parameters (agent count, round count), enabling systematic organization of results without requiring separate metadata tracking
vs alternatives: Simpler than formal experiment tracking systems (like MLflow or Weights & Biases) but more systematic than ad-hoc file naming, providing lightweight parameter management suitable for research prototyping
dataset loading and preprocessing for heterogeneous task formats
Loads and preprocesses task-specific datasets in different formats (GSM dataset, MMLU dataset, biography articles in JSON, generated math problems) and normalizes them into consistent input formats for debate generation. Each task domain has custom preprocessing logic that extracts questions, context, and ground truth from domain-specific file formats. The preprocessing layer abstracts format differences, enabling the debate generation pipeline to work with consistent input structures despite underlying dataset heterogeneity.
Unique: Implements task-specific dataset loaders that normalize heterogeneous formats (GSM JSON, MMLU CSV, biography articles, generated math) into consistent input structures, abstracting format differences from debate generation logic
vs alternatives: More specialized than generic data loading libraries because it understands task-specific semantics (e.g., extracting questions and ground truth from domain-specific formats) rather than treating all datasets as generic CSV/JSON
+2 more capabilities