首页 › AI Agent › Agent100道面试题 › 多 Agentmulti-agent › 什么是多 Agent 系统?与单 Agent 相比有何优势?

什么是多 Agent 系统?与单 Agent 相比有何优势?

难度:基础 分类:Multi-Agent​

简短回答​

多 Agent 系统(Multi-Agent System, MAS)是由多个各自拥有 LLM 驱动的 Agent 协同工作来解决复杂问题的架构。每个 Agent 专注于特定子任务,通过通信和协调完成单个 Agent 难以胜任的工作。相比单 Agent,MAS 的核心优势是:任务专精化(每个 Agent 只需擅长一个领域)、并行处理(多 Agent 同时工作,速度提升可达 33%)、更好的上下文管理(分散处理负载,突破单 Agent 上下文窗口限制)、模块化(独立开发、测试和替换单个 Agent)。代价是增加了通信开销和系统复杂度。​

详细解析​

什么是多 Agent 系统?​

​

飞书文档 - 图片

​

分而治之:协调器拆解任务,专精 Agent 各带小工具集与独立上下文,汇总成最终结果。​

核心思想:分而治之——将复杂任务拆分为子任务,每个子任务由专精的 Agent 处理。​

单 Agent 的局限性​

​

代码块​

Python

# 单 Agent 面临的问题​

single_agent_problems = {​

"上下文过载": "50+ 工具定义 + 复杂指令 = 上下文窗口被占满",​

"角色冲突": "同时要求严谨分析和创意写作,风格矛盾",​

"工具选择困难": "工具越多,选错工具的概率越高",​

"单点故障": "一个 Agent 出错,整个任务失败",​

"不可并行": "所有步骤必须顺序执行",​

}​

​

当前 LLM 在面对超长、多目标的 prompt 时表现不佳,且不擅长从大量工具中选择正确的工具。将任务拆分到多个专精 Agent 是自然的解决方案。​

多 Agent 的核心优势​

任务专精化(Specialization​

​

代码块​

Python

# 每个 Agent 有明确的角色和有限的工具集​

agents = {​

"researcher": {​

"system_prompt": "你是研究分析师,专注于收集和验证信息",​

"tools": ["web_search", "arxiv_search"],​

"model": "claude-sonnet", # 用性价比高的模型​

},​

"coder": {​

"system_prompt": "你是高级软件工程师,专注于编写代码",​

"tools": ["code_executor", "file_write"],​

"model": "claude-opus", # 用最强模型​

},​

"reviewer": {​

"system_prompt": "你是代码审查专家,专注于发现 bug 和改进",​

"tools": ["code_analyzer"],​

​

并行处理​

​

代码块​

Python

import asyncio​

​

# 多个 Agent 同时工作​

async def parallel_research(topic):​

results = await asyncio.gather(​

researcher_agent.search_papers(topic),​

market_agent.analyze_market(topic),​

tech_agent.review_implementations(topic),​

)​

# 三个 Agent 并行,总时间 = max(单个 Agent 时间)​

return coordinator.synthesize(results)​

​

研究显示,动态多 Agent 框架相比传统顺序系统,执行时间可减少 33%。​

更好的上下文管理​

单 Agent 处理长文档时容易丢失上下文。多 Agent 系统中,每个 Agent 只需处理自己负责的部分,通过 Agent 间通信维持整体上下文一致性,等效于扩展了上下文窗口。​

模块化与可维护性​

​

代码块​

Python

# 独立开发、测试、替换单个 Agent​

# 升级分析能力?只需替换分析 Agent​

old_analyzer = AnalyzerAgent(model="gpt-4")​

new_analyzer = AnalyzerAgent(model="claude-opus") # 零影响替换​

​

# 添加新能力?只需增加新 Agent​

team.add_agent(TranslationAgent()) # 不修改现有代码​

​

准确率提升​

研究表明,Producer-Reflector 双 Agent 架构在代码生成任务中大幅提升了准确率。Meta 分析显示 MAS(如 Captain Agent)在编程、数据分析和科学推理任务中,准确率和成本效率均优于单 LLM。​

降低人工监督成本​

2024 年对 128 家企业的研究显示,使用多 Agent AI 的企业在验证和纠正输出上花费的时间减少了 61.2%,每年可节省约 194 万美元的人力成本。​

多 Agent 系统的代价​

​

​

何时选择多 Agent vs 单 Agent?​

​

代码块​

JSON

decision_guide = {​

"选择单 Agent": [​

"任务简单、线性",​

"工具少于 10 个",​

"不需要并行处理",​

"快速原型验证",​

],​

"选择多 Agent": [​

"任务需要多种专业技能",​

"子任务可以并行执行",​

"需要 checker/reviewer 验证质量",​

"系统需要模块化扩展",​

"工具数量超过 20 个",​

],​

}​

​

常见误区 / 面试追问​

误区:"多 Agent 总是优于单 Agent" — 对于简单任务,多 Agent 的通信开销可能超过收益。不要为了用多 Agent 而用多 Agent。从单 Agent 开始,当遇到明确的瓶颈时再拆分。​

误区:"每个 Agent 必须用不同的 LLM" — Agent 的差异化来自 System Prompt、工具集和角色定义,不一定需要不同的模型。同一个模型配不同 prompt 就是不同的 Agent。​

追问:"多 Agent 系统的 token 冗余问题如何解决?" — 研究显示 token 重复率可达 53-86%。解决方案包括:共享记忆池(黑板模式)、消息摘要(传递摘要而非原始内容)、和 Instruction-Tool Retrieval(每步只加载必要信息)。​

追问:"如何定义 'multi-agent'?两个 LLM 调用就算吗?" — 真正的多 Agent 系统需要 Agent 间有自主决策和交互能力,而非简单的顺序调用链。关键特征是 Agent 能基于其他 Agent 的输出自主调整行为。​