项目为什么选单 Agent、多 Agent 或 Workflow,和其他方案相比有何优势?
未标记
考查重点:路径确定性与协作收益。固定路径用Workflow,开放工具决策单Agent,独立专家/并行需多Agent,用同需求评质量、延迟和维护
本题目录
参考答案
核心回答
以下以研搜系统为参考示例:它用 Python 和 DeepAgents 组织一个主 Agent 与三个业务专家,分别访问网络、MySQL 和 RAGFlow,主 Agent 负责理解需求、按需委派、汇总并生成文件。
选择这种主子结构,是因为三类信息获取任务有不同的工具、操作步骤和资料范围,可以形成清楚的子目标;主 Agent 保留最终交付责任。相比把所有规则和工具都交给单 Agent,专业职责更集中,但也增加了任务转述、结果汇总和失败处理的成本。
单 Agent、多 Agent 与 Workflow 不是完全互斥的三选一:前两者主要涉及是否拆分执行者,Workflow 则决定哪些执行路径由程序明确控制。任务简单时用单 Agent;步骤稳定时用函数流程或 Workflow;多个子目标能独立交付、确实需要不同上下文或工具时,再引入多 Agent,并让稳定步骤继续由程序管理。
展开说明
1. 先判断任务的变化发生在哪里
如果用户只是查一份文档,再根据材料回答,一个 Agent 配合检索工具通常就能完成。拆成“检索 Agent、阅读 Agent、回答 Agent”可能只是多传几次相同内容。
如果处理步骤和分支已知,例如取数据、转换格式、校验并导出,Workflow 能明确表达依赖、失败路径和结束条件。节点里可以使用 LLM,但执行顺序不必每次都重新规划。
若任务需要根据新证据选择数据源、继续搜索或改变调查方向,Agent 的动态决策更有价值。进一步拆成多个 Agent,则还要证明子任务边界和独立交付成立,不能把“多步任务”直接等同“多 Agent”。
2. 研搜为什么是三个业务专家,而不是随意增加角色?
这个参考实现的三个自定义专家按数据访问方式划分:网络专家使用搜索工具,数据库专家按表、结构与数据查询步骤工作,RAGFlow 专家访问已配置的知识库助手。主 Agent 直接掌握附件读取、Markdown 生成和 PDF 转换工具。
因此,三个角色对应当前三类专业能力;若出现新的独立数据源或明显不同的任务方法,再决定新增专家还是给现有专家补工具。仅增加一个“思考专家”或“检查专家”,却没有不同的输入、工具和可验收产物,未必值得多一次调用。
用户请求也不必每次经过三个专家。只问公开信息时可以只查询网络;需要对照内部资料时再增加相应来源。独立方向可以考虑并行,有数据依赖的步骤仍应等待上游结果。异步运行入口本身不代表所有专家调用都会同时执行。
3. 哪些地方适合保留明确流程?
“查什么、资料不够时往哪里补查”适合让 Agent 根据当前信息决定;“先有 Markdown 文件才能转换 PDF”则是稳定依赖。可以用函数顺序或 Workflow 控制这些步骤,再让相关 Agent 在节点内完成不确定的分析任务。
如果业务要求某些数据齐全才能生成结论,程序也应检查相应状态,而不是依赖多个 Agent 相互提醒。固定流程和模型决策的边界越清楚,就越容易判断失败来自哪里。
参考代码通过 thread_id 和进程内 checkpointer 延续会话,并按会话组织输出目录。若要支持进程重启后的恢复或更严格的资源权限,需要增加相应存储和执行限制;目录分开不等于具备系统级沙箱。
4. 优势要对应原方案的问题,也要算新增代价
拆分的预期收益可以是:降低单个角色要处理的职责数量、让不同来源各用合适的方法、减少主窗口中的探索细节,或并行处理确实独立的方向。代价则包括上下文转述、主 Agent 汇总、更多模型调用以及部分失败后的协调。
可以用相同任务对照“单 Agent 配全套工具”“当前主子结构”和“步骤明确的工作流方案”,比较答案与证据完整性、任务成功率、耗时和成本。若只是简单问题,拆分后质量没有改善却更慢,就应减少角色或缩短路径;如果几个角色必须频繁同步同一份状态,也可能适合合并。
常见追问
为什么不把所有工具直接给单 Agent?
可以,尤其是工具少、任务简单时。只有当不同工具的说明和使用过程开始互相干扰,或专业任务能独立完成时,拆分才有理由。动态筛选工具、按需加载 Skill 也可能缓解问题,不一定必须增加 Agent。
多 Agent 一定比串行 Workflow 快吗?
不一定。多 Agent 可以串行执行,Workflow 也支持并行。速度取决于依赖关系、并发能力、模型调用量和汇总成本,不能把“多 Agent”直接当成“并发更快”。
用了 LangGraph,就一定是 Workflow 吗?
LangGraph 可以表达固定流程,也能承载模型驱动的工具循环和多 Agent 交接。要看实际节点、边和状态由谁决定,不能只根据框架名判断架构模式。
对应教程
- 研搜:主智能体搭建与异步执行:理解主 Agent、三个业务专家和文件工具的真实分工,再分析拆分是否对应任务需求。
- Agent 智能体:对照动态决策、Workflow 与 Agent 混合等方式,理解执行者数量和控制流并非同一个选型维度。
参考资料
- 国内:JavaGuide:多 Agent 协作系统设计:采用独立执行者与多阶段调用的区别,说明正文中如何以工具、上下文与交付物判断多角色拆分的必要性。
- 国内:ranxi2001:多 Agent 角色与拓扑设计:依据任务分配、依赖与结果交付,说明正文中角色划分如何影响串行、并行和协作成本。
- 国内:WeThinkIn:模式选择与任务约束:采用任务确定性、工具选择与反馈方式的区分,说明正文中 Workflow 与动态 Agent 如何组合。
- 国外:Anthropic:Building effective agents:依据从简单方案开始的收益比较,说明正文中增加动态执行能力的成本与延迟取舍。
- 国外:Anthropic:多 Agent 研究系统:依据独立研究方向、分工与通信依赖,说明正文中哪些任务更能从拆分获益。
相关面经
21 篇长鑫存储
Agent 开发工程师快手
Agent 开发工程师设计一个多 Agent 系统时,你会怎样划分角色和协作边界?它相比单一 Workflow,适合解决哪些问题?
小天才
AI 应用工程师(穿戴)为什么采用单 Agent 工作流,不使用多 Agent?
蚂蚁集团
AI Agent 应用工程师多Agent协作相比Workflow,优势体现在哪里
滴滴
Java 开发工程师为什么选择 ReAct?固定工作流不行吗?
展开剩余 16 篇面经
字节跳动
全栈开发工程师网易
Agent 开发工程师Multi-Agent适用场景?为什么拆分多个Agent而非单Agent?
百度
Agent 算法工程师单Agent与多Agent的差异、适用场景。
字节跳动
AI 应用工程师需要几个 agent?架构怎么设计?
美团
AI Agent 开发工程师技术选型,比如多agent和单agent,微调和rag,llm记忆(其实就是prefill阶段)
字节跳动
AI 数据运营实习生(自动化方向)你为什么选择这个架构,你想解决的问题是什么?是科研的搜索吗?
虾皮
Agent 开发工程师项目中采用了单Agent、多Agent还是Workflow编排模式?为什么选择这种方案?相比其他方案有什么优势?
小满科技
Agent 开发Multi-Agent 架构为什么不靠单个全能 Agent?不拆 Agent 用 Skill 路由行不行?
快手
Agent 开发你这个Agent是ReAct还是工作流?为什么?
字节跳动
AI Agent 开发在Agent架构设计中,为什么选择多Agent协作,而不是单Agent完成所有任务?
字节跳动
后端开发工程师这里为啥要用多agent? 平时啥时候会用多agent?
百度
Agent 算法工程师你做的Agent架构是不是Workflow范式?
字节跳动
Agent 开发你之前的Agent项目用的什么架构?LangGraph还是自研?是Master+Sub Agent还是Workflow?为啥这么选型?
蚂蚁集团
AI Agent和单智能体比好在哪里
公司未注明
Agent项目中为何设计 6 个 Agent?每个 Agent 分别负责什么职责?
浩鲸科技
Java 开发工程师为什么使用多agent而不是单个agent



