在前面的章节中,我们构建的智能体大多是“单兵作战”:一个大模型核心,配备多个工具(Tools)和一块记忆(Memory)。这种 单体智能体(Monolithic Agent) 在处理线性任务(如“查询天气并穿衣建议”)时表现出色。然而,当我们面对真实世界的复杂性——例如“撰写一份包含市场调研、竞品图片分析和财务预测的商业计划书”时,单体智能体往往会撞上“能力墙”。
它会面临上下文窗口的拥挤(Context Crowding)、指令遵循能力的退化(Instruction Dilution),以及“全能悖”(要求一个模型同时具备顶级程序员、顶尖会计和顶级作家的微操能力)。
本章我们将视角升级,从“个体微观”转向“组织宏观”。我们将探讨 多智能体系统(Multi-Agent Systems, MAS) 的设计哲学。你将不再仅仅是一个 Prompt 工程师,而是一个组织架构师。我们需要学习如何根据任务形态选择 层级(Hierarchy)、群组(Swarm)或流水线(Pipeline) 结构,并制定严谨的 通信协议(SOP),让多个专家模型像一支训练有素的足球队一样协作,而不是一群争抢球权的幼儿园小朋友。
在工程实践中,盲目引入多智能体是初学者常犯的错误。MAS 本质上是一场 “计算成本(Cost)与延迟(Latency)”换取“质量(Quality)与鲁棒性(Robustness)” 的交易。
劣势:随着 System Prompt 变长,模型对尾部指令的遵循度下降;容易在长链条推理中“迷失”初始目标。
上下文隔离:避免了无关信息干扰推理(代码专家不需要知道用户的情绪发泄)。
Rule of Thumb(经验法则): 仅当任务复杂度导致单体模型的 Prompt 超过 2k token 仍无法稳定遵循指令,或者任务明显需要两种互斥的思维模式(如“发散创意的作家”与“严谨刻板的审计员”)时,才引入 Multi-Agent。
我们将多智能体架构归纳为四种经典拓扑结构。
这是最符合人类公司制度的结构。一个高智商的“大脑”负责规划,多个专用“手脚”负责执行。
+---------------------+
| User Query |
+----------+----------+
|
v
+---------------------+
| Manager Agent | <-- (Planner / Orchestrator)
| "The Boss / PM" |
+----------+----------+
| 1. Decompose
+--------------------+---------------------+
| 2. Assign | |
v v v
+----------------+ +----------------+ +----------------+
| Research Agent | | Coding Agent | | Review Agent |
| (Web/Doc Tool) | | (Python Tool) | | (Policy Check) |
+-------+--------+ +--------+-------+ +--------+-------+
| | |
+--------------------+----------------------+
| 3. Aggregate
v
[ Final Output ]
OCR Agent 提取文字,还是发给 Vision Agent 描述场景。主要用于意图识别和分流。与 Manager 不同,Router 往往不参与后续的汇总,它只是一个“前台导购”。
User Input --> [ Router / Intent Classifier ]
|
+-----------+-----------+
| | |
v v v
[Refund [Tech [Sales
Agent] Support] Agent]
| | |
+-------------+-----------+---> User
为了解决 LLM 的幻觉(Hallucination)和逻辑漏洞,引入对抗性角色。这是一种“左脚踩右脚上天”的质量提升手段。
Phase 1: Draft Phase 2: Critique Phase 3: Refine
+---------------------+ +----------------------+ +---------------------+
| Solver Agent | ----> | Critic Agent | ----> | Solver Agent |
| (Generates Answer) | | (Finds flaws/bugs) | | (Fixes issues) |
+---------------------+ +----------------------+ +---------------------+
^ |
|____________________(Loop if needed)________________________|
这是最复杂但也最强大的模式,源自传统人工智能。Agent 之间不直接对话,而是读写一个共享的、结构化的状态池(Blackboard)。
+-----------------------------------------------+
| SHARED BLACKBOARD |
| { |
| "user_intent": "drive_home", |
| "obstacles": [{"type": "car", "pos":...}], | <--- Updated by Perception
| "path_plan": [ ... ], | <--- Updated by Planner
| "status": "waiting_traffic_light" |
| } |
+-----------------------------------------------+
^ ^ ^ ^
| | | |
[Perception] [Planner] [Control] [Safety]
Agent Agent Agent Monitor
架构定了,Agent 之间怎么“说话”?这决定了系统的稳定性。
messages[] 传给下一个 Agent。Handoff Packet。Packets 示例:{"goal": "...", "completed_steps": [...], "key_evidence": "...", "pending_questions": [...]}。
Media Service,只有在需要看图时才去加载。多智能体不仅仅是软件逻辑,也是分布式系统。
Search_Agent 和 Doc_Reading_Agent。这需要你的框架支持 async/await 并发控制。Safety_Agent(安全守门员)的运行,其次才是 Creative_Agent。题目:请为以下三个场景分别推荐最合适的 Multi-Agent 架构,并简理由。
题目:你有一个负责“深度网页搜索”的 Agent A,通过搜索找到了关于“2024年东京奥运会收视率”的 5 个关键事实。现在要移交给负责“撰写新闻稿”的 Agent B。
请设计一个 JSON 格式的 Handoff Packet,既能包含必要信息,又避免把成百上千行的搜索原始 HTML 扔给 Agent B。
题目:在“代码编写 (Coder)”和“代码审查 (Reviewer)”的二人协作中,经常出现如下死锁:
请设计一种基于协议的机制来打破这种死锁,不仅仅是限制最大轮次。
题目:设计一个系统,用户上传一张复杂的UI设计图。
A: “Here is the data.” -> B: “Thanks!” -> A: “You’re welcome!” -> B: “Have a nice day!”
<TERMINATE>。”json_repair 等库处理 LLM 输出的非标准 JSON。{"tool": "db_query", "status": "success", "result_count": 5}。