
reflexion
让大模型从错误中学习,自动迭代改进任务表现
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3414
技术标签
使用教程
环境要求
- Python 环境(可执行 pip)
- Git(用于克隆仓库)
- OpenAI API Key(需设置 OPENAI_API_KEY)
- 能运行 Jupyter Notebook 的环境(HotPotQA 实验)
- 支持 Bash 的运行环境(AlfWorld 实验需执行 .sh 脚本)
安装与启动步骤
-
1克隆仓库
克隆 reflexion 仓库并进入 HotPotQA 运行目录,后续所有命令都在该目录下执行。
git clone https://github.com/noahshinn/reflexion && cd ./reflexion/hotpotqa_runs -
2安装依赖
安装 hotpotqa_runs 目录下 requirements.txt 中声明的模块依赖到当前 Python 环境。
pip install -r requirements.txt -
3设置API密钥
把环境变量 OPENAI_API_KEY 设为你的 OpenAI API Key,框架依赖它调用模型。
export OPENAI_API_KEY=sk-xxxxxxxx -
4运行推理论实验
打开对应 agent 类型的 notebook 运行实验:ReAct、CoT_context、CoT_no_context 三选一,每个实验随机抽 100 道 HotPotQA 题。
-
5进入决策实验目录
AlfWorld 决策实验在 alfworld_runs 目录下进行,先克隆仓库并切换过去。
git clone https://github.com/noahshinn/reflexion && cd ./reflexion/alfworld_runs -
6配置运行参数
编辑 ./run_reflexion.sh,设置 num_trials、num_envs、run_name、use_memory 等参数后再运行。
-
7启动决策实验
执行脚本开始 AlfWorld 的迭代学习实验,日志会写入 ./root/<run_name>。
./run_reflexion.sh
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | OpenAI API 密钥,框架调用模型必需 | sk-xxxxxxxx |
num_trials | 是 | 迭代学习(尝试)的步数 | 5 |
num_envs | 是 | 每个 trial 使用的任务-环境对数量 | 6 |
run_name | 是 | 本次运行的名称,决定日志输出目录名 | reflexion_run |
use_memory | 否 | 是否使用持久化记忆存储自我反思,关闭即为基线运行 | True |
resume_dir | 否 | 用于恢复上一次运行的日志目录 | ./root/reflexion_run |
如何确认成功
AlfWorld 实验运行后查看 ./root/<run_name> 下生成的日志;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/<run_name>)中包含实验结果,注意保存路径便于后续恢复运行。
核心亮点
- 提出 verbal RL 新范式,无需微调即可提升模型性能
- 支持代码、推理、决策等多任务场景,通用性强
- 代码结构清晰,易于集成到现有 LLM 工作流
不足之处
- 依赖外部反馈信号,需人工或环境提供质量评估
- 多次迭代会增加 API 调用成本,实时性受限
适用场景
- 代码生成与修复:根据测试结果自动修正代码错误
- 复杂推理任务:如数学题、逻辑问答的逐步改进
- 交互式决策:如游戏或模拟环境中的策略调整
替代项目
Self-Refine、CRITIC、ReAct
上一篇:dbhub
下一篇:LLMAgentPapers
同类项目推荐
DeepSeekGUI
开源
把 DeepSeek 智能体装进桌面,聊天、改代码、管 Git 一站搞定
基于 DeepSeek Harness(DSH)的稳定桌面端,集成Git、内置浏览器与记忆功能 | DeepSeek H···
iloveAgents
开源
发现社区最棒的 AI 智能体,快速上手开发
AI agents worth falling in love with. Built by the community, loved by everyone.❤️
agent-plugins-spec
开源
统一智能体插件格式,让扩展一次打包到处运行
Agent Plugins — An open standard for packaging agent extensions as distributable pl···
ai-pdf-chatbot-langchain
开源
合同报告丢进去,想问哪页问哪页,秒出答案
AI PDF chatbot agent built with LangChain & LangGraph
Raven
开源
让 AI 代理记住一切,越用越聪明,自动完成深度研究。
The Harness of Harnesses • Super Agent: a trusted, persistent, self-evolving multi-···
goose
开源
让AI直接动手干活,从写代码到跑测试全自动
an open source, extensible AI agent that goes beyond code suggestions - install, exe···
matrix-core
开源
用 Go 打造能干活、会付钱的自主 AI 智能体
A stateful AI operating system for serious, long-horizon work.
paxm
开源
给 AI 编码代理装上持久记忆,跨工具不丢上下文。
Persistent, provider-neutral memory for Codex, Claude Code, OpenCode, Pi, and MCP co···
UnrealGenAISupport
开源
在虚幻引擎里一键接入 GPT、Claude 等大模型,快速打造智能 NPC 和生成式玩法。
Unreal Engine plugin for LLM/GenAI models & MCP UE5 server. OpenAI GPT-5, Deepseek R···