1. Agent 与 Workflow 的区别
本质区别:决策权归属。
| Workflow | Agent | |
|---|---|---|
| 下一步由谁决定 | 开发者预先定义 | LLM 动态决定 |
| 流程 | 提前把流程写死 | 根据当前情况继续决策 |
| 特点 | 确定性高、好控制 | 灵活,但不易控制 |
2. 设计模式
2.1 ReAct(Reasoning + Acting)
定义: 推理和行动交替进行。
- Thought:分析情况,写出推理过程。
- Action:根据思考结论选择工具和参数。
- Observation:工具反馈结果给 LLM,进入下一轮 Thought。
2.2 Plan-and-Execute(规划 / 执行分开)
定义: 一个 LLM 负责规划,输出完整步骤列表;另一个负责执行。
- 动态重规划: 每一步收到反馈后,调整计划。
2.3 Reflection(反思)
定义: Agent 完成一步或整个任务后,由 LLM Review:
- 执行结果。
- 执行过程 / 决策。
进而通过 Reflexion 生成反思总结、失败原因和改进建议。
flowchart TB
A["完成一步或整个任务"] --> B["LLM Review"]
B --> C["执行结果"]
B --> D["决策 / 执行过程"]
C --> E["Reflexion:反思总结"]
D --> E
E --> F["失败原因与改进建议"]
3. 三种模式怎么选?
| 任务特征 | 选择 |
|---|---|
| 步骤不多,每步相对独立 | ReAct |
| 复杂,多步骤之间有依赖 | Plan-and-Execute |
| 要求高,需要反馈与纠错 | 加入 Reflection |