LLM + 工具 + 记忆 + 反思 —— 构建自主研究和决策的智能体
Google DeepMind 2022 年提出,是目前所有 Agent 的基础范式。核心思想:推理和行动交替进行,形成自我纠正的闭环。
循环直到得出 Final Answer 或达到步数上限
任务:LangGraph 最新版本是多少?支持哪些 Python 版本?
Step 1:
Thought: 我需要搜索 LangGraph 的最新版本信息
Action: search("LangGraph latest version 2026")
Observation: LangGraph 1.2.0 released, supports Python 3.10-3.13
Step 2:
Thought: 已获取版本和 Python 支持信息,数据齐全
Final Answer: LangGraph 最新版 1.2.0,支持 Python 3.10-3.13
LLM 不是接到任务就直接执行,而是先规划步骤,再按计划行动。就像人类接到复杂任务时先列清单。
LLM 在每步 Thought 中自然形成规划,但不显式列出。边想边做。
| 优点 | 缺点 |
|---|---|
| 延迟低 | 复杂任务容易丢失方向 |
| Token 消耗少 | 可解释性弱 |
| 适应变化灵活 | 无全局视图 |
先生成完整计划,再逐步执行。执行中可修订计划。
| 优点 | 缺点 |
|---|---|
| 路线清晰可见 | 首次延迟高 |
| 适合复杂多步任务 | Token 消耗多 |
| 可解释性强 | 计划可能过时需修订 |
LLM 不执行工具,只声明"调用哪个函数、传什么参数"。Agent 框架负责实际执行并反馈结果。
name唯一标识符
如 search, calculator
description何时使用此工具
LLM 根据描述决定选哪个
inputSchema参数 JSON Schema
定义参数类型和必填项
{
"role": "assistant",
"tool_calls": [{
"id": "call_abc123",
"type": "function",
"function": {
"name": "search",
"arguments": "{\"query\": \"LangGraph latest version\"}"
}
}]
}
让 Agent 从"做完"到"做好"的关键机制。类比代码 Review:写代码 → 审查 → 发现问题 → 修改 → 再审查。
| 维度 | 检查内容 | 扣分条件 |
|---|---|---|
| 1. 事实准确性 | 数据是否有来源支撑? | 缺少来源标注 |
| 2. 结构完整性 | 是否有标题、正文、结论? | 结构缺失 |
| 3. 内容丰富度 | 小节数是否足够? | 少于 4 个小节 |
| 4. 主题相关性 | 是否回应了原始任务? | 关键词匹配不足 |
| 5. 细节充分度 | 内容是否充分展开? | 少于 500 字符 |
MAX_REFLECTION_ROUNDS = 3(最多修改 3 轮)PASS_THRESHOLD = 7(评分 >= 7 自动通过)Planning Loop: Plan → Execute → Observe
def run(task):
plan = self.plan(task) # 1. 规划阶段
for step in plan.steps: # 2. 执行循环
while not step.completed:
thought = self.think() # ReAct 推理
action = self.decide() # Tool Calling
observation = self.exec()# 执行工具
self.remember(...) # 存入记忆
if step.should_reflect: # 3. 反思阶段
review = self.reflect()
if not review.passed:
step.revise() # 修改后重做
| 阶段 | 主题 | 新增能力 | 运行方式 |
|---|---|---|---|
| Phase 1 | 基础 Research Agent | ReAct 循环 · 模拟搜索 · 自动报告生成 | python agent_demo.py --phase 1 |
| Phase 2 | + 记忆系统 | 短期对话记忆 · 长期知识记忆 · 上下文压缩 | python agent_demo.py --phase 2 |
| Phase 3 | + 反思机制 | 5 维度自审评分 · 问题检测 · 自动修改循环 | python agent_demo.py --phase 3 |
--- 反思第 1 轮 ---
评分: 1/10
问题: [缺少来源标注, 缺少结论, 内容不丰富, 报告过短]
❌ 不通过 → 自动修改
--- 反思第 2 轮 ---
评分: 6/10
问题: [内容不丰富, 报告过短]
❌ 不通过 → 再次修改
--- 反思第 3 轮 ---
评分: 6/10
⚠️ 达到最大修改轮次 (3),停止反思
最终评分: 6/10
注意:Demo 的 revise 是简化版(添加结构元素),生产级应用需要让 LLM 进行真正的文本修改。
| 模式 | 核心循环 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| ReAct | Think → Act → Observe | 简单可靠 | 复杂任务容易迷路 | 搜索、问答 |
| Plan-Execute | Plan → Execute | 路线清晰 | 计划可能过时 | 多步工作流 |
| ReWOO | Plan → Tool → Solve | 减少 LLM 调用 | 缺少中间纠正 | Token 敏感的批量任务 |
| Reflexion | ReAct + Reflection | 质量高 | 延迟和成本翻倍 | 需要高品质输出 |
| Multi-Agent | 多角色协作 | 专业化分工 | 协调开销大 | 复杂项目 |
任务复杂度?
│
├── 简单(1-2 步)→ 直接 ReAct
│
├── 中等(3-5 步)→ ReAct + Reflection
│
└── 复杂(> 5 步或有子任务)
│
├── 子任务独立 → Multi-Agent(Supervisor 模式)
└── 子任务有依赖 → Plan-Execute + Reflection
| 框架 | 定位 | 何时用 |
|---|---|---|
| MCP | Tool Calling 标准化协议 | 需要跨平台复用工具时 |
| LangGraph | Agent 图编排框架 | 需要精确控制 Agent 流程时 |
| CrewAI | 高层 Multi-Agent 抽象 | 快速搭建多 Agent 协作时 |