Module 4

Module 4: Multi-Agent 协作

构建多 Agent 协作系统,用 CrewAI 实现角色驱动的 Agent 团队设计。

CrewAI角色设计Sequential/Hierarchical科研团队流水线

学习目标

构建多 Agent 协作系统,理解角色驱动的 Agent 团队设计。

为什么需要 Multi-Agent?

单 Agent 的局限:

- 一个 LLM 要处理所有类型的任务

- Prompt 越来越长,越来越难维护

- 无法利用"专人做专事"的优势

Multi-Agent 的思路:像管理一个小团队一样管理 AI。


4.1 CrewAI 核心概念


Agent (员工) + Task (任务) + Crew (团队) + Process (流程) = 协作系统

Agent 定义


Agent(
    role="论文检索专家",           # 角色
    goal="搜索最新的相关论文",      # 目标
    backstory="你是经验丰富的...",  # 背景(个性化)
    tools=[search_tool],           # 专属工具
    allow_delegation=False,        # 是否允许委派
)

Task 定义


Task(
    description="搜索 3 篇 BEV 感知论文",   # 任务描述
    expected_output="论文列表,含标题和摘要", # 期望输出格式
    agent=paper_searcher,                      # 分配给谁
)

Process 类型

Process 行为
sequential 按顺序执行 Task 1 → Task 2 → Task 3
hierarchical Manager Agent 动态分配任务

4.2 第一个 Crew (crewai_basics.py)


from crewai import Agent, Task, Crew, Process

# 定义 Agent
searcher = Agent(role="论文检索专家", goal="...", backstory="...")
analyzer = Agent(role="论文分析专家", goal="...", backstory="...")

# 定义 Task
task1 = Task(description="搜索论文", agent=searcher)
task2 = Task(description="分析论文", agent=analyzer)

# 创建 Crew
crew = Crew(
    agents=[searcher, analyzer],
    tasks=[task1, task2],
    process=Process.sequential,  # Task 1 → Task 2
)

# 执行
result = crew.kickoff()

4.3 角色设计 (hierarchical_crew.py)

好的角色设计的要素

1. role: 简洁明确("CV 研究专家" 比 "助手" 好)

2. goal: 可衡量的目标

3. backstory: 赋予个性,影响输出风格

4. tools: 只给需要的工具

Manager 模式


# 不需要给 Manager 分配具体 task
# Manager 会自动把任务委派给最合适的 agent
manager = Agent(role="研究主管", allow_delegation=True)
crew = Crew(agents=[manager, expert1, expert2], process=Process.hierarchical)

4.4 科研团队 (multi_crew_research.py)

四角色流水线


Literature Searcher → Paper Analyzer → Synthesizer → Writer
     (搜索文献)        (分析论文)      (综合归纳)     (撰写报告)

每个 Agent 专注一个环节,信息自动在 Task 间传递。


4.5 CrewAI + LangGraph 混合

CrewAI 适合"流水线"式协作,LangGraph 适合"图"式路由。

混合模式:LangGraph 作为主编排器,每个节点内部是一个 CrewAI Crew


Module 4 核心总结

概念 说明
Agent 有角色(role)、目标(goal)、背景(backstory)的 AI
Task 工作单元,有描述和期望输出
Crew Agent 集合 + Task 集合
sequential 固定顺序流水线
hierarchical Manager 动态委派
角色设计 好的 backstory 显著影响输出质量