CrewAI 是一个轻量、极速的 Python 框架,完全从零构建——独立于 LangChain 或其他智能体框架。
它赋予开发者高层级的简洁性和精确的低层级控制能力,非常适合为各种场景创建自主的 AI 智能体。
通过我们在 learn.crewai.com 的社区课程,已有超过 100,000 名开发者获得认证,CrewAI 正迅速成为企业级 AI 自动化的标准。
CrewAI AMP 套件是一个全面的捆绑包,专为需要安全、可扩展且易于管理的智能体驱动自动化的组织量身定制。
您可以免费试用套件的一部分:Crew 控制平面
CrewAI AMP 专为寻求强大、可靠解决方案以将复杂业务流程转化为高效智能自动化的企业而设计。
CrewAI 释放了多智能体自动化的真正潜力,通过 AI 智能体组或事件工作流,提供了速度、灵活性和控制力的最佳组合:
CrewAI 赋能开发者和企业自信地构建智能自动化,弥合了简洁性、灵活性和性能之间的差距。
按照本教程设置并运行您的第一个 CrewAI 智能体。
学习资源
通过我们的综合课程学习 CrewAI:
CrewAI 提供了两种强大且互补的方法,它们可以无缝协作以构建复杂的 AI 应用:
智能体组 (Crews):具有真正自主性和能动性的 AI 智能体团队,通过基于角色的协作共同完成复杂任务。智能体组支持:
工作流 (Flows):生产就绪的、事件驱动的工作流,可对复杂自动化实现精确控制。工作流提供:
CrewAI 的真正威力在于结合使用智能体组和工作流。这种协同作用使您能够:
按照以下简单步骤开始使用 CrewAI:
确保您的系统已安装 Python >=3.10 <3.14。CrewAI 使用 UV 进行依赖管理和包处理,提供无缝的设置和执行体验。
首先,安装 CrewAI:
uv pip install crewai
如果您想安装包含为智能体提供额外工具的 'crewai' 包及其可选功能,可以使用以下命令:
uv pip install 'crewai[tools]'
上述命令安装了基础包,并添加了需要更多依赖才能运行的额外组件。
如果在安装或使用过程中遇到问题,以下是一些常见的解决方案:
ModuleNotFoundError: No module named 'tiktoken'
uv pip install 'crewai[embeddings]'uv pip install 'crewai[tools]'Failed building wheel for tiktoken
uv pip install --upgrade pipuv pip install tiktoken --prefer-binary要创建一个新的 CrewAI 项目,请运行以下 CLI(命令行界面)命令:
crewai create crew <项目名称>
此命令将创建一个具有以下结构的新项目文件夹:
my_project/
├── .gitignore
├── pyproject.toml
├── README.md
├── .env
└── src/
└── my_project/
├── __init__.py
├── main.py
├── crew.py
├── tools/
│ ├── custom_tool.py
│ └── __init__.py
└── config/
├── agents.yaml
└── tasks.yaml
现在,您可以通过编辑 src/my_project 文件夹中的文件来开始开发您的智能体组。main.py 文件是项目的入口点,crew.py 文件是您定义智能体组的地方,agents.yaml 文件是您定义智能体的地方,tasks.yaml 文件是您定义任务的地方。
src/my_project/config/agents.yaml 以定义您的智能体。src/my_project/config/tasks.yaml 以定义您的任务。src/my_project/crew.py 以添加您自己的逻辑、工具和特定参数。src/my_project/main.py 以添加智能体和任务的自定义输入。.env 文件中。实例化您的智能体组:
crewai create crew latest-ai-development
根据需要修改文件以适应您的用例:
agents.yaml
# src/my_project/config/agents.yaml
researcher:
role: >
{topic} 高级数据研究员
goal: >
发掘 {topic} 领域的前沿发展
backstory: >
您是一位经验丰富的研究员,擅长发掘 {topic} 领域的最新发展。以能够找到最相关信息并以清晰简洁的方式呈现而闻名。
reporting_analyst:
role: >
{topic} 报告分析师
goal: >
基于 {topic} 数据分析和研究发现创建详细报告
backstory: >
您是一位细致入微的分析师,具有敏锐的洞察力。您以能够将复杂数据转化为清晰简洁的报告而闻名,使他人易于理解并据此采取行动。
tasks.yaml
# src/my_project/config/tasks.yaml
research_task:
description: >
对 {topic} 进行深入研究
确保您找到任何有趣且相关的信息,考虑到当前是 2025 年。
expected_output: >
关于 {topic} 的 10 个要点的列表,包含最相关的信息
agent: researcher
reporting_task:
description: >
审查您获得的上下文,并将每个主题扩展为报告的完整章节。
确保报告详细并包含所有相关信息。
expected_output: >
一份完整的报告,包含主要主题,每个主题都有完整的信息章节。
格式化为 Markdown,不带 '```'
agent: reporting_analyst
output_file: report.md
crew.py
# src/my_project/crew.py
from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task
from crewai_tools import SerperDevTool
from crewai.agents.agent_builder.base_agent import BaseAgent
from typing import List
@CrewBase
class LatestAiDevelopmentCrew():
"""LatestAiDevelopment 智能体组"""
agents: List[BaseAgent]
tasks: List[Task]
@agent
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
verbose=True,
tools=[SerperDevTool()]
)
@agent
def reporting_analyst(self) -> Agent:
return Agent(
config=self.agents_config['reporting_analyst'],
verbose=True
)
@task
def research_task(self) -> Task:
return Task(
config=self.tasks_config['research_task'],
)
@task
def reporting_task(self) -> Task:
return Task(
config=self.tasks_config['reporting_task'],
output_file='report.md'
)
@crew
def crew(self) -> Crew:
"""创建 LatestAiDevelopment 智能体组"""
return Crew(
agents=self.agents, # 由 @agent 装饰器自动创建
tasks=self.tasks, # 由 @task 装饰器自动创建
process=Process.sequential,
verbose=True,
)
main.py
#!/usr/bin/env python
# src/my_project/main.py
import sys
from latest_ai_development.crew import LatestAiDevelopmentCrew
def run():
"""
运行智能体组。
"""
inputs = {
'topic': 'AI Agents'
}
LatestAiDevelopmentCrew().crew().kickoff(inputs=inputs)
在运行智能体组之前,请确保您已在 .env 文件中设置了以下键作为环境变量:
OPENAI_API_KEY=sk-...SERPER_API_KEY=YOUR_KEY_HERE锁定依赖项并使用 CLI 命令安装它们,但首先,导航到您的项目目录:
cd my_project
crewai install (可选)
要运行您的智能体组,请在项目根目录执行以下命令:
crewai run
或
python src/my_project/main.py
如果由于使用 poetry 而发生错误,请运行以下命令更新您的 crewai 包:
crewai update
您应该在控制台中看到输出,并且 report.md 文件应在项目根目录中创建,包含完整的最终报告。
除了顺序流程,您还可以使用分层流程,它会自动为定义的智能体组分配一个管理者,以通过委派和结果验证来妥善协调任务的计划和执行。在此处查看更多关于流程的信息。
CrewAI 作为一个轻量、独立、高性能的多 AI 智能体框架脱颖而出,提供简洁性、灵活性和精确控制——避免了其他智能体框架的复杂性和局限性。
选择 CrewAI,轻松构建强大、适应性强且生产就绪的 AI 自动化。
您可以在 CrewAI-examples 仓库 中测试不同的 AI 智能体组现实生活示例: