什么是多Agent系统(MAS)?
多Agent系统(Multi-Agent System, MAS)是由多个AI智能体协同工作、并行使用工具来完成复杂任务的系统。
特别适用于路径不可预知、需多方向探索的研究型或复杂任务。
通过将任务分配给具有独立上下文窗口的智能体,提升并行推理能力。
Agent设计的三重境界
自主性(Autonomy):能独立决策,不依赖外部控制。
反应性(Reactivity):能感知环境变化并作出响应。
目标导向性(Goal-Oriented):所有行为服务于明确目标。
主流协作框架对比
| 框架 | 特点 |
|---|---|
| AutoGen(微软) | 广泛用于软件开发,支持多Agent对话与工具调用 |
| CrewAI | 采用 Task + Agent + Tools 分层结构,支持串行/并行执行 |
| LangGraph | 基于状态机和图结构编排Agent流程,具备记忆与状态管理能力 |
通信机制:MCP 与 A2A 协议
(1)MCP(Model Context Protocol)
用途:连接Agent与工具/资源(如数据库、API、本地文件)。
三大核心概念:
Resources:只读数据源(如文件、数据库)
Tools:可被LLM调用的函数/API
Prompts:预定义交互模板或推理指引
架构角色:
Host(如IDE、Claude桌面端)
Client(协议客户端)
Server(暴露功能的轻量服务)
(2)A2A(Agent-to-Agent Protocol,Google提出)
用途:实现Agent之间的互操作与协作,无需共享内存、工具或上下文。
核心组件:
Agent Card:描述Agent能力的公开JSON(用于服务发现)
Task:带唯一ID的工作单元,支持多轮状态更新
Message:含文本、文件等多模态内容的通信载体
Artifact:任务产出的结果物
Push Notification / Streaming:支持主动通知与流式输出
异常处理与恢复机制
多Agent系统需应对网络超时、API限流、资源竞争等临时故障,常用策略包括:
重试机制(LangGraph 支持 RetryPolicy,可配置最大重试次数、退避因子等)
熔断机制:当失败次数超过阈值,暂时停止调用,避免雪崩
class CircuitBreakerRetryPolicy(RetryPolicy):
def should_retry(self, exc, attempt_number):
# 若熔断器打开,则不重试
提示词工程在MAS中的作用
偏重启发式提示,引导Agent自主思考
学会“指导下属干活”:明确分工、设定边界
根据任务复杂度动态调整各Agent工作量
专用工具设计是提升效率的关键

1056

被折叠的 条评论
为什么被折叠?



