模式地图:按失败选模式
读完前六章以后再看这页。这里只做分流:你现在遇到什么失败,就先看哪个模式。
先判断谁决定下一步
flowchart TD
A["任务来了"] --> B{"一次模型调用能解决吗?"}
B -->|能| ONE["停在普通 Chatbot"]
B -->|不能| C{"步骤提前知道吗?"}
C -->|知道| WF["Workflow:代码决定路径"]
C -->|不知道| D{"下一步依赖观察结果吗?"}
D -->|是| LOOP["Agent Loop:模型提动作,Python 执行和限制"]
D -->|否| PLAN["Planning / Search:先想路径,再执行"]
LOOP --> E{"一个 Agent 职责太多吗?"}
E -->|是| MA["Multi-Agent:拆职责或交接 owner"]
E -->|否| RISK["按风险补可靠性、检索、安全和评测"]
按症状选
可靠性
| 你看到的失败 | 先看 | 为什么 |
|---|---|---|
| 答案像真的但常有错 | Maker-Checker | 先生成,再让检查者挑错 |
| 想要多份候选互相校准 | Voting | 多跑几份,再聚合或投票 |
| 长答案里事实断言要逐条验 | CoVe | 把 claim 抽出来,再逐条验证 |
检索与记忆
| 你看到的失败 | 先看 | 为什么 |
|---|---|---|
| 需要从知识库查资料 | RAG | 检索增强生成的基础流程 |
| 一次检索总漏资料 | Retrieval Loop | 读完证据后改 query,再查 |
| 回答需要引用和证据账本 | Agentic RAG | 让 Agent 决定查什么、证据够不够 |
| 失败经验下次应该被记住 | Reflexion | 把失败反思写回短期/任务记忆 |
| 需要跨会话保留用户偏好和经验 | Agent Memory | 长期记忆的读写和淘汰策略 |
| 要写长 report,资料要按章节组织 | STORM | 先按角度收集材料,再合成文章 |
规划与搜索
| 你看到的失败 | 先看 | 为什么 |
|---|---|---|
| 任务需要先列计划 | Plan & Solve | 先计划,再按计划执行 |
| 计划会被新信息推翻 | PER | 执行中显式重规划 |
| 工具调用有依赖关系,想减少轮次 | ReWOO | 先把工具步骤排出来,再批量执行 |
| 工具调用可以并行 | LLM Compiler | 分析依赖关系,并行执行无依赖步骤 |
| 可选路径很多,需要试探 | LATS | 把答案当搜索树探索和评分 |
| 不知道该用哪种推理策略 | Self-Discovery | 先选策略模块,再解题 |
多 Agent
| 你看到的失败 | 先看 | 为什么 |
|---|---|---|
| 一个 Agent 背太多工作 | Manager-Worker | manager 分活,worker 各自负责 |
| 专家 Agent 只想作为能力被调用 | Agents-as-Tools | 把专家包成工具,主控仍然负责 |
| 多个角色需要互相质疑 | Group Chat | 让多个 Agent 在同一会场里讨论 |
| 需要多个视角交叉检验 | Multi-Agent Debate | 多个 Agent 辩论后收敛 |
| 对话中途需要换负责人 | Handoff | 把 owner 转给更合适的 Agent |
| 长任务会卡住或重复派工 | Magentic Orchestration | 用任务账本和停滞检测控制长循环 |
| 共享状态需要集中读写 | Swarm Blackboard | 多 Agent 通过黑板共享中间结果 |
| 需要动态编排 Agent 拓扑 | Graph Orchestration | 用图结构定义 Agent 之间的流转 |
安全与评测
| 你看到的失败 | 先看 | 为什么 |
|---|---|---|
| 工具可能影响真实世界 | Policy | 定义哪些工具能用,参数是否越界 |
| 需要运行时拦截危险输入输出 | Guardrails | 运行时检查和拦截 |
| 高风险动作需要人确认 | HITL | 人在回路,确认后再执行 |
| 不知道改动有没有变好 | Eval Harness | 用固定任务集做回归检查 |
成本规则
每加一个模式,都在买能力,也在付代价。
| 模式家族 | 买到什么 | 付出什么 |
|---|---|---|
| Workflow | 可预测、好测试 | 步骤更固定 |
| Agent Loop | 能根据观察调整 | 延迟、成本、循环失败 |
| 可靠性 | 更可信 | 更多模型调用和校验逻辑 |
| 检索与记忆 | 外部知识和经验 | 来源质量、上下文管理 |
| 规划与搜索 | 更长任务跨度 | 状态、预算、搜索空间 |
| 多 Agent | 职责拆分、并行 | 协作开销、调试难度 |
| 安全与评测 | 可上线、可回归 | 规则、日志、测试集 |
如果一个更简单的结构能解决,就停在那里。
完整模式索引和每个模式的详细说明在 Ch7 Agent Design Patterns。