深入解析 ReAct、CoT、ToT 在自主 Agent 中的作用,对比 Voyager、Generative Agents 等系统的记忆与规划模块设计。
一、从「对话」到「行动」:什么是自主智能体?
2022 年之前,LLM 的主流用法是「问答」:用户提问,模型生成答案。这是一种单轮、被动的交互模式。
2023 年之后,以 ReAct、Generative Agents、Voyager 为代表的研究证明:LLM 可以不只生成文字,还可以感知环境、制定计划、执行动作、评估结果,形成完整的感知-推理-行动(Perception→Reasoning→Action)闭环。
这就是自主智能体(Autonomous Agent)的核心定义:
自主智能体 = LLM(大脑)+ 工具调用(手脚)+ 记忆系统(经验)+ 规划模块(决策)
用户指令 → 规划模块(Planning)→ 行动模块(Action)
↑ ↓
记忆系统(Memory) ← 环境反馈(Observation)
论文:Wei et al., 2022, arXiv:2201.11903
核心思想:在给出最终答案之前,先让模型「说出推理过程」。这相当于把 LLM 从「直觉系统」变成「显式推理系统」。
# 没有 CoT
用户:「小明有5个苹果,丢了2个,又买了3个,现在有几个?」
模型:「11个。」 # 直接给答案,容易错
# 有 CoT
用户:「小明有5个苹果,丢了2个,又买了3个,现在有几个?」
模型:「首先,5-2=3;然后3+3=6。所以是6个。」 # 显式步骤
实验证明:CoT 在数学、逻辑、常识推理任务上显著提升性能,且这种能力会在模型规模超过某个阈值(约 100B 参数)后「涌现」。
论文:Yao et al., 2022, arXiv:2210.03629
CoT 的局限:它只生成推理文本,不与环境交互。当环境反馈超出模型预期时,CoT 无法自我修正。
ReAct(Synergizing Reasoning and Acting)将「推理」与「行动」交替进行:
Thought:我需要查一下北京的天气
Action:调用天气 API (city=北京)
Observation:北京今天晴,26°C
Thought:温度较高,我应该提醒用户多喝水
Action:输出文字回复
这种 Thought → Action → Observation → Thought... 的循环,使 Agent 具备了动态修正的能力。实验证明,ReAct 在 HotpotQA(知识问答)和 FEVER(事实核查)任务上,超越了纯推理或纯行动方法。
论文:Yao et al., 2023, arXiv:2305.10601
CoT 是「一条路走到黑」,ToT 则允许 Agent 同时探索多条推理路径,并评估哪条路最有可能通向正确答案。
起点
/ | \
路径A 路径B 路径C ← 三条思考路径并行探索
/ \ / \ / \
... ... ... ... ← 各自延伸
\ /
评估与选择
这本质上是将 LLM 的「生成」能力转化为「有意识的搜索」,类似于 AlphaGo 的蒙特卡洛树搜索(MCTS)。实验表明,ToT 在创意写作、24 点游戏等需要探索的任务上,显著优于 CoT。
论文:Park et al., 2023, arXiv:2304.03442
斯坦福大学 HAI 实验室的工作,发表在 UIST 2023。研究者构建了一个名为「Smallville」的虚拟小镇,部署了 25 个基于 LLM 的生成式智能体(Generative Agents)。
核心机制:
实验证明:这些 Agent 能自发产生「周五晚上办派对」这样的社会行为——没有人告诉它们该这么做,是 Agent 之间基于彼此记忆的交互自然涌现的结果。
意义:这说明当 Agent 具备记忆和反思能力时,集体行为可以从个体规则的交互中涌现——这是复杂系统研究中的经典主题,也是让 AI 模拟人类社会行为的第一步。
Voyager 是第一个基于 LLM 的、能在 Minecraft 中持续学习和探索的智能体系统。其核心创新是三层架构:
┌─────────────────────────────────────────┐
│ 技能库(Skill Library) │
│ 成功解决问题的代码模式,永久存储复用 │
├─────────────────────────────────────────┤
│ 持续学习循环(Curriculum Learning) │
│ 自动生成「刚好超出能力范围」的新任务 │
├─────────────────────────────────────────┤
│ 提示生成器(Prompt Generator) │
│ 根据当前状态生成引导性文字提示 │
└─────────────────────────────────────────┘
Voyager 在 Minecraft 中解锁了 248 种不同技能,表现远超基于强化学习的基准系统(如 DreamerV3)。关键在于:它不仅完成一次性任务,还在过程中积累可复用的技能库——这正是人类学习的方式。
论文:Li et al., 2023, arXiv:2303.17760
CAMEL(Communicative Agents for "Mind" Exploration of Large Language Model Society)探索了多智能体协作的可能性。
架构:两个 Agent——助手(Assistant)和用户(User)——通过自然语言对话协作完成复杂任务。例如,让它们自主谈判出一个双方都认可的商业计划,而不需要人类在中间调解。
CAMEL 的一个重要发现是:即使没有明确的指令,Agent 也能通过对话涌现出复杂的协作策略——这为多 Agent 系统研究打开了新的大门。
一个 Agent 如果只能「说话」,能力就极其有限。真正让 Agent 有用的是工具调用(Tool Use)能力。
Toolformer(Schick et al., 2023)证明:LLM 可以自主学会调用工具,而不需要人类显式教导。这相当于让模型自己发现「可以用计算器来算数学题」,而不只是用语言模型硬算。
Agent 执行多步任务时,第一步的轻微错误会像滚雪球一样,在后续步骤中被放大为严重偏离。ReAct 和 ToT 提供了部分缓解,但无法根除。
当前 Agent 在短序列任务(5-10 步)上表现尚可,但当任务需要上百步时,Agent 容易陷入「重复探索」或「遗忘子目标」的困境。
现有 Agent 的记忆多为简单的文本检索,缺乏对记忆重要性的评估能力。Generative Agents 的反思机制是朝正确方向的一步,但计算成本高、效果不稳定。
一个能自主行动的 Agent,如果目标设定不当,后果远比一个「只会聊天」的模型严重得多。这就是为什么安全对齐(Safety Alignment)研究与 Agent 研究必须并行推进。
Wei, J., et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903. DOI
Yao, S., et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629. DOI
Yao, S., et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601. DOI
Park, J.S., et al. (2023). Generative Agents: Interactive Simulacra of Human Behavior. arXiv:2304.03442. DOI
Li, G., et al. (2023). CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society. arXiv:2303.17760. DOI
Liu, S., et al. (2024). Odyssey: Empowering Minecraft Agents with Open-World Skills. arXiv:2407.15325. DOI
Schick, J., et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761. DOI