Advanced Reasoning / Self-Improvement

Cumulative Reasoning

Expert [5/5]
CR Iterative reasoning accumulation Progressive inference

Definition

Cumulative Reasoning is an advanced technique where multiple LLM components work together: a proposer suggests reasoning steps, a verifier checks validity, and a reporter determines when enough reasoning has accumulated to answer. This mimics how humans build understanding incrementally.

Unlike single-pass reasoning, CR accumulates verified insights over multiple iterations until confident in the answer.

Key Concepts

  • Proposer: Generates candidate reasoning steps
  • Verifier: Validates proposed steps for correctness
  • Reporter: Decides when accumulated reasoning is sufficient
  • Accumulation: Building up verified conclusions over time

Examples

Process
Cumulative Reasoning Flow
CUMULATIVE REASONING ARCHITECTURE: ┌─────────────────────────────────────────────────┐ │ PROBLEM │ │ "Prove that the sum of two even numbers │ │ is always even" │ └─────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────┐ │ ITERATION 1 │ │ │ │ PROPOSER suggests: │ │ "Let's define even numbers as 2n and 2m" │ │ │ │ VERIFIER checks: │ │ ✓ Valid: Even numbers can be expressed as 2k │ │ │ │ ACCUMULATED: {definition of even numbers} │ │ │ │ REPORTER: Not enough to answer. Continue. │ └─────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────┐ │ ITERATION 2 │ │ │ │ PROPOSER suggests: │ │ "Adding them: 2n + 2m = 2(n + m)" │ │ │ │ VERIFIER checks: │ │ ✓ Valid: Factoring out 2 is algebraically sound │ │ │ │ ACCUMULATED: {definition, sum formula} │ │ │ │ REPORTER: Need to connect to "even" definition. │ └─────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────┐ │ ITERATION 3 │ │ │ │ PROPOSER suggests: │ │ "2(n+m) = 2k where k=(n+m), so result is even" │ │ │ │ VERIFIER checks: │ │ ✓ Valid: Matches definition of even (2×integer) │ │ │ │ ACCUMULATED: {definition, sum, conclusion} │ │ │ │ REPORTER: ✓ Complete! Can form final answer. │ └─────────────────────────────────────────────────┘
Implementation
Cumulative Reasoning Components
CUMULATIVE REASONING IMPLEMENTATION: # Component prompts proposer_prompt = """ Problem: {problem} Previously verified reasoning: {accumulated_context} Propose ONE next logical step that builds on the verified reasoning above. Be specific and atomic. Next step:""" verifier_prompt = """ Problem: {problem} Previously verified facts: {accumulated_context} Proposed new step: {proposed_step} Is this step logically valid? Check for: - Mathematical/logical correctness - Proper use of previous facts - No unsupported assumptions Verdict (VALID/INVALID): Explanation:""" reporter_prompt = """ Problem: {problem} Accumulated verified reasoning: {accumulated_context} Based on the accumulated reasoning, can we now definitively answer the problem? If YES: Provide the final answer If NO: What key insight is still missing? Status:""" # Main loop def cumulative_reasoning(problem, max_iterations=10): accumulated = [] for i in range(max_iterations): # Propose next step context = format_context(accumulated) step = proposer(problem, context) # Verify step verdict = verifier(problem, context, step) if verdict == "VALID": accumulated.append(step) # Check if done status = reporter(problem, format_context(accumulated)) if status.startswith("YES"): return extract_answer(status) return "Could not reach conclusion" ADVANTAGES OVER SINGLE-PASS: ┌─────────────────────────────────────────────────┐ │ Single-pass CoT: │ │ - One attempt to get reasoning right │ │ - Errors propagate through chain │ │ - No verification of intermediate steps │ │ │ │ Cumulative Reasoning: │ │ + Each step independently verified │ │ + Invalid steps rejected, not accumulated │ │ + Knows when confident enough to answer │ │ + Can backtrack implicitly by proposing anew │ └─────────────────────────────────────────────────┘

Interactive Exercise

Design CR Components

Problem: "Is 91 prime?"

Design what each component would do:

Pro Tips
  • Each step should be atomic and independently verifiable
  • The verifier prevents error accumulation in the chain
  • Reporter prevents premature or overconfident conclusions
  • Works best for multi-step logical/mathematical problems

Related Terms