ReAct

让大模型边想边做,用工具解决复杂任务

ReAct 是一个来自 ICLR 2023 的研究项目,核心思想是让大语言模型在推理(Reasoning)和行动(Acting)之间交替进行,从而解决复杂任务。传统语言模型要么只做推理(如 Chain-of-Thought),要么只做行动(如使用工具),而 ReAct 将两者结合:模型在思考时生成自然语言推理轨迹,同时根据推理结果调用外部工具(如搜索引擎、数据库)获取信息,再基于新信息继续推理,形成“思考-行动-观察”的循环。这个项目提供了完整的代码实现和实验脚本,支持在多种基准任务上复现论文结果,包括问答(HotpotQA)、事实核查(Fever)和交互式决策(ALFWorld)。它解决了纯推理模型缺乏实时知识、纯行动模型缺乏规划能力的问题,显著提升了模型在需要多步推理和外部信息获取的任务上的表现。核心能力包括:灵活的推理与工具调用接口、与 OpenAI API 的集成、以及多种提示模板的示例。

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

项目数据

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

使用教程

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

环境要求

  • Python 环境与 Jupyter Notebook(README 以 .ipynb 方式运行)
  • OpenAI API Key,并设置为环境变量 OPENAI_API_KEY
  • 安装 openai 包
  • 如需运行 ALFWorld 实验,需按 alfworld 官方仓库说明安装 alfworld

安装与启动步骤

  1. 1获取项目代码

    克隆 ReAct 仓库到本地,进入目录后打开其中的 notebook 文件。

    git clone https://github.com/ysymyth/ReAct.git
    cd ReAct
  2. 2配置 API Key

    把 OpenAI API Key 写入环境变量 OPENAI_API_KEY,README 明确要求用该变量名。

    export OPENAI_API_KEY=sk-xxxxxxxx
  3. 3安装 openai 包

    README 指定包依赖为 openai,用 pip 安装即可。

    pip install openai
  4. 4安装 alfworld(可选)

    只有跑 alfworld.ipynb 才需要,按 alfworld 官方仓库的说明安装。

  5. 5运行实验 notebook

    启动 Jupyter,依次运行 hotpotqa、fever、alfworld 或 webshop 的 ipynb 脚本。

    jupyter notebook

关键配置

配置项必填说明示例
OPENAI_API_KEY是OpenAI API 密钥,供 notebook 调用 GPT-3 模型使用sk-xxxxxxxx

如何确认成功

notebook 中各单元能正常跑完并输出 HotpotQA/FEVER 的 EM 等评测指标,即表示配置成功。

常见问题

Q:必须用 OpenAI API Key 吗?

A:是,README 明确要求先准备 OpenAI API Key 并存入环境变量 OPENAI_API_KEY,notebook 依赖它调用模型。

Q:不装 alfworld 能跑吗?

A:可以,alfworld 只服务于 ALFWorld 实验;HotpotQA、FEVER、WebShop 的 notebook 不需要它。

Q:为什么只跑 500 条样本?

A:README 说明 HotpotQA 和 FEVER 验证集很大,因此只随机取 500 条样本运行。

Q:没有官网和详细文档怎么办?

A:README 信息有限,遇到问题可参考论文与 LangChain 的 zero-shot ReAct Agent 文档。

注意事项

  • README 未给出具体 Python 版本要求,建议使用较新的 Python 3 环境。
  • 环境变量 OPENAI_API_KEY 需在运行 Jupyter 的同一终端中设置,否则 notebook 读不到。
  • 更换其他任务时,README 建议尝试 LangChain 的 zero-shot ReAct Agent。
  • 评测结果参考 README 表格:PaLM 与 GPT-3 在不同任务上表现各有优势。

核心亮点

  • 开创性地将推理轨迹和行动交替结合,显著提升多步推理和知识密集型任务的准确率
  • 代码结构清晰,提供完整的实验配置和提示模板,便于复现和二次开发
  • 支持多种任务场景(问答、事实核查、决策),通用性强

不足之处

  • 依赖外部工具(如搜索引擎)的可用性和响应质量,在无网络环境受限
  • 文档以论文和代码注释为主,缺乏系统的使用指南,上手门槛较高

适用场景

  • 需要实时知识检索的复杂问答系统
  • 需要多步规划与工具调用的智能体开发
  • 研究推理与行动结合机制的学术实验

替代项目

Toolformer、WebGPT、SayCan

项目介绍

ReAct 是开发框架领域的开源项目,由 ysymyth 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(4,186)位列前 10%,在开发框架分类的 803 个项目里位列前 12%。

近 42 天,它的 GitHub 星标从 4,107 增加到 4,186,净增 79。

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

它主要面向的使用场景是:需要实时知识检索的复杂问答系统。同类可对比的替代方案包括 Toolformer、WebGPT、SayCan。

上一篇:LMOps

下一篇:all-agentic-architectures

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12