
多 Agent 系统的核心问题不是“创建多个 LLM”而是如何让多个具有不同职责的 Agent在共享目标下进行任务分工、通信、协作并根据环境变化动态调整角色。可以把它理解成一个“AI团队”。例如一个机器人云平台规划 Agent负责任务拆解导航 Agent负责路径规划视觉 Agent负责识别控制 Agent负责运动控制诊断 Agent负责故障分析它们不是同时乱跑而是需要一个协作机制。一、多 Agent 基本架构典型架构用户任务|↓Coordinator Agent(调度/管理Agent)|--------------------------------↓ ↓ ↓Planning Agent Vision Agent Control Agent↓ ↓ ↓Tools Tools Tools|↓Environment其中Coordinator Agent协调者类似项目经理负责理解目标分配任务调度 Agent处理冲突动态切换二、Agent之间如何通信主要有三种方式。方式1中心化通信最常用所有 Agent 通过一个 Manager 通信。例如User|↓Manager/ | \Plan Vision Control消息{from:planner,to:navigation,task:{goal:move to room 101}}优点简单容易控制易调试缺点Manager压力大单点故障适合企业Agent、机器人系统。方式2去中心化通信Agent之间直接交流Planner||Vision ---- Control|Navigation例如Vision发现障碍物↓直接通知Navigation优点灵活扩展性好缺点协议复杂容易混乱适合大型Multi-Agent。方式3黑板模式Blackboard多个 Agent 共享一个状态空间。类似Blackboard|--------------------------------| | |Planner Vision Control例如共享状态{robot_position:[3,5],battery:20,obstacle:chair}Agent读取和修改。类似机器人系统里的ROS TopicShared MemoryRedis三、Agent如何分工核心是Role Definition角色定义每个 Agent 有Agent Profile{name:capability:input:output:tools:constraint:}例如Navigation Agent能力:路径规划输入:地图目标点输出:path工具:A*DijkstraROS navigationVision Agent能力:目标检测输入:camera image输出:object location