agent-readings / Reasoning, Acting, and Reflection
Verbal feedback as cross-trial agent memory
The one sentence
Reflexion makes agent learning a runtime data problem rather than only a training problem: trajectories, evaluator signals, reflections, and memory windows become first-class state.
Before this paper
LLM agents could act in environments using prompting, but mostly learned from in-context examples rather than from their own failed trials.
Traditional reinforcement learning can learn from reward, but often requires many samples and expensive model updates.
Scalar rewards provide weak credit assignment for long language-agent trajectories.
The paper asks whether agents can improve over repeated attempts by converting feedback into natural-language experience summaries and reusing those summaries as memory.
Core idea
Run the agent for a task attempt, evaluate the trajectory, generate a natural-language reflection from the feedback and trajectory, append that reflection to memory, and retry with the memory in context until success or a trial limit.
Generate an initial trajectory with an Actor such as ReAct or CoT.
Evaluate the result with task-specific feedback.
Ask the Self-Reflection model to convert feedback and trajectory into a useful lesson.
Store the reflection in memory.
Action grammar
Actor: the LLM policy that emits text, actions, or code conditioned on observations and memory.
Evaluator: an environment, heuristic, exact-match grader, test runner, compiler, or LLM that scores the trajectory.
Self-reflection: an LLM-generated verbal summary of the failure mode or lesson.
Memory: a bounded buffer of previous reflections, usually 1-3 experiences in the paper's setups.
Executable shape
Evidence
The paper defines Reflexion as verbal reinforcement where an agent reflects on task feedback, stores reflective text in memory, and conditions future trials on that memory...
Reflexion uses an Actor to generate text/actions, an Evaluator to score trajectories, a Self-Reflection model to generate verbal cues, and short/long-term memory. The paper...
On 134 ALFWorld tasks, ReAct + Reflexion completes 130 of 134 tasks using the simple heuristic, and the paper summarizes an absolute 22% improvement over strong baselines in 12...
The paper reports Reflexion outperforms CoT-only, ReAct-only, and CoT(GT)-only baselines across several learning steps on 100 HotPotQA questions, and summarizes a 20% reasoning...
Claim map
Reflexion reinforces an agent through verbal self-reflection stored in memory rather than through weight updates.
The framework decomposes learning into Actor, Evaluator, Self-Reflection, and memory components.
On ALFWorld, ReAct plus Reflexion solves far more tasks than ReAct alone over repeated trials.
On HotPotQA, Reflexion improves both CoT-style reasoning and ReAct-style retrieval/reasoning over repeated attempts.
Agent infrastructure
Reflexion makes failed trajectories reusable data. A runtime should persist trajectory, evaluator result, reflection text, and retry attempt together.
Feedback amplification is a separate component: scalar reward or binary failure is not enough unless converted into an actionable memory item.
Reflection memory needs lifecycle rules: size limits, replacement, retrieval, and stale or misleading lessons become correctness concerns.
External evaluators matter. Exact match, environment completion, compiler logs, and unit tests all create different reflection quality and failure...
Caveats
Reflexion is not gradient-based reinforcement learning and does not update model weights.
The method depends on the LLM's self-evaluation or on task heuristics; poor feedback can produce poor reflections.
The memory window is small in the paper's experiments, usually 1-3 reflections, and can lose useful history.
Repeated retries increase cost and can still converge to non-optimal local behavior.
Run it
No PoC yet - contributions welcome. A useful local PoC would run a toy ReAct-like agent on deterministic text tasks, persist failed trajectories plus reflection notes, and compare first-attempt vs retry success.