Debate Crew

Ed Donner

Two-sided CrewAI debate. A debater argues for or against a motion; a judge weighs only the arguments and names a winner.

CrewAI · OpenAI gpt-4o-mini · Anthropic Claude · YAML config

Overview

Layer 4 Collaborate on the Mental Model. Debate pits a debater (OpenAI) for and against a {motion}, then an Anthropic judge names the winner from the text alone.

Behavior

  • Parallelization of sides. propose and oppose are separate tasks (same debater role, sequential CrewAI process) that produce two concise cases.
  • Evaluator-Optimizer (judge). The judge weighs only the arguments — no outside views — and writes output/decide.md. See Building effective agents.
  • Motion-scoped prompts. Role and task text inject {motion} so both sides share the question.
  • Mixed models. Debater uses openai/gpt-4o-mini; judge uses anthropic/claude-3-7-sonnet-latest.

Debate flow

One motion enters; a winner decision leaves. Diagram key: ✦ AI agent · second line = Anthropic workflow · purple = actor · white = service.

---
config:
  theme: default
  themeVariables:
    background: "#ffffff"
    fontSize: "14px"
---
flowchart TB
    person[Developer]
    motion[Motion]
    propose["✦ Debater propose
Parallelization"] oppose["✦ Debater oppose
Parallelization"] judge["✦ Judge decide
Evaluator-Optimizer"] winner[decide.md] person -->|set motion| motion motion --> propose motion --> oppose propose --> judge oppose --> judge judge --> winner --> person classDef agent fill:#e8f0ee,stroke:#0f3d36,stroke-width:2px,color:#0d0d0d classDef service fill:#fafaf8,stroke:#c8c8c2,stroke-width:1px,color:#0d0d0d classDef actor fill:#f3eef8,stroke:#6b4f9a,stroke-width:2px,color:#0d0d0d class propose,oppose,judge agent class motion,winner service class person actor

Config: 3_crew/debate/src/debate/config/. Process: Process.sequential.

Run from 3_crew/debate with crewai run. Layers and workflows on Mental Model. Part of CrewAI Labs (Project tab).