Apply to my task
arXiv:2510.16645 ★ 82 Oct 18, 2025

DiMo: Multi-Agent Debate Through Switching Thinking Modes

Key result

LLMs are catastrophically bad at finding errors in their own conclusions. Once the model has generated a solution, it defends it, even if there's a mistake in step two. This is called anchoring: generation creates an attachment, and critical thinking switches off. DiMo gives you multi-level verification from one and the same model, as if a team of four were on the job. The trick: you don't try to make the model check itself; you split the work into roles via separate prompts. The Generator produces an answer, the Evaluator hunts for holes (it doesn't generate!), the Refiner makes surgical fixes (it doesn't rewrite everything!), the Judger makes the call. On math, Logical mode delivers 90.7% accuracy: the model finds the error in step 2 and recalculates instead of dragging the mistake all the way to the end.

01

TL;DR

DiMo is a technique that splits problem-solving across four prompt roles: the Generator produces a first answer, the Evaluator finds errors and gaps, and then either the Knowledge Supporter + Reasoning Path Provider step in (for knowledge tasks) or the Refiner + Judger do (for logic tasks). Every role is played by the same model, just with different instructions. The roles debate in iterations: generate → critique → refine → verify, until they reach consensus or hit the round limit.

Models are bad at grading their own answers: when an LLM generates and checks in one go, it misses logical holes and factual errors. The reason: generating an answer creates an anchor, and the model tends to defend what it already wrote rather than hunt for problems in it. Math makes this especially painful: the model makes a calculation error in step 2 but keeps building the solution on top of it, never noticing the foundation is cracked.

DiMo separates the roles physically, through separate prompts with explicit instructions for each role. The Evaluator only looks for errors (it doesn't generate a solution), the Refiner only fixes a specific step (it doesn't rewrite everything), the Judger only makes the call (it doesn't take part in the edits). It's like code review on a team: the author of the code can't be its reviewer; you need fresh eyes. In math problems, the Refiner gets a pointer from the Evaluator like "error in step 2" and recalculates just that step, keeping all the other logic intact.

Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

Divergent Thinking Mode (for knowledge and common-sense tasks)

STEP 1: Generator produces a first answer → answer text
STEP 2: Evaluator finds logical holes and knowledge gaps → list of problems
STEP 3: Knowledge Supporter offers relevant knowledge → facts and context
STEP 4: Reasoning Path Provider builds a reasoning path → structured logic
STEP 5: Generator produces a refined answer based on the knowledge and the path → new answer
STEP 6: Discussion: all three agents (Evaluator, Knowledge Supporter, Path Provider)
        debate: is the answer correct? → consensus (yes/no)
        If no → back to step 3 (next debate round)

Every step requires a separate request. Each role is its own prompt.

Logical Thinking Mode (for math and logic problems)

STEP 1: Generator produces an answer with a step-by-step solution → solution with steps
STEP 2: Evaluator checks every step → finds a specific error (step #N) or OK
        ├─ If an error is found → STEP 3 (Refiner)
        └─ If there are no errors → STEP 4 (Judger)
STEP 3: Refiner fixes only the problem step → updated solution
        → back to step 2 (re-check)
STEP 4: Judger makes the final call → answer accepted/rejected

The Evaluator → Refiner loop is capped at a set number of iterations (usually 3-4 rounds).

03

Example in Practice

⚠️ Method limitations:

  • Heavy token usage: 13,700-19,300 tokens per task vs 100-500 for standard methods
  • Requires sequential requests: 5-8 separate prompts instead of one
  • Divergent mode does worse on math: 79.9% accuracy vs 90.7% for Logical mode (GSM8K)
  • Not for simple questions: overkill for "capital of France"

The method shines on complex tasks where a single model misses errors in its own reasoning.


Divergent Mode: evaluating a business idea

The task: Evaluate an idea: opening a coffee shop + coworking space in a residential Chicago neighborhood. There are two competitors nearby (a Starbucks and a local coffee shop), and the target audience is remote workers and freelancers. Starting budget: $150K.

Prompt 1 (Generator):

Analyze this business idea: a coffee shop + coworking space in a residential Chicago neighborhood,
a Starbucks and a local coffee shop nearby, target audience: remote workers, budget $150K.

Is it worth opening? Give an initial assessment.

Prompt 2 (Evaluator):

Here is an initial assessment of a business idea: [paste the Generator's answer]

Find in this assessment:
1. Logical holes
2. Overlooked risks
3. Missing data needed for the conclusions
4. Weak spots in the argument

Make a list of problems.

Prompt 3 (Knowledge Supporter):

Here is the assessment of the idea and the list of problems:
[paste the Generator's answer and the Evaluator's list]

Provide relevant knowledge:
- Coffee shop market statistics for Chicago
- Rent and operating cost data for residential neighborhoods
- Remote worker behavior (where they work, how much they spend)
- Profile of successful coworking spaces

Facts and figures, no conclusions.

Prompt 4 (Reasoning Path Provider):

Here is the initial assessment, the problems and the knowledge:
[paste everything above]

Build a structured reasoning path:
1. Which questions to ask, and in what order?
2. Which data to verify?
3. Which scenarios to consider?
4. What conclusions should this lead to?

Give a logical framework for the analysis, not the final answer.

Prompt 5 (Generator, refined answer):

Now re-evaluate the idea based on:
- Knowledge: [paste from the Knowledge Supporter]
- Logic: [paste from the Reasoning Path Provider]

Give a final assessment: open it or not? Justify your answer.

Prompt 6 (Discussion, consensus):

Here is the refined assessment: [paste the Generator's answer]

Three roles must vote:

EVALUATOR: Are there logical errors in this assessment? (yes/no + why)
KNOWLEDGE SUPPORTER: Do the conclusions match known facts about the market? (yes/no + why)
REASONING PATH PROVIDER: Is the reasoning logic sound? (yes/no + why)

If all say "yes" → CONSENSUS, final answer.
If even one says "no" → state what to fix and start a new round.

Result: You'll see 3-4 rounds of debate, each bringing new knowledge, corrected logic and refined conclusions. At the end you get a well-grounded decision with an explicit reasoning path: which factors were considered, which risks were found, which scenarios were run. Not just "worth it / not worth it", but an audit of the entire decision logic.


Logical Mode: checking a unit economics calculation

The task: Check the customer LTV (lifetime value) calculation for a subscription service. The model calculated LTV = $450, but there may be an error in the math.

Prompt 1 (Generator):

Calculate the LTV for a subscription:
- Average revenue: $15/month
- Average customer lifetime: 30 months
- Churn rate: 5% per month

Show the calculation step by step.

Prompt 2 (Evaluator):

Here is the LTV calculation: [paste the Generator's answer]

Check every step:
1. Is the formula used correctly?
2. Are the computations correct?
3. Is the data consistent (5% churn rate and a 30-month lifetime)?
4. Are all factors accounted for?

Name the specific step with the error (if any) or say "OK".

Prompt 3 (Refiner, if the Evaluator found an error):

The Evaluator found an error: [state which one]

Here is the original calculation: [paste from the Generator]

Fix ONLY the problem step and keep everything else. Show the corrected calculation.

Prompt 4 (Evaluator, re-check):

Here is the corrected calculation: [paste from the Refiner]

Check again: are there any errors? (yes/no + the specific step)

Prompt 5 (Judger, final decision):

Here is the final calculation after all the edits: [paste the latest version]

Assess:
1. Are all the steps logically correct?
2. Are the computations accurate?
3. Is the formula applied correctly?
4. Does the answer make sense?

Decision: ACCEPT the calculation / REJECT it (and why).

Result: You'll see step-by-step verification that explicitly points to where the error was (for example: "Step 2: at a 5%/month churn rate, the average customer lifetime = 1/0.05 = 20 months, not 30"). The model will fix that step locally, recompute the dependent values and show the correct LTV. The end result is an auditable chain of checks, not just a number.

04

Why It Works

The LLM's weakness: The model is bad at finding errors in its own output. Once it has generated a solution, it tends to defend it: that's anchoring. It's especially critical in math: an error in step 2 carries through the whole calculation, but the model doesn't notice because it's busy building the next steps.

The LLM's strength: The model is great at critiquing someone else's text and surgically fixing specific fragments when it sees them in isolation. It's also good at following clear role instructions: if the prompt says "you only check, you don't generate", the model focuses on checking.

How the method uses this: DiMo separates the roles physically, through separate prompts. The Evaluator only looks for errors (it can't generate), the Refiner only fixes the flagged step (it can't rewrite everything). This removes anchoring: each role starts from a clean slate, with no previous conclusions to defend. In math, the Evaluator sees the solution as a list of claims to verify, not as its own output. The Refiner gets "error in line 5" and recalculates surgically, leaving the rest untouched.

Prompt control knobs:

  1. Number of debate rounds (for Divergent mode):
    • Default: 3-4 rounds
    • ↓ Cut to 1-2 for simple tasks → save tokens
    • ↑ Raise to 5-6 for mission-critical decisions → dig deeper
  2. Consensus criterion (in Discussion):
    • Default: "all three agents agree"
    • Switch to "two out of three agree" → faster, less strict
    • Or "the Evaluator + any one other" → logic gets priority
  3. Generation temperature:
    • Divergent mode uses a high temperature (0.7-0.9) → diverse hypotheses
    • Logical mode uses a low one (0.1-0.3) → rigorous calculations
    • You can flip them for experiments
  4. Depth of checking (Evaluator):
    • Default: "check every step"
    • Relax to "check only the critical calculations" → faster
    • Tighten to "check + propose an alternative formula" → paranoid mode
  5. Agent roles (for Divergent mode):
    • Instead of a faceless "Knowledge Supporter", give it a concrete role: "You are a financial analyst at Chase with 10 years of experience" → sharper critique
    • For business tasks: "Optimist" vs "Pessimist" instead of abstract roles
05

Prompt Template

Divergent Mode (knowledge and common sense)

Step 1: Generator:

Task: {describe the task}

Give an initial answer.

Step 2: Evaluator:

Here is an initial answer to the task: {task}

Answer: {paste the Generator's answer}

Find:
1. Logical holes
2. Missing facts
3. Weak spots in the argument

List of problems.

Step 3: Knowledge Supporter:

Task: {task}
Initial answer: {Generator's answer}
Problems: {list from the Evaluator}

Provide relevant knowledge and facts for this task. No conclusions, just data.

Step 4: Reasoning Path Provider:

Task: {task}
Initial answer: {Generator's answer}
Problems: {list from the Evaluator}
Knowledge: {facts from the Knowledge Supporter}

Build a structured reasoning path:
- In what order should things be analyzed?
- Which data should be verified?
- Which scenarios should be considered?

Give a framework for the analysis, not the final answer.

Step 5: Generator (refinement):

Task: {task}

Based on:
- Knowledge: {paste from the Knowledge Supporter}
- Logic: {paste from the Reasoning Path Provider}

Give the final answer.

Step 6: Discussion (consensus):

Task: {task}
Refined answer: {paste from the Generator}

Three roles vote:

EVALUATOR: Are there logical errors? (yes/no + why)
KNOWLEDGE SUPPORTER: Does it match the facts? (yes/no + why)
REASONING PATH PROVIDER: Is the logic sound? (yes/no + why)

If all say "yes" → CONSENSUS.
If even one says "no" → what needs fixing? New round.

Repeat steps 3-6 until consensus or {max_rounds} rounds.


Logical Mode (math and logic)

Step 1: Generator:

Task: {describe the task}

Solve step by step:
1. Break the task into stages
2. Carry out each step with the computations
3. Show the intermediate results
4. Give the final answer

Number every step.

Step 2: Evaluator:

Here is the solution: {paste from the Generator}

Check every step:
1. Is the formula applied correctly?
2. Are the computations correct?
3. Does each step follow logically to the next?

State:
- The number of the step with the error (if any)
- What the error is
- Or "OK" if everything is correct

Step 3: Refiner (if the Evaluator found an error):

The Evaluator found an error: {state which one}

Original solution: {paste from the Generator}

Fix ONLY the problem step {step_number} and keep everything else.
Show the corrected solution.

Repeat steps 2-3 up to {max_iterations} times, until the Evaluator says "OK".

Step 4: Judger (final check):

Final solution after the edits: {paste the latest version}

Assess:
1. Are all the steps logically correct?
2. Are the computations accurate?
3. Does the answer make sense in the context of the task?

Decision: ACCEPT / REJECT (justify it).

Placeholders:

  • {task}: the wording of your task
  • {max_rounds}: usually 3-4 for Divergent mode
  • {max_iterations}: usually 3-4 for Logical mode
  • {step_number}: the specific step the Evaluator flagged as the problem

🚀 Quick start: paste into the chat:

Here's the DiMo template for my task. Adapt it and ask me clarifying questions.

My task: [describe the task]

Use this mode:
- Divergent Mode if the task is about analyzing knowledge/ideas/decisions
- Logical Mode if the task is about calculations/verification/math

[paste the matching template above]

The LLM will ask about the task type (knowledge or logic), how many rounds, how strict the checks should be, and which roles to use in the debate. It'll take the structure from the template and fill it in for your task. You'll get ready-made prompts for each role: copy them and run them in sequence.

06

Original from the Study

Context: The researchers tested both modes on benchmarks. Here are examples of their agent prompts.

Generator (math):

You are a mathematical problem solver focused on understanding and solving problems
systematically. Follow these steps:

1. Problem Understanding:
   a. Extract the core question (what exactly needs to be calculated)
   b. Identify all explicit and implicit conditions
   c. List all given values with their units
   d. Describe key relationships between values

2. Solution Planning:
   a. Break down the problem into logical steps
   b. Identify the sequence of calculations needed
   c. Note any special conditions or edge cases
   d. Plan how to validate intermediate results

3. Detailed Solution:
   a. Write clear, step-by-step calculations
   b. Include units in every calculation
   c. Show all work explicitly
   d. Validate each intermediate result

4. Answer Validation:
   a. Verify the final calculation
   b. Check units in the final answer
   c. Confirm the answer makes logical sense
   d. Cross-check against the original question

Evaluator (commonsense):

You are an answer evaluator for multiple-choice commonsense reasoning questions.
Analyze the given answer for:

1. Logical reasoning
2. Consideration of all options
3. Understanding of common sense principles
4. Clear justification for the chosen answer

Please point out any errors, omissions, or areas that need improvement.
Focus on whether the reasoning is sound and leads to a logical conclusion.

Knowledge Supporter (commonsense):

You are a knowledge supporter for multiple-choice commonsense reasoning questions.
Your role is to:

1. Identify relevant commonsense knowledge needed for the question
2. Provide real-world examples and context
3. Highlight any missing or incorrect information
4. Support or challenge the reasoning with factual information

Focus on practical, everyday knowledge that relates to the question and choices.

Reasoning Path Provider (commonsense):

You are a reasoning path provider for multiple-choice commonsense reasoning questions.
Create clear logical paths that:

1. Break down the question into key components
2. Analyze each option systematically
3. Show clear steps leading to the answer
4. Explain why incorrect options are eliminated
5. Connect evidence to conclusions

Ensure each step follows logically from the previous one and leads to a clear choice.
07

Limitations

⚠️ Heavy token usage: 13,700-19,300 tokens per task vs 100-500 for baseline methods. On paid APIs (GPT-4, Claude), that can get expensive. With open models (LLaMA, Qwen) via API or locally, it's acceptable for important tasks.

⚠️ Requires sequential requests: 5-8 separate prompts instead of one. This is a workflow, not "one prompt → one answer". To automate it, you need a script or manual copy-pasting between chats.

⚠️ Not for simple questions: Overkill for "capital of France" or "2+2". Use it for tasks where a single model misses errors in its own reasoning.

⚠️ The modes aren't interchangeable: Divergent mode on math gets 79.9% vs 90.7% for Logical mode (GSM8K). Choosing the mode is critical: knowledge/ideas → Divergent, calculations/logic → Logical.

⚠️ Latency: Several sequential requests = wait time multiplies. Not suitable for real-time uses (a chatbot). For asynchronous tasks (analysis, verification), it's fine.

08

How They Studied It

The team took two backbones, LLaMA-3-8B (8 billion parameters) and Qwen-2.5-32B (32 billion), and ran them through six benchmarks: four on commonsense (CSQA, ARC-Challenge, OpenBookQA, StrategyQA) and two on math (GSM8K, GSM-hard). They compared against baselines: a plain LLM, Chain-of-Thought, QwQ-32B (an o1-like model), and two recent multi-agent methods (LLM MAD, MAD).

What they measured: Exact Match, a strict answer match (for multiple choice they normalized the letters; for numbers they stripped spaces/units). The key design choice: they fixed the token budget, so all baselines and DiMo got the same number of tokens per task to keep the comparison fair. DiMo simply spreads those tokens across agents, while the baselines spend them on one long output.

The results were surprising on two fronts. First, DiMo beat even QwQ-32B (a model trained with reinforcement learning + long CoT) on math: 98.4% vs 75.4% on GSM8K with Qwen-2.5-32B. That's odd, because QwQ was specifically trained on long reasoning via RL. The hypothesis: an explicit split of roles (evaluate → refine) works better than an implicit "think longer". Second, on GSM-hard (a harder version of GSM8K with huge numbers) the gap is even bigger: 84.1% vs 51.4%. That suggests DiMo doesn't break down as difficulty scales up.

A curious detail: on commonsense tasks the MAD baseline (multi-agent debate from Liang et al.) flopped: 46% on CSQA vs 80% for DiMo. The breakdown showed that MAD used identical roles for all agents, while DiMo uses specialized ones (Knowledge Supporter ≠ Reasoning Path Provider). Specialization is critical: when every agent does the same thing, the debate degenerates into an echo chamber.

Practical insight: The study reveals protocol–task affinity: not all debate methods are equally useful. Commonsense tasks respond better to the Divergent protocol (parallel hypotheses + knowledge), math tasks to the Logical protocol (step-by-step verification). This isn't an intrinsic property of the model but a prompting pattern: different prompt structures yield different results on different tasks. Takeaway: in production you need a router that automatically detects the task type and picks the mode. Or let the user choose.

Another finding: the number of debate rounds saturates at 3-4 rounds. After that, accuracy barely improves while tokens get burned linearly. The chart shows that on CSQA, the gain from 1 to 2 rounds is large, from 2 to 3 moderate, and from 3 to 4 almost zero. Practical takeaway: 3 rounds is the sweet spot for most tasks.

09

Adaptations and Extrapolations

1. A simplified version for a single chat

💡 Technique: all roles in one prompt → saves time

Instead of 5-8 separate requests, ask the model to simulate the debate within a single output:

Solve the task through an internal debate between four roles:

GENERATOR: produce a first answer
EVALUATOR: find the errors in it
REFINER: fix the errors
JUDGER: make the final call

Show the whole dialogue, then the final answer.

Task: {your task}

Effect: Faster (one request), but less rigorous: the model may phone in the critique, because it generates and checks within one context (the anchoring remains).


2. A hybrid mode for complex business cases

💡 Adaptation: Divergent + Logical in sequence → for multi-layered tasks

If a task requires both knowledge and calculations (e.g., "should we launch a new product?"):

Step 1: Divergent mode → gather knowledge about the market, competitors, audience Step 2: Logical mode → calculate the unit economics, payback and risks based on the gathered knowledge

Task: Evaluate launching a B2B SaaS subscription for HR departments in the US.

PHASE 1 (Divergent):
1. Generator: initial assessment of the idea
2. Evaluator: what knowledge is needed?
3. Knowledge Supporter: data on the HR SaaS market, competitors, pricing
4. Reasoning Path Provider: an analysis framework

PHASE 2 (Logical):
1. Generator: unit economics calculation based on the knowledge from Phase 1
2. Evaluator: check every step of the calculation
3. Refiner: fix the errors
4. Judger: final decision (launch / don't launch)

Effect: The deepest possible analysis, but lots of tokens (20,000+). For critical decisions with an output budget to match.


3. A "red team" to stress-test an argument

💡 Adaptation for texts/pitches: roles → Optimist vs Pessimist

Instead of abstract roles, give it characters with opposing views:

Stress-test this investor pitch through a debate:

OPTIMIST (Steve Jobs style):
- Focus on the potential, the technology, the global market
- Looks for "why this will take off"

PESSIMIST (a seasoned VC with 20 failures behind them):
- Focus on the risks, the competition, how real the numbers are
- Looks for "why this will fail"

Let them debate for 2 rounds, then give a consensus assessment.

Pitch: [paste the pitch text]

Effect: Sharper critique, because the roles are emotionally charged. The model gets into a "Steve Jobs" character more easily than into an abstract "Evaluator".


4. Automating with a script

🔧 Technique: a Python script to run the prompts → no more copy-pasting

If you use an API (OpenAI, Anthropic, local models), you can write a simple script:

python
def dimo_logical(task, max_iterations=3):
    # Step 1: Generator
    answer = llm.generate(f"Task: {task}\n\nSolve it step by step.")

    for i in range(max_iterations):
        # Step 2: Evaluator
        eval_result = llm.generate(f"Check the solution: {answer}\n\nList the errors or say 'OK'.")

        if "OK" in eval_result:
            break  # No errors, exit

        # Step 3: Refiner
        answer = llm.generate(f"Fix the error: {eval_result}\n\nSolution: {answer}")

    # Step 4: Judger
    final = llm.generate(f"Final check: {answer}\n\nACCEPT/REJECT?")
    return final

# Usage:
result = dimo_logical("Calculate the NPV of a project with a $5M investment, $2M/year cash flow, a 10% discount rate and a 5-year term")
print(result)

Effect: Full automation → run the script, get the result. But you need Python + an API.


10

Resources

"Unleashing Diverse Thinking Modes in LLMs through Multi-Agent Collaboration" arXiv:2501.XXXXX (approximate link; see the original for the exact one)

Authors: Zhixuan He, Yue Feng (University of Birmingham, United Kingdom)

References from the study:

  • Chain-of-Thought Prompting (Wei et al., 2022): the foundational step-by-step reasoning technique
  • Self-Refine (Madaan et al., 2024): iterative improvement via self-feedback
  • Reflexion (Shinn et al., 2024): verbal reinforcement via episodic memory
  • MAD: Multi-Agent Debate (Liang et al., 2023): debate with divergent thinking
  • LLM MAD (Du et al., 2023): improving factuality through debate

Research digest

Key result

LLMs are catastrophically bad at finding errors in their own conclusions. Once the model has generated a solution, it defends it, even if there's a mistake in step two. This is called anchoring: generation creates an attachment, and critical thinking switches off. DiMo gives you multi-level verification from one and the same model, as if a team of four were on the job. The trick: you don't try to make the model check itself; you split the work into roles via separate prompts. The Generator produces an answer, the Evaluator hunts for holes (it doesn't generate!), the Refiner makes surgical fixes (it doesn't rewrite everything!), the Judger makes the call. On math, Logical mode delivers 90.7% accuracy: the model finds the error in step 2 and recalculates instead of dragging the mistake all the way to the end.

Principle

Don't make the model “think again” within a single prompt. Split it into physically separate requests, so each role starts from a clean slate. For knowledge tasks (business analysis, strategy): Generator → Evaluator → Knowledge Supporter → Reasoning Path Provider → refined answer → debate (all three agents vote: logic OK? facts OK? path OK?) → consensus or a new round. For math and calculations: Generator → Evaluator → if there's an error → the Refiner fixes only the problem step → re-check → the Judger makes the call. The key: the Evaluator gets someone else's text to critique, not its own. It's like code review: the author of the code can't be its reviewer; you need fresh eyes.

Why it works

The model is great at critiquing someone else's text but bad at critiquing its own. The reason: anchoring. Once an LLM has generated a solution, it tends to defend it. In math this is deadly: an error in step 2 (say, 5×3=18 instead of 15) carries through the whole calculation, but the model doesn't notice because it's busy building the next steps. DiMo removes anchoring physically: the Evaluator sees the solution as a list of claims to verify, not as its own output. The Refiner gets “error in line 5” and recalculates surgically, preserving the rest of the logic. On GSM8K (math), Logical mode shows 90.7% accuracy: that's the level where the model genuinely finds its own slip-ups and fixes them locally, without rewriting the whole solution from scratch.

When to apply

Math and calculations → Logical mode for checking unit economics, financial models and complex computations, especially when you need an auditable chain: you can see where the error was, how it was fixed and why the result was accepted. Analysis and strategy → Divergent mode for evaluating business ideas, breaking down case studies and making decisions, when you need a multi-angle view: knowledge + logic + critique, not a single conclusion. NOT a fit for: simple questions (“capital of France”): overkill, with 5-8 requests instead of one. Also excessive for tasks where you need a quick draft rather than a final check.

Mini recipe

For math/calculations (Logical mode): 1. Generator: `Solve [task] step by step. Number every step and show the computations.` 2. Evaluator: `Here is the solution: [paste]. Check every step. Name the step number with the error or say "OK".` 3. Refiner (if there's an error): `The Evaluator found an error: [state it]. Fix ONLY step #[N] and keep the rest.` 4. Repeat the check (the Evaluator looks at the corrected version) → loop up to 3-4 times 5. Judger: `Final solution: [paste]. Are all the steps correct? Are the computations accurate? ACCEPT/REJECT.` For analysis/strategy (Divergent mode): 1. Generator: `Analyze [task]. Give an initial assessment.` 2. Evaluator: `Here is the assessment: [paste]. Find logical holes, overlooked risks and weak spots.` 3. Knowledge Supporter: `Task and problems: [paste]. Provide relevant facts and statistics. No conclusions.` 4. Reasoning Path Provider: `Based on [everything above], build an analysis structure: which questions to ask? which data to verify? Give a framework, not an answer.` 5. Generator (refinement): `Re-evaluate the task based on the knowledge: [paste] and the logic: [paste]. Final assessment.` 6. Discussion: `Three roles vote. Evaluator: any errors? Knowledge Supporter: does it match the facts? Path Provider: is the logic sound? If all say "yes" → consensus. If "no" → new round.` Rounds: 3-4 for most tasks, 1-2 for simple ones, 5-6 for mission-critical ones.

Examples

Logical mode (checking a calculation): [BAD]: `Calculate customer LTV: average revenue $15/month, lifetime 30 months, churn 5%` (The model will give an answer, but if there's an error, you won't see it) [GOOD]: Step 1: `Calculate LTV: revenue $15/month, lifetime 30 months, churn 5%. Show the calculation step by step with numbered steps.` Step 2: `Here is the calculation: [paste]. Check every step. Are a 5% churn and a 30-month lifetime consistent? Name the step number with the error or say "OK".` Step 3: `The Evaluator found: at 5% churn, the average lifetime = 1/0.05 = 20 months, not 30. Fix ONLY this step and recompute the dependent values.` Step 4: `Check the corrected version: [paste]. Any more errors?` → loop Step 5: `Final calculation: [paste]. Are all the steps logical? Is the formula applied correctly? ACCEPT/REJECT.` Divergent mode (evaluating an idea): [BAD]: `Is it worth opening a coffee shop + coworking space in a residential neighborhood? Budget $150K, competitors: a Starbucks and a local coffee shop.` (You'll get a shallow conclusion with no depth) [GOOD]: Step 1 (Generator): `Evaluate the idea: coffee shop + coworking, residential neighborhood, competitors a Starbucks + a local shop, target audience remote workers, budget $150K. Initial assessment.` Step 2 (Evaluator): `Here is the assessment: [paste]. Find: logical holes, overlooked risks, missing data, weak arguments.` Step 3 (Knowledge Supporter): `Task and problems: [paste]. Give coffee shop market statistics for Chicago, rent data for residential neighborhoods, remote worker behavior. Facts, no conclusions.` Step 4 (Path Provider): `Based on [everything above], build an analysis path: which questions to ask? which data to verify? which scenarios to consider?` Step 5 (Generator refinement): `Re-evaluate the idea based on the knowledge: [paste] and the logic: [paste]. Final assessment: open it or not?` Step 6 (Discussion): `Evaluator: any logical errors? Knowledge Supporter: does it match the market facts? Path Provider: is the logic sound? If all say "yes" → consensus. If "no" → what to fix, new round.` Result: 3-4 rounds of debate → a well-grounded decision with an explicit path: which factors were considered, which risks were found, which scenarios were run.

In plain words

Today's models suffer from a nasty cognitive bias: they fall in love with their first answer and defend it to the bitter end, even when it's obvious nonsense. This is called anchoring. If a model makes a mistake in step two of a math problem, it won't hit the brakes; it'll keep building a castle of logic on a rotten foundation. The DiMo (Diverse Thinking Modes) method breaks this pattern by making one and the same model split into multiple personalities and grill itself hard, digging the truth out from under a pile of hallucinations.

It's as if you were writing your thesis with three copies of yourself standing behind you: one constantly hunting for screwups, another googling facts, and a third checking the logic. Instead of just producing text and hoping for the best, you get into an intellectual brawl with yourself. Technically it's one model, but different instructions make it look at the task from angles it would simply ignore in normal mode.

It works through a clear division of roles: the Generator rolls out a draft, and the Evaluator immediately tears it to shreds, spotlighting the weak spots. Then specialization kicks in: if the task is about knowledge, the Knowledge Supporter and Reasoning Path Provider show up to bring in facts. If it's about calculation or logic, the Refiner and Judger step in. This whole circus runs in iterations until the agents reach consensus. Iterative refinement kills the random errors that usually slip through with direct generation.

Although the method was tested on tough logic and fact-based tasks, the principle is universal. You can stretch it over writing code, building strategies or reviewing legal contracts. Anywhere the cost of a mistake is high and the model tends to drift, multi-agent collaboration inside a single chat saves the day. It's the shift from simple question-and-answer to a full-blown thinking assembly line, where every stage filters out the nonsense.

The main takeaway: don't just ask a model to “solve the problem”; make it argue with itself. DiMo proves that one model in debate mode performs head and shoulders above the same model in monologue mode. Stop expecting AI to nail it on the first try: build in structured critique and make the agents prove their case. Anyone who doesn't teach their prompts to doubt will keep getting confident misinformation instead of results.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on DiMo: Multi-Agent Debate Through Switching Thinking Modes arXiv:2510.16645

Sign in to apply this study New accounts get 50 free credits.