滴滴 AI 研发岗一面:Agent 有几种设计模式?不能只背 5 个名字
最近互联网行业确实有点“风声鹤唳”。组里一位同事也“被广进”了,出来看机会时,面了滴滴的 AI 研发岗。一面面试官问了他一道 Agent 题:
Agent 的设计模式有几种,分别适合什么业务场景?
这题看着像八股,真正的坑却是分类口径:Agent 的设计模式没有公认的固定数量。如果直接回答“有三种”或“有五种”,再把 ReAct、Plan-and-Execute、Reflection、Multi-Agent 平铺在一起,名词可能都对,层次却乱了。
更推荐的答法,是按业务系统怎么推进任务来分。先给出五类常见方式,再说它们分别适合什么场景。
| 常见方式 | 核心特点 | 适合的业务场景 |
|---|---|---|
| Workflow(确定性流程) | 步骤、分支和规则提前写好 | 审批、退款、批处理等路径稳定的任务 |
| ReAct | 根据工具刚返回的信息,决定下一步 | 异常定位、客服取证、开放式检索 |
| Plan-and-Execute | 先拆出主计划,执行中允许调整 | 多源分析、复杂报告、长周期任务 |
| Reflection | 生成后按标准检查,不达标就重做 | 代码、SQL、合规文案和分析报告质检 |
| Multi-Agent | 把任务交给不同专业角色 | 需要不同工具、权限或专业背景的协作任务 |
严格来说,这五个名词不在同一层:Workflow 不是自主 Agent,Reflection 是质检回路,Multi-Agent 是组织方式。但面试官问的是“分别使用什么业务场景”,把它们放在一张选型表里,比纠结到底算三种还是五种更有用。
真实系统也很少五选一。常见组合是:Workflow 定住主干,局部用 ReAct,复杂任务加 Plan,关键产物再用 Reflection 验收。只有分工确实带来收益时,才增加多个 Agent。
01Workflow:路径能写清,就不让 Agent 自由决定
Workflow 的核心是确定性。先做什么、后做什么、什么条件走哪个分支,都由开发者提前写进代码。模型可以参与其中某个节点,但不拥有整条路径的控制权。
例如退款处理:系统依次检查订单状态、退款资格、金额上限和风险等级;低风险请求自动执行,超过阈值再进人工审批。模型可以帮忙识别用户意图、提取申请理由,但资格判定、金额计算和真正打款仍由规则控制。
这类场景要的是可预测、幂等和可审计,不是模型临场发挥。审批流、批量任务、规则计算和关键状态写入,默认都应从 Workflow 开始。
02ReAct:下一步取决于刚拿到的结果
ReAct 把 Reasoning 和 Acting 交替起来:模型判断下一步动作,调用工具,读取环境返回的 Observation,再决定下一步。它不是一次把路线想完,而是边取证边调整。ReAct 原始论文就是用这种交替方式,把推理和外部行动接到了一起。
判断一个业务是否适合 ReAct,我主要看一句话:
没有上一步的查询结果,现在就无法决定下一步。
例如乘客反馈“这笔订单金额不对”。客服 Agent 可以先查订单明细:
- 如果里程和时长异常,继续查计价明细;
- 如果计价正常但优惠未生效,再查优惠资格和使用记录;
- 如果应付金额正确、实付金额异常,转去查支付流水;
- 证据仍不完整,就停止自动判断,交给人工处理。
这里不存在一条对所有投诉都适用的固定查询路径。每次工具返回的事实,都会缩小下一步的选择范围。这就是 ReAct 的业务价值。
它适合异常定位、开放式检索、动态问答和需要逐步取证的客服场景。代价也很直接:调用轮数多,容易兜圈子,错误判断还会沿着后续步骤放大。
PS:不是每个 Tool-Calling Loop 都严格等同于 ReAct。现代 SDK 可以只暴露工具调用与返回结果,不要求显式输出论文里的推理轨迹。这里借用的是“根据新观察选择下一步”这个核心结构。
加分项:ReAct 上生产,还要主动限制它的行动范围。
我至少会加四个限制:只读工具优先、最大轮数、总成本预算、触发人工接管的条件。涉及退款、改价、封禁等写操作时,模型可以给建议,但不能凭一条推理链直接落库。
03Plan-and-Execute:任务很长,要先做主计划
Plan-and-Execute 先让 Planner 生成多步计划,再由 Executor 逐项完成;执行结果不符合预期时,重新规划剩余步骤。LangChain 对这一架构的实现也包含 Planner、Executor 和 Replan,而不是“计划生成后永远照着跑”。
它和固定工作流的差别很关键。
- 固定工作流的路径由开发者预先写进代码;
- Plan-and-Execute 的计划由模型根据当前任务动态生成,而且允许重排。
两者也不能只按任务长短区分。ReAct 每轮决定的是下一次工具调用;Plan-and-Execute 先排出一段可审查的任务计划。执行器内部仍然可以运行 ReAct,只有计划失效时才回到 Planner 重排。
因此,“退款申请依次经过资格校验、金额计算、审批和打款”不是 Plan-and-Execute 的好例子。这些步骤明确、规则稳定,直接写工作流更可靠。
更合适的业务场景,是生成一份城市运力异常分析报告。目标很清楚,但每次分析的重点不同。Agent 可以先规划:
- 确认异常发生的城市、时段和指标;
- 拉取供需、天气、活动和交通数据;
- 找出变化最大的区域;
- 验证几个可能原因;
- 形成结论、证据和建议。
执行到第三步时,如果发现异常只集中在机场区域,后续计划就应该收缩到航班、排队时长和机场运力,而不是机械跑完原计划。
适合 Plan-and-Execute 的,不是“步骤固定”,而是“目标稳定、任务较长、主路线可以先规划”。它常用于多源分析、复杂报告、跨系统资料整理和长周期研发任务。两三次工具调用能解决的事,先生成一份长计划只会增加延迟。
04Reflection:要解决的,是结果合不合规
很多面试答案会把 Reflection 和前两种模式并列。我觉得这句话只对了一半。
ReAct 和 Plan-and-Execute 解决“怎么推进任务”;Reflection 解决“当前产物是否合格,应该回到哪一步重做”。它可以放在最终结果之后,也可以插在计划、查询或生成的中间节点,但通常不单独完成业务目标。
它适合什么业务?得先有可检查的标准。
例如 Agent 写完一份客诉处理建议后,评估器检查:
- 引用的订单、计价和支付事实是否都有查询证据;
- 建议是否符合当前赔付规则;
- 有没有承诺系统无法执行的动作;
- 缺少关键证据时,是否明确转人工。
检查不通过,再带着具体问题修改一次。这里的反馈来自证据和规则,而不是让另一个模型泛泛地说“还可以写得更好”。
代码生成、SQL 生成、合规文案、分析报告都适合加这一层,因为测试、Schema、政策条款或事实清单能充当外部评分信号。反过来,如果标准含糊、没有新证据、修改也无法验证,Reflection 很容易变成两个模型互相提意见,成本翻倍,质量却没有稳定提升。
PS:Reflexion 研究使用环境反馈形成可带入后续尝试的反思记忆;Evaluator-Optimizer 则是“生成—评估—修改”的迭代回路。两者都处理质量问题,但不是同一种实现。
05Multi-Agent:任务需要不同专业角色协作
Multi-Agent 是把一个任务拆给多个专业 Agent,分别使用它们的工具、权限或领域上下文,再组合结果。每个子 Agent 内部仍然可以跑 ReAct,也可以执行 Planner 分配的任务。
例如一次复杂客诉同时涉及订单、计价、支付和风控证据。主 Agent 根据投诉内容决定调查项,再把查询交给具备不同工具权限的专家 Agent,最后统一汇总证据和结论。这就是 Multi-Agent 有收益的场景:分工来自真实的专业和权限边界,不是为了多创建几个 Agent。
但如果查询项早就固定为订单、支付、优惠券三项,普通并行工作流就够了,不必创建三个会对话的 Agent。多 Agent 真正成立,至少要满足一项:
- 子问题需要不同工具、权限或专业上下文;
- 子任务可以并行,节省的时间大于协调成本;
- 需要多个独立视角交叉检查;
- 子任务无法在设计阶段预先写死,要由编排者动态决定。
PS:Multi-Agent 还要说清任务所有权。主 Agent 保留最终责任、调用专家完成子任务,常被称为Manager;当前 Agent 把本轮后续处理交给专家 Agent,常被称为Handoff。前者是“请专家帮忙”,后者是“接下来由专家负责”。
加分项:多个 worker 可以并行查,不能默认并行改。
同一订单状态、同一赔付结论或同一业务对象存在共享写入时,要么划清所有权,要么回到单线程提交。
06到底怎么选:只看 5 个判断
- 路径能提前写清吗?能,就用 Workflow。
- 下一步是否依赖刚返回的信息?是,用 ReAct;否则看是否需要先做计划。
- 任务是否较长,主路线能否提前拆出?能,用 Plan-and-Execute。
- 结果有没有明确标准可检查?有,再加 Reflection。
- 子任务是否需要不同工具、权限或专业背景?需要,才考虑 Multi-Agent。
这道题真正想听的,不是你能背出多少名词,而是三件事:能不能先说清分类口径,能不能把设计模式映射到业务条件,能不能知道什么时候不该让 Agent 做决定。
只答 ReAct、Plan-and-Execute、Reflection,是在回答“你听过什么”;能讲清控制权、任务所有权和失败代价,才是在回答“你能否把 Agent 放进真实业务场景里”。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
