Skip to content

多 Agent 协作

单个 Agent 能力有限,多个 Agent 分工协作可以完成更复杂的任务。

为什么需要多 Agent

单 Agent 的问题:
- 任务复杂时,提示词过长,效果下降
- 一个 Agent 难以同时擅长多个领域
- 没有"角色分工",容易混乱

多 Agent 的优势:
- 每个 Agent 专注一个领域(专家模式)
- 角色之间可以对话、讨论、辩论
- 任务分解,各司其职

多 Agent 模式

1. 顺序模式(Pipeline)

Agent A → Agent B → Agent C → 最终结果

示例:写技术博客
Agent A(研究者):搜集资料
Agent B(写作者):撰写草稿
Agent C(编辑):润色校对

2. 评审模式(Review)

Agent A 生成结果 → Agent B 评审 → 反馈给 A → 修改 → ...

示例:代码生成
Coder Agent 写代码 → Reviewer Agent 审查 → Coder 修改

3. 并行模式

Agent A ┐
Agent B ├── 汇总 → 最终结果
Agent C ┘

示例:市场调研
Agent A 分析竞品 → |
Agent B 分析用户 → | → 汇总 Agent 生成报告
Agent C 分析趋势 → |

4. 群聊模式(Group Chat)

多个 Agent 自由对话,讨论出最佳方案:

User → Group Chat { Agent A, Agent B, Agent C, ... } → 最终结果

适合:需要头脑风暴、方案讨论的场景

AutoGen 示例

python
import autogen

# 定义两个 Agent
coder = autogen.AssistantAgent(
    name="Coder",
    llm_config={"model": "gpt-4"}
)

reviewer = autogen.AssistantAgent(
    name="Reviewer",
    llm_config={"model": "gpt-4"}
)

# 用户代理(执行代码)
user_proxy = autogen.UserProxyAgent(
    name="User",
    code_execution_config={"work_dir": "coding"}
)

# 开始对话
user_proxy.initiate_chat(
    coder,
    message="写一个快速排序算法,并用 JUnit 测试"
)
# Coder 写代码 → User 执行 → Reviewer 审查 → Coder 修改 → ...

CrewAI 示例

CrewAI 更强调"角色"和"任务"的概念:

python
from crewai import Agent, Task, Crew

# 定义角色
researcher = Agent(
    role="高级研究员",
    goal="深入调研指定主题",
    backstory="你是一位经验丰富的研究员,擅长信息收集和分析"
)

writer = Agent(
    role="技术作家",
    goal="将研究成果写成清晰的技术文章",
    backstory="你是一位资深技术作家,擅长将复杂概念讲清楚"
)

# 定义任务
research_task = Task(
    description="调研 RAG(检索增强生成)技术的原理和实现",
    agent=researcher
)

write_task = Task(
    description="基于调研结果,写一篇 2000 字的技术文章",
    agent=writer
)

# 组建团队并执行
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task]
)

result = crew.kickoff()

角色设计建议

角色职责
Researcher搜集资料、查文档
Coder写代码、实现功能
Reviewer代码审查、找 Bug
Architect系统设计、技术选型
Tester写测试、跑测试
Product Manager需求分析、优先级排序

多 Agent 的挑战

  • 成本:多个 Agent 意味着多次 LLM 调用,费用成倍增加
  • 延迟:顺序执行时,总耗时 = 各 Agent 耗时之和
  • 协调复杂:需要设计好 Agent 之间的通信协议
  • 难以调试:出问题了,不知道是哪个 Agent 的锅

相关资源