FlashPapers
Verbal Reinforcement Learning

Reflexion: Language Agents with Verbal Reinforcement Learning

Authors: Noah Shinn, Federico Cassano, Edward Berman, Ashwin Gopinath, Karthik Narasimhan, Shunyu Yao | Venue: arXiv Oct 2023

"Reflexion agents reinforce language skills not by updating model weights, but through natural language feedback. By verbally reflecting on failures and storing these insights in a text-based memory buffer, agents achieve rapid, trial-and-error learning."

91.0% Pass@1 on HumanEval +22% on AlfWorld +20% on HotPotQA Zero Weight Updates

Why This Matters

Large Language Models (LLMs) excel at generating text, code, and reasoning steps, but they struggle to learn dynamically from their environment. Traditional Reinforcement Learning (RL) updates the model's weights via gradient descent. This is incredibly expensive, requires massive datasets, and is highly impractical for trillion-parameter models.

Instead of modifying billions of weights, why not let the agent learn like a human? When we make a mistake, we don't rewire our brain's physical synapses immediately; we reflect on what went wrong, write down a mental note, and try again with a better plan. Reflexion brings this exact paradigm to autonomous LLM agents.

The Big Idea

Reflexion is a lightweight framework that reinforces language agents through verbal feedback. Instead of backpropagating scalar rewards, Reflexion converts environment feedback (like unit test failures or execution halts) into rich, natural language summaries. These self-reflections are stored in a sliding-window episodic memory buffer, serving as a "semantic gradient" that guides the agent's behavior in subsequent attempts.

How It Works

Reflexion splits the agent into three distinct, cooperating modules: the Actor, the Evaluator, and the Self-Reflection engine.

Interactive Widget 1: Architecture Diagram

Click components to inspect
Environment Actor (Ma) Generates Actions Evaluator (Me) Scores Trajectory Self-Reflection (Msr) Generates Feedback Memory Buffer Episodic (Ω limit) Observation Action Trajectory Score Verbal Feedback Context

Component Details

Click any component to inspect its role.

The Reflexion loop operates iteratively. Click on the Actor, Evaluator, Self-Reflection, or Memory Buffer blocks to see how they process information.

1. The Actor ($M_a$)

Generates text and actions conditioned on the state observations and the episodic memory. Often instantiated using prompt styles like CoT (Chain-of-Thought) or ReAct.

2. The Evaluator ($M_e$)

Scores the Actor's output. Depending on the task, this can be an exact-match metric (for QA), a compiler/unit-test suite (for coding), or an LLM-based heuristic (for decision-making).

3. The Self-Reflection Engine ($M_{sr}$)

An LLM prompted to perform credit assignment. It analyzes the failed trajectory and score to write specific, actionable advice explaining *why* the attempt failed and *how* to fix it.

Interactive Widget 2: Step-by-Step Simulator

Step through a real Reflexion execution trace

1. Trial #1 (Fail) 2. Self-Reflection 3. Trial #2 (Success)
Status: FAILED Trial 1 / 2

Results & Performance

Reflexion sets state-of-the-art results on several challenging benchmarks. By allowing the agent to evaluate its own code via unit tests or its own decisions via heuristics, it rapidly climbs the accuracy curve over subsequent trials.

Interactive Widget 3: Benchmark Explorer

Toggle benchmarks to compare Reflexion vs. Baselines

HumanEval (Python) - Pass@1 GPT-4: 80.1%Reflexion: 91.0%
GPT-4 (80.1%)
Reflexion (+10.9%)
HumanEval (Rust) - Pass@1 GPT-4: 60.0%Reflexion: 68.0%
GPT-4 (60.0%)
Reflexion (+8.0%)
Leetcode Hard (Python) - Pass@1 GPT-4: 7.5%Reflexion: 15.0%
GPT-4 (7.5%)
Reflexion (+7.5%)

Note: Leetcode Hard consists of 40 highly complex problems released after GPT-4's cutoff date.

Limitations & Open Questions

While Reflexion represents a significant leap forward, the authors highlight several boundaries:

  • Local Minima: Agents can get stuck in non-optimal loops if the self-reflections fail to suggest creative alternatives (e.g., on WebShop).
  • Memory Constraints: Long-term memory is bounded by the context window ($\Omega$ is typically capped at 1-3 reflections). Future work points to using vector databases or SQL databases to scale memory.
  • Evaluation Quality: The framework depends heavily on the accuracy of the Evaluator. If unit tests are flaky or LLM self-evaluations are biased, the agent may optimize for false positives.

Glossary

Credit Assignment Problem

The difficulty in determining which specific action(s) in a long sequence of decisions led to the ultimate success or failure. Reflexion solves this by using LLMs to verbally deduce which steps were flawed.

Episodic Memory Buffer

A storage mechanism that holds records of past trials. In Reflexion, this holds the natural language self-reflections of previous failures to guide the agent in subsequent trials.

Pass@1 Accuracy

A metric evaluating whether the first generated code block passes all hidden unit tests. Reflexion achieves high pass@1 rates because it iteratively debugs internally before submitting.

Citation

@article{shinn2023reflexion,
  title={Reflexion: Language Agents with Verbal Reinforcement Learning},
  author={Shinn, Noah and Cassano, Federico and Berman, Edward and Gopinath, Ashwin and Narasimhan, Karthik and Yao, Shunyu},
  journal={arXiv preprint arXiv:2303.11366},
  year={2023}
}
Made with Flash Papers — make your own