第七章:模式总览
前六章把旅游助手从一次 API 调用推到了 Agent Loop。 现在它能根据观察选下一步,但新的问题也出来了:
- 输出看着对,实际有错。
- 查一次资料不够。
- 计划跟不上变化。
- 一个 Agent 背太多职责。
- 工具可以影响真实世界。
这些问题不能靠"换个更大的模型"解决。每个问题对应一族设计模式。
模式关系树
flowchart TD
BASE["Agent Loop(ReAct 基线)"]
subgraph REL["可靠性"]
MC["Maker-Checker"]
VOT["Voting"]
COVE["CoVe"]
end
subgraph RET["检索 / 记忆 / 知识"]
RAG["RAG"]
RL["Retrieval Loop"]
ARAG["Agentic RAG"]
REF["Reflexion"]
MEM["Agent Memory"]
STM["STORM"]
end
subgraph PLAN["规划 / 搜索"]
PS["Plan & Solve"]
PER["Planner-Executor-Replanner"]
REWOO["ReWOO"]
LLC["LLM Compiler"]
LATS["LATS"]
SD["Self-Discovery"]
end
subgraph MA["多 Agent"]
MW["Manager-Worker"]
AAT["Agents-as-Tools"]
HO["Handoff"]
GC["Group Chat"]
MAD["Multi-Agent Debate"]
MAG["Magentic Orchestration"]
SWM["Swarm / Blackboard"]
GO["Graph Orchestration"]
end
subgraph SAFE["安全 / 评测"]
POL["Policy"]
GR["Guardrails"]
HITL["HITL"]
EVAL["Eval Harness"]
end
BASE --> REL
BASE --> RET
BASE --> PLAN
BASE --> MA
BASE --> SAFE
MC -.->|"事实断言多"| COVE
MC -.->|"随机方差大"| VOT
RAG -->|"一次检索不够"| RL
RL -->|"需要多种工具"| ARAG
REF -.->|"失败经验"| MEM
RAG -.->|"长报告"| STM
ARAG -.->|"长报告"| STM
选模式的策略
不要按名字选。按下面三步走:
第一步:先跑 ReAct 基线
给 Agent Loop 加上工具,跑几轮真实任务。看它到底坏在哪里。
第二步:按失败加模式
| 你看到的失败 | 先加什么 |
|---|---|
| 输出像真的但有事实错误 | Maker-Checker 或 CoVe |
| 同一个问题答案不稳定 | Voting |
| 一次检索拿不到够用的资料 | Retrieval Loop |
| 检索要跟其他工具混用 | Agentic RAG |
| 同样的错误反复出现 | Reflexion |
| 要写长报告 | STORM |
| 计划过期 | Planner-Executor-Replanner |
| 工具有依赖可以并行 | ReWOO 或 LLM Compiler |
| 可选路径太多 | LATS |
| 一个 Agent 太杂 | Manager-Worker / Handoff / Group Chat |
| 工具影响真实世界 | Policy + Guardrails + HITL |
第三步:单 Agent 天花板没到之前,不上多 Agent
多 Agent 的协调开销远大于想象。在以下条件都满足之前不要拆:
- 单 Agent 已经到了 context 或能力上限。
- 职责可以清晰切分,没有共享状态纠缠。
- 你有办法 trace 和 debug 每个 Agent 的行为。
本章结构
| 模式族 | 页面 |
|---|---|
| 可靠性 | Maker-Checker / Voting / CoVe |
| 检索 / 记忆 / 知识 | RAG / Retrieval Loop / Agentic RAG / Reflexion / Agent Memory / STORM |
| 规划与搜索 | Plan & Solve / PER / ReWOO / LLM Compiler / LATS / Self-Discovery |
| 多 Agent | Manager-Worker / Agents-as-Tools / Group Chat / Multi-Agent Debate / Handoff / Magentic Orchestration / Swarm / Blackboard / Graph Orchestration |
| 安全与评测 | Policy / Guardrails / HITL / Eval Harness |
每个页面只做一件事:讲清楚它修什么失败、怎么跑、什么时候别用。
读法
如果你知道自己的失败,直接跳到对应模式。
如果不确定,按下面的顺序读:
- 可靠性三页(Maker-Checker → Voting → CoVe)——先确保输出能信。
- 检索 / 记忆 / 知识六页(RAG → Retrieval Loop → Agentic RAG → Reflexion → Agent Memory → STORM)——让 Agent 获取和记住外部信息。
- 规划与搜索六页(Plan & Solve → PER → ReWOO → LLM Compiler → LATS → Self-Discovery)——让 Agent 拆解和调度复杂任务。
- 多 Agent八页(Manager-Worker → Agents-as-Tools → Group Chat → Multi-Agent Debate → Handoff → Magentic Orchestration → Swarm / Blackboard → Graph Orchestration)——单 Agent 到了天花板再拆。
- 安全与评测四页(Policy → Guardrails → HITL → Eval Harness)——上线前必读。
不要一口气全读。一个模式跑通了再看下一个。