reflexion

让大模型从错误中学习,自动迭代改进任务表现

Reflexion 是一个来自 NeurIPS 2023 的研究框架,旨在通过语言反馈强化智能体的决策能力。它解决的是大语言模型在复杂任务中缺乏自我反思和迭代改进的问题。核心能力包括:将任务执行结果转化为自然语言反馈,并存储到记忆缓冲中,供后续尝试参考;支持多种任务类型,如代码生成、问答推理和决策制定;提供与 OpenAI API 的集成,便于快速实验。框架通过“行动-反馈-反思-重试”的循环,显著提升模型在失败后的自我修正能力,无需额外训练或微调。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3285
维护状态 低维护
是否开源
定价模式 free

项目数据

分类开源模型
开发团队noahshinn
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源
开源协议MIT
主要语言Python
技术栈/模型ai,artificial-intelligence,llm
GitHub 星标★ 3285
30天Star增速
HF 下载量
上线时间2023-03-22 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 15 分钟 部署方式:本地安装 7 步

环境要求

  • Python 环境(可执行 pip)
  • Git(用于克隆仓库)
  • OpenAI API Key(需设置 OPENAI_API_KEY)
  • 能运行 Jupyter Notebook 的环境(HotPotQA 实验)
  • 支持 Bash 的运行环境(AlfWorld 实验需执行 .sh 脚本)

安装与启动步骤

  1. 1克隆仓库

    克隆 reflexion 仓库并进入 HotPotQA 运行目录,后续所有命令都在该目录下执行。

    git clone https://github.com/noahshinn/reflexion && cd ./reflexion/hotpotqa_runs
  2. 2安装依赖

    安装 hotpotqa_runs 目录下 requirements.txt 中声明的模块依赖到当前 Python 环境。

    pip install -r requirements.txt
  3. 3设置API密钥

    把环境变量 OPENAI_API_KEY 设为你的 OpenAI API Key,框架依赖它调用模型。

    export OPENAI_API_KEY=sk-xxxxxxxx
  4. 4运行推理论实验

    打开对应 agent 类型的 notebook 运行实验:ReAct、CoT_context、CoT_no_context 三选一,每个实验随机抽 100 道 HotPotQA 题。

  5. 5进入决策实验目录

    AlfWorld 决策实验在 alfworld_runs 目录下进行,先克隆仓库并切换过去。

    git clone https://github.com/noahshinn/reflexion && cd ./reflexion/alfworld_runs
  6. 6配置运行参数

    编辑 ./run_reflexion.sh,设置 num_trials、num_envs、run_name、use_memory 等参数后再运行。

  7. 7启动决策实验

    执行脚本开始 AlfWorld 的迭代学习实验,日志会写入 ./root/

    ./run_reflexion.sh

关键配置

配置项必填说明示例
OPENAI_API_KEYOpenAI API 密钥,框架调用模型必需sk-xxxxxxxx
num_trials迭代学习(尝试)的步数5
num_envs每个 trial 使用的任务-环境对数量6
run_name本次运行的名称,决定日志输出目录名reflexion_run
use_memory是否使用持久化记忆存储自我反思,关闭即为基线运行True
resume_dir用于恢复上一次运行的日志目录./root/reflexion_run

如何确认成功

AlfWorld 实验运行后查看 ./root/ 下生成的日志;HotPotQA 实验直接在 notebook 中查看各题结果。

常见问题

Q:没有 OpenAI API Key 能跑吗?

A:不能。README 明确要求设置 OPENAI_API_KEY 环境变量,框架通过 OpenAI API 进行模型调用。

Q:怎么做基线对比实验?

A:在 ./run_reflexion.sh 中把 use_memory 设为关闭,即不使用持久化记忆存储自我反思,即为基线运行。

Q:运行中断了怎么继续?

A:把 is_resume 设为使用日志目录恢复上次运行,并将 resume_dir 指向上次的日志目录、start_trial_num 设为起始 trial 序号。

Q:HotPotQA 实验要跑几次?

A:每个实验由 HotPotQA distractor 数据集随机抽样的 100 道题组成,每题由指定 agent 类型配合 reflexion 策略尝试一次。

注意事项

  • README 原文的克隆命令为 git clone ... && cd ./hotpotqa_runs,实际需先进入克隆出的 reflexion 目录,本教程已按可用路径修正。
  • AlfWorld 决策实验的前置运行环境安装说明 README 未给出,需要自行准备好可运行的环境与任务数据。
  • API Key 建议用环境变量方式临时设置,不要写进代码或提交到仓库。
  • notebook 与日志(./root/)中包含实验结果,注意保存路径便于后续恢复运行。

核心亮点

  • 提出 verbal RL 新范式,无需微调即可提升模型性能
  • 支持代码、推理、决策等多任务场景,通用性强
  • 代码结构清晰,易于集成到现有 LLM 工作流

不足之处

  • 依赖外部反馈信号,需人工或环境提供质量评估
  • 多次迭代会增加 API 调用成本,实时性受限

适用场景

  • 代码生成与修复:根据测试结果自动修正代码错误
  • 复杂推理任务:如数学题、逻辑问答的逐步改进
  • 交互式决策:如游戏或模拟环境中的策略调整

替代项目

Self-Refine、CRITIC、ReAct

项目介绍

reflexion 是智能体领域的开源项目,由 noahshinn 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(3,285)位列前 30%,在智能体分类的 2,499 个项目里位列前 13%。

近 42 天,它的 GitHub 星标从 3,228 增加到 3,285,净增 57。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:代码生成与修复:根据测试结果自动修正代码错误。同类可对比的替代方案包括 Self-Refine、CRITIC、ReAct。

上一篇:dbhub

下一篇:LLMAgentPapers

同类项目推荐

xinchao-dynamic-mind 开源

给 AI 装上疲惫和欲望,让交互更真实

独立、可自托管的 AI 动态心智状态引擎:驱动力、念头池、疲惫、睡眠与意图。

★ 195 2026-08-09
deepseek-harness 开源

把 AI 能力拆成乐高积木,拼出你的专属智能体。

DeepSeek Harness: Everything is a Plugin.

★ 233327 2026-08-15
EvoAgentX 开源

让 AI 智能体自己迭代变强,越用越聪明

EvoAgentX: Building a Self-Evolving Ecosystem of AI Agents

★ 3351 2026-09-12
AutoGPT 开源

开箱即用的 AI 员工,交代任务就自己干完

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mis···

★ 187492 2026-08-09