蚂蚁三面追问:Agent 有哪些设计模式?别背名词了,四层框架才是正确答法

前言

前段时间有个粉丝去面蚂蚁,岗位跟大模型应用相关。面试官聊了几轮项目后随口问了一句:

👔 你了解哪些 Agent 设计模式?

他一听来劲了,一口气报了十几个:ReAct、Plan-and-Execute、Reflection、Self-Refine、Tree of Thoughts、Graph of Thoughts、Tool Use、Memory、Router、Supervisor、Multi-Agent、Loop Engineering......报得还挺顺。

面试官等他说完,笑了笑,换了个角度问:

👔 那你可以系统分析一下,这些模式各自聚焦的点是什么吗?

他愣住了。支支吾吾了半天,只憋出几句"这个是用来推理的""这个是多个 Agent 一起干活的",然后就说不下去了。

他回来找我复盘,说自己把这些名词全背下来了,但从来没想过它们之间的层级关系。我帮他梳理完之后,他才意识到------这些东西根本不是平级的,它们回答的是四个完全不同层次的问题。

读完这篇文章,你能搞明白:

  • 为什么背名词是零分答案------面试官想听的是系统分析
  • Agent 设计模式的四层框架------推理、能力、调度、运行机制
  • 13 种模式各自属于哪一层------不再混为一谈
  • 模式之间不是互斥而是可叠加------生产级 Agent 怎么组合
  • 面试话术三层模板------60 分答法和 90 分答法的差距在哪

不管你是做 Agent 开发的工程师,还是需要在面试里讲清设计模式的开发者,这道题都值得提前想清楚。开拆!

一、问题出在哪:它们根本不是同一个维度的东西

很多讲 Agent 设计模式的文章、图片,喜欢把十几种模式并排画在一张图里面。看起来很全,但也很容易让人误以为它们是"平级"的、可以互相替代的选项。

实际上完全不是这样。这 13 种模式分别回答的是四个不同层次的问题:

  • 有的是在回答"Agent 怎么思考"------属于推理算法层
  • 有的是在回答"Agent 能干什么"------属于能力组件层
  • 有的是在回答"多个 Agent 怎么协作"------属于系统架构层
  • 有的是在回答"Agent 怎么持续跑起来"------属于运行机制层

面试官问的那个"聚焦的点",问的其实就是这四层。如果当时能把十几个名词往这四个抽屉里一放,那场面试的分数会完全不一样。

二、四层框架:推理、能力、调度、运行机制

把这十几个模式按四层搭一遍,整个框架就清晰了:

第一层:推理(Reasoning) --- Agent 怎么思考 ReAct / Plan-and-Execute / Reflection / Self-Refine / ToT / GoT

第二层:能力(Capability) --- Agent 能干什么 Tool Use / Memory

第三层:调度(Orchestration) --- 多个 Agent 怎么协作 Router / Supervisor / Multi-Agent

第四层:运行机制(Loop) --- Agent 怎么持续跑 Loop Engineering

这四层是自底向上的:推理是最核心的"大脑",能力是"手脚",调度是"组织结构",运行机制是"让整套系统转起来的引擎"。接下来逐层拆开讲。

三、第一层:推理(Agent 怎么思考)

这一层解决最核心的问题:Agent 拿到任务之后,脑子里怎么转。

Single Agent 是最原始形态:用户输入什么,LLM 直接输出。没有规划、没有工具、没有循环。适合问答、总结、翻译这类一次性任务。

ReAct 是思考(Thought)→行动(Action)→观察(Observation)→再思考,边做边看结果调整策略。这是今天绝大多数 Agent 的推理基础,基本绕不开。

Plan-and-Execute 把 ReAct 拆成"规划"和"执行"两层。先让 Planner 生成完整计划,再交给 Executor 逐步执行。减少了反复调用大模型的开销。Claude Code 这类编程 Agent 大量使用这种模式。

Reflection 是执行完之后自己回头检查------看看代码有没有 bug、逻辑有没有漏洞。是一次"复盘",不是重新生成。

Self-Refine 比 Reflection 更进一步:不是只查一次,而是"生成→批评→改进→再批评→再改进"循环打磨。很多写作类 Agent 用这个模式持续优化输出质量。

Tree of Thoughts(ToT) 不再是一条推理路径走到底,而是同时展开多个思路分支。每个分支继续扩展,最后用 DFS、BFS 或 Beam Search 搜索最优解。

Graph of Thoughts(GoT) 是 ToT 的升级版,从"树"变成"图"。节点之间可以合并、回流、交叉引用,适合知识推理、科研分析这类需要复杂关联的场景。

这一层的共同点:它们都在解决"怎么想问题",不管工具怎么调、多 Agent 怎么配合。

四、第二层:能力(Agent 能干什么)

这一层不涉及推理逻辑,只是让 Agent 从"光会想"变成"真的能做事"。

Tool Use 让 Agent 能调用 Python、Shell、搜索、SQL、浏览器、各类 API。没有工具调用能力,再会推理的 LLM 也只能"纸上谈兵"。今天大部分 MCP 场景本质上都在解决这一层的问题。

Memory 分短期记忆和长期记忆。短期记忆是对话上下文、临时草稿;长期记忆是向量数据库、用户画像、历史项目经验。Memory 本身不负责推理,只给推理过程提供更完整的上下文。

这一层的共同点:它们回答的是"Agent 的能力边界在哪里",跟"怎么思考"是两码事。

五、第三层:调度(多个 Agent 怎么协作)

当一个 Agent 搞不定复杂任务时,就需要多个 Agent 配合。这一层解决协作方式。

Router Pattern 先做意图分类,判断任务属于编程、金融还是旅行等哪个类别,再分发给对应的专用 Agent 处理。

Supervisor Pattern 有一个"总管"Agent,负责给下属的搜索 Agent、代码 Agent、金融 Agent 分配任务、汇总结果、判断是否结束。OpenAI Swarm 的设计思路跟这个接近。

Multi-Agent 没有明确的领导者,多个 Agent(Research、Writer、Reviewer、Planner 等)平等协作、互相通信。AutoGen 是这类架构的典型代表。

这一层的共同点:它们解决的是"组织结构"问题,跟单个 Agent 内部怎么推理无关。

六、第四层:运行机制(Agent 怎么持续跑)

这一层只有一个模式,但它是最近讨论度最高的一个。

Loop Engineering 既不是推理算法,也不是系统架构。它是让 Agent 能够持续运行的机制。具体来说就是:目标(Goal)→思考(Think)→行动(Act)→观察(Observe)→评估(Evaluate)→判断是否继续,循环往复。

python 复制代码
while not finish:
    think()
    act()
    observe()
    evaluate()

Claude Code、Codex、Cursor、Gemini CLI,这些今天主流的 Agent 产品,底层几乎都是这种持续循环的运行方式。

Loop Engineering 和前三层的关系:它不是替代推理或调度,而是在推理+能力+调度的基础上,加一个"让整套系统持续转起来"的外层循环。没有它,Agent 只能做一次性任务;有了它,Agent 才能像人一样持续工作。

七、不是互斥选择题,而是可叠加的组合

讲完四层,有一个关键认知:这些模式不是互斥的选择题,而是可以叠加的组合。

一个生产级 Agent 系统通常是这样的组合:

  • 推理层用 Plan-and-Execute(先规划再执行)
  • 能力层叠加 Tool Use + Memory(能调工具、有记忆)
  • 调度层用 Supervisor(总管分发任务)
  • 运行机制层套 Loop Engineering(持续循环)

每一层选什么模式,取决于业务场景。简单问答用 Single Agent 就够;复杂编程任务可能需要 Plan-and-Execute + Tool Use + Loop;多角色协作场景需要 Multi-Agent + Memory。

工程判断:不要一上来就上最复杂的组合。先从最简单的模式起步(Single Agent + Tool Use),跑通后再按需加层。过度设计是 Agent 项目最常见的坑------还没跑通核心功能就先搭了 Multi-Agent + ToT + Loop,结果调试地狱。

八、从架构师视角看 Agent 设计模式的几个工程取舍

从架构师视角看几个 Agent 设计模式的工程取舍。

取舍一:ReAct vs Plan-and-Execute------边走边想 vs 先想后做。 ReAct 灵活但每步都要调大模型,开销大;Plan-and-Execute 先出完整计划再执行,开销小但计划一旦出错需要整体重规划。简单任务用 ReAct,复杂多步任务用 Plan-and-Execute。

取舍二:Reflection vs Self-Refine------查一次 vs 循环打磨。 Reflection 成本低(只多调一次模型),适合代码 Review 这类"对错明确"的场景;Self-Refine 成本高(循环多次),适合写作优化这类"质量可持续提升"的场景。

取舍三:Router vs Supervisor vs Multi-Agent------怎么组织多 Agent。 Router 适合"意图明确、互不交叉"的场景(编程/金融/旅行);Supervisor 适合"任务可分解、需要汇总"的场景;Multi-Agent 适合"需要多视角碰撞"的场景(Research+Writer+Reviewer)。选错的代价:Router 遇到跨领域任务会分错;Supervisor 遇到需要平等讨论的任务会变成独裁;Multi-Agent 遇到简单任务会浪费资源。

取舍四:ToT vs GoT------树 vs 图。 ToT 适合"多路径探索但路径间不交叉"的场景(解题);GoT 适合"路径间需要合并和回流"的场景(科研分析)。GoT 的实现复杂度远高于 ToT,没有明确需求不要上 GoT。

取舍五:Loop Engineering 的终止条件设计。 Loop 最危险的是"无限循环"------Agent 一直跑但永远达不到终止条件。工程上必须设硬上限(最大循环次数/最大 Token 消耗/最大执行时间),超限后强制终止并降级。Loop 的终止条件设计比 Loop 本身更重要。

取舍六:Memory 的存储分层------短期 vs 长期 vs 摘要。 短期记忆放对话上下文(全量),长期记忆放向量库(按需检索),摘要记忆放"已完成步骤的浓缩版"(注入到上下文做状态连续性)。三层 Memory 分层是生产级 Agent 的标配,不做分层会导致上下文膨胀或状态丢失。

九、面试话术:考官想听的是什么

回到面试场景。这道题考的不是"你背了多少名词",而是"你能不能系统分析它们的层级关系"。

常见错误回答一:背名词。 一口气报十几个模式名字------面试官追问"聚焦的点是什么"时直接卡住。

常见错误回答二:平级罗列。 把所有模式当成同级选项讲一遍------面试官会觉得你只懂名词不懂关系。

高分答题模板:三层结构。

第一层(抛本质):"这十几个模式不是平级的,它们回答的是四个不同层次的问题。"

第二层(讲四层框架):"第一层推理(ReAct/Plan-and-Execute/Reflection/Self-Refine/ToT/GoT)解决'怎么思考';第二层能力(Tool Use/Memory)解决'能干什么';第三层调度(Router/Supervisor/Multi-Agent)解决'多 Agent 怎么协作';第四层运行机制(Loop Engineering)解决'怎么持续跑'。"

第三层(升华):"这四层不是互斥选择题,生产级 Agent 是四层叠加组合。比如 Claude Code 就是 Plan-and-Execute + Tool Use + Loop Engineering 的组合。选什么模式取决于业务场景,不要过度设计。"

60 分 vs 90 分对比:

追问点 60 分回答 90 分回答
"ReAct 和 Plan-and-Execute 区别?" "一个边做边想,一个先规划" "ReAct 每步调大模型开销大但灵活;Plan-and-Execute 先出完整计划再执行,开销小但计划出错需整体重规划"
"Router 和 Supervisor 什么时候用?" "看情况" "Router 适合意图明确互不交叉;Supervisor 适合任务可分解需汇总;选错 Router 遇跨领域任务会分错"
"Loop Engineering 怎么防无限循环?" "设个条件" "硬上限:最大循环次数/最大 Token/最大执行时间,超限强制终止降级;终止条件设计比 Loop 本身更重要"
"生产级 Agent 怎么组合?" "都用上" "Plan-and-Execute + Tool Use + Memory + Loop,从简单起步按需加层,过度设计是 Agent 项目最常见的坑"

加分项提示: 如果你能主动提到"Memory 要做三层分层(短期/长期/摘要)",面试官会认为你有真实生产环境经验。

总结

回到开头那道面试题。"Agent 有哪些设计模式"------这道题之所以是大厂 Agent 岗的高频题,是因为它一道题能区分"背名词"和"懂架构"两类候选人。

  • 背名词是零分答案:面试官想听的是系统分析,不是罗列。
  • 四层框架:推理(怎么思考)→ 能力(能干什么)→ 调度(怎么协作)→ 运行机制(怎么持续跑)。
  • 13 种模式各自归属:推理层 6 种、能力层 2 种、调度层 3 种、运行机制层 1 种,不是平级选项。
  • 模式之间可叠加组合:生产级 Agent 是四层叠加,不是单选。
  • Loop Engineering 是最热话题:Claude Code/Codex/Cursor 底层都是持续循环。
  • 面试话术三层结构:抛本质(四层不是平级)→ 讲框架 → 升华(可叠加组合)。60 分和 90 分的差距在组合经验和防坑意识。

这些模式不是互斥的选择题,而是可以叠加的组合。 先从最简单的模式起步,跑通后按需加层------这才是工程上正确的做法。

你的 Agent 项目用了哪些模式的组合?踩过"过度设计"的坑吗?欢迎评论区交流。

相关推荐
啥都生1 小时前
arXiv正式单飞,承诺继续免费
人工智能
水如烟1 小时前
孤能子视角:三十六计之隔岸观火——时序相位选择
人工智能
‿hhh1 小时前
Dify核心模块详解:从文本生成到智能体
人工智能·学习·microsoft·agent·上下文·记忆
大鱼>1 小时前
模型可解释性:特征重要性/SHAP/LIME
人工智能·python·机器学习·lstm
霖大侠1 小时前
Decoupled and Reusable Adaptation for Efficient Cross-Modal Transfer
人工智能·深度学习·算法·机器学习·transformer
武子康2 小时前
调查研究-216 Tesla Robotaxi 进了 Miami,但真正的考题才刚开始
人工智能·llm·自动驾驶
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-07-05
人工智能·经验分享·深度学习·神经网络·产品运营
海兰2 小时前
【AI编程思考:第六篇】学习记忆与 Agent 状态:让 AI 真正“记得”你
人工智能·学习·ai编程