[ PROMPT_NODE_22200 ]
crewai-multi-agent
[ SKILL_DOCUMENTATION ]
# CrewAI - 多智能体编排框架
构建能够协作解决复杂任务的自主 AI 智能体团队。
## 何时使用 CrewAI
**在以下场景使用 CrewAI:**
- 构建具有专业角色的多智能体系统
- 需要智能体之间进行自主协作
- 需要基于角色的任务委派(如研究员、撰稿人、分析师)
- 需要顺序或层级化的流程执行
- 构建具备记忆和可观测性的生产级工作流
- 需要比 LangChain/LangGraph 更简单的配置
**核心特性:**
- **独立性**:无 LangChain 依赖,占用空间小
- **基于角色**:智能体拥有明确的角色、目标和背景故事
- **双重范式**:Crews(自主协作)+ Flows(事件驱动)
- **50+ 工具**:支持网页抓取、搜索、数据库、AI 服务等
- **记忆系统**:支持短期记忆、长期记忆和实体记忆
- **生产就绪**:支持追踪(Tracing)及企业级功能
**替代方案:**
- **LangChain**:通用 LLM 应用、RAG 流水线
- **LangGraph**:具有循环的复杂状态工作流
- **AutoGen**:微软生态系统,侧重多智能体对话
- **LlamaIndex**:文档问答、知识检索
## 快速开始
### 安装
bash
# 核心框架
pip install crewai
# 包含 50+ 内置工具
pip install 'crewai[tools]'
### 使用 CLI 创建项目
bash
# 创建新的 crew 项目
crewai create crew my_project
cd my_project
# 安装依赖
crewai install
# 运行 crew
crewai run
### 简单示例(纯代码)
python
from crewai import Agent, Task, Crew, Process
# 1. 定义智能体
researcher = Agent(
role="资深研究分析师",
goal="发现 AI 领域的最新前沿进展",
backstory="你是一位对新兴趋势具有敏锐洞察力的专家分析师。",
verbose=True
)
writer = Agent(
role="技术撰稿人",
goal="创作关于技术主题的清晰且引人入胜的内容",
backstory="你擅长向大众解释复杂的概念。",
verbose=True
)
# 2. 定义任务
research_task = Task(
description="研究 {topic} 的最新进展。找出 5 个关键趋势。",
expected_output="一份包含 5 个关键趋势要点的详细报告。",
agent=researcher
)
write_task = Task(
description="根据研究结果撰写一篇博客文章。",
expected_output="一篇 Markdown 格式的 500 字博客文章。",
agent=writer,
context=[research_task] # 使用研究任务的输出
)
# 3. 创建并运行 crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential, # 任务按顺序执行
verbose=True
)
# 4. 执行
result = crew.kickoff(inputs={"topic": "AI 智能体"})
print(result.raw)
## 核心概念
### Agents - 自主工作者
python
from crewai import Agent
agent = Agent(
role="数据科学家", # 职位/角色
goal="分析数据以获取洞察", # 目标
backstory="统计学博士...", # 背景上下文
)