Skip to content

Multi-agent debate method for paper review #36

Description

@r-uben

Proposal

Add a progressive_debate review method that uses adversarial multi-agent adjudication instead of monolithic consolidation.

Motivation

The current progressive method has the best raw recall (82.7% location recall on the Refine benchmark, 83% on seeded perturbations). But post-hoc consolidation degrades quality — see #35 for evidence. The consolidation step operates on a JSON blob of comments with no access to the paper text, making blind keep/drop decisions.

Design

Three agents, fixed roles:

Agent Job
Reviewer Find issues passage-by-passage (existing progressive pipeline)
Challenger Attack each candidate: find resolving context, cite conventions, flag duplicates
Editor See the debate, render verdict: keep / rewrite / merge / drop

Protocol per candidate issue:

Reviewer proposes → Challenger attacks (with paper context) → Reviewer rebuts → Editor decides

Key differences from current consolidation:

  • Each debate is per-issue, not one global call on all comments
  • Challenger has access to the original passage + running summary
  • Debates are independent and parallelizable
  • Editor makes local decisions (keep/drop/merge) instead of global pruning

What stays the same:

  • Passage splitting, window context, running summary from progressive
  • Comment and ReviewResult models (viz/benchmarks still work)
  • CLI interface (--method debate)

Scope

  • New method_debate.py wrapping progressive's discovery phase
  • 4 new prompts: challenge, rebuttal, verdict, merge-cluster
  • adjudicate_candidates() replaces consolidate_comments()
  • Benchmark against progressive and zero_shot on seeded perturbations

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions