跳转至

模式地图:按失败选模式

读完前六章以后再看这页。这里只做分流:你现在遇到什么失败,就先看哪个模式。

先判断谁决定下一步

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