当前位置: 首页 > news >正文

Agent 系列(9):多 Agent 架构设计模式——Supervisor 与 Pipeline

为什么一个 Agent 不够用?

前面八篇文章里,我们构建的都是单 Agent:一个 LLM,一组工具,一条对话历史。这套架构能解决大多数问题。

但有些任务天然是"多专家"的:

  • 写一篇技术文章,需要研究员收集资料、写手起草、编辑润色——三个角色,三种思维方式
  • 处理用户工单,需要意图识别、知识库查询、回复生成——三个阶段,独立可测
  • 代码评审,需要静态分析、安全扫描、可读性审查——三个维度,互不干扰

用单 Agent 处理这些任务并非不可以,但你会发现 System Prompt 越写越长,输出质量越来越不稳定——因为你在强迫一个角色扮演所有人。

多 Agent 的核心价值:职责分离,每个 Agent 只做一件事,做好它


两种主流架构模式

多 Agent 系统有多种拓扑结构,其中两种最常见:

Supervisor 模式(动态路由): classify → supervisor → researcher ↘ writer ↘ reviewer ↘ FINISH 特点:有一个"指挥中心",决定下一步调哪个 Agent Pipeline 模式(固定顺序): outline_agent → draft_agent → polish_agent → END 特点:执行路径硬编码,每个 Agent 只知道自己的上下文和下一个节点

两种模式不是竞争关系,而是适用场景不同。


Demo 1:Supervisor 模式

设计思路

Supervisor 模式的挑战在于路由可靠性。如果让 LLM 每一步都决定"下一个调谁",它会出现:

  • 重复调用同一个 Worker
  • 忘记记录已调用过的 Worker
  • 不知道何时该终止

更好的设计是两阶段混合

Phase 1: LLM 做一次任务分类(simple_fact vs full_article) Phase 2: Python 根据分类 + 已调用列表做确定性路由

LLM 负责"看清楚这是什么任务",Python 负责"按规则执行"。

LangGraph 实现

classSupervisorState(TypedDict):messages:Annotated[list,add_messages]task:strtask_type:str# "simple_fact" or "full_article"called:list[str]next:strdefclassify_node(state:SupervisorState)->SupervisorState:"""LLM 做一次分类,结果写入 state,后续路由全程可用"""decision=_ask("Classify this task:\n"" simple_fact — a factual question with a direct short answer\n"" full_article — needs research, writing, and editorial review\n""Output one word only: simple_fact / full_article",f"Task:{state['task']}",).strip().lower()task_type="full_article"if"full_article"</
http://www.jsqmd.com/news/935242/

相关文章:

  • 2026年被动房全产业链EPC总承包服务商深度对标:从零碳建筑设计到施工认证的完整选型指引 - 企业名录优选推荐
  • arcgis 裁剪
  • 深度访谈GPT-3:探索大型语言模型的行为边界与实用对话策略
  • SEIF Awards:软件工程研究的种子基金与创新孵化机制解析
  • 2026 东莞钢结构工厂实力排行 专业靠谱厂家精选推荐 - 变量人生001
  • NoMachine黑屏?试试用Windows远程桌面(RDP)连接你的Ubuntu/Debian
  • 用Multisim仿真555报警器:从电路图到声光效果,手把手带你复现大学经典实验
  • 别再只用线性回归了!用Python的sklearn手把手教你Lasso回归实战(含超参数alpha调优技巧)
  • 余生黄金回收——2026年5月沈阳卖金全攻略,这家五星店铺让你多卖好几克! - 余生黄金回收
  • STM32 程序加密完全指南:构建软硬一体的纵深防御体系
  • 四川省攀枝花市寄件省钱攻略:4 个全国低价寄件物流微信工具,小件快递大件物流上门全搞定 - 时讯资讯
  • SuperMap Hi-Fi 3D SDK + Unity 2019.4:从零搭建一个可交互的3D智慧城市场景(含完整代码)
  • 2026十大护颈枕头硬核盘点:支撑、透气、安全,西尼优枕头实力突出 - 每日行业榜
  • 你以为的Kiosk模式就够安全了?实测Chrome/Edge/Firefox全屏防退出方案的漏洞与加固
  • PostgreSQL 技术日报 (6月1日)|逻辑复制问题修复,AI 行业动态速览
  • CTDE范式在机器人协同任务中的优势与实践
  • GPT-3技术解析与企业智能应用:从Transformer架构到知识管理实战
  • 别再死记硬背了!用‘F谱号’的起源故事,5分钟彻底搞懂低音谱号与左手钢琴键的对应关系
  • 2026年五金模具配件厂家深度测评:如何为你的精密冲压匹配最佳方案? - 资讯快报
  • VMware vCenter 7.0日志盘告警别慌!手把手教你SSH登录清理Tomcat和PostgreSQL日志(附详细路径)
  • 杭州嘉目视科怎么样:2026配眼镜靠谱店铺排名推荐 - 每日行业榜
  • ARM虚拟化核心:HCR_EL2寄存器深度解析与实践
  • 2026成都靠谱软装硬装公司推荐|本地深耕十年装修设计施工门店优选 - 海棠依旧大
  • MySQL字符集进化史:从‘残缺’的utf8到真正的utf8mb4,我们经历了什么?
  • 从视觉暂留到动态显示:Arduino POV项目全解析
  • 从‘炼丹’到‘应用’:用 Docker 三分钟部署 OpenPose 推理服务,告别环境噩梦
  • 2026合肥黄金回收防套路指南!持证门店筛选,高价实收不抠秤 - 奢侈品回收测评
  • 3分钟搞定:Inno Setup中文语言包完整配置教程
  • 从‘城市’到‘购买力’:用Target Encoding和Count Encoding提升你的特征工程水平
  • ADS联合仿真验证:如何用Matlab算出的EF2类功放参数搭建理想模型?