OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  代码  ›  CrewAI — 角色驱动的多智能体协同框架

CrewAI — 角色驱动的多智能体协同框架

 
  virtualization ·  2026-02-28 11:05:00 · 77 次点击  · 0 条评论  

开源多智能体编排框架

crewAIInc%2FcrewAI | Trendshift

主页 · 文档 · 开始云端试用 · 博客 · 论坛

GitHub Repo stars GitHub forks GitHub issues GitHub pull requests License: MIT

PyPI version PyPI downloads Twitter Follow

快速灵活的多智能体自动化框架

CrewAI 是一个轻量、极速的 Python 框架,完全从零构建——独立于 LangChain 或其他智能体框架
它赋予开发者高层级的简洁性和精确的低层级控制能力,非常适合为各种场景创建自主的 AI 智能体。

  • CrewAI 智能体组 (Crews):为自主性和协作智能而优化。
  • CrewAI 工作流 (Flows):用于构建和部署多智能体系统的企业级生产架构。支持细粒度、事件驱动的控制,通过单次 LLM 调用实现精确的任务编排,并原生支持智能体组。

通过我们在 learn.crewai.com 的社区课程,已有超过 100,000 名开发者获得认证,CrewAI 正迅速成为企业级 AI 自动化的标准。

CrewAI AMP 套件

CrewAI AMP 套件是一个全面的捆绑包,专为需要安全、可扩展且易于管理的智能体驱动自动化的组织量身定制。

您可以免费试用套件的一部分:Crew 控制平面

Crew 控制平面主要特性:

  • 追踪与可观测性:实时监控和追踪您的 AI 智能体和工作流,包括指标、日志和追踪。
  • 统一控制平面:一个用于管理、监控和扩展 AI 智能体及工作流的集中式平台。
  • 无缝集成:轻松连接现有的企业系统、数据源和云基础设施。
  • 高级安全:内置强大的安全和合规措施,确保安全部署和管理。
  • 可操作的洞察:实时分析和报告,以优化性能和决策。
  • 7x24 小时支持:专门的企业支持,确保持续运行和快速解决问题。
  • 本地和云端部署选项:根据您的安全和合规要求,在本地或云端部署 CrewAI AMP。

CrewAI AMP 专为寻求强大、可靠解决方案以将复杂业务流程转化为高效智能自动化的企业而设计。

目录

为什么选择 CrewAI?

CrewAI Logo

CrewAI 释放了多智能体自动化的真正潜力,通过 AI 智能体组或事件工作流,提供了速度、灵活性和控制力的最佳组合:

  • 独立框架:从零构建,独立于 LangChain 或任何其他智能体框架。
  • 高性能:针对速度和最小资源使用进行优化,实现更快的执行。
  • 灵活的低层级自定义:完全自由地在高低两个层级进行定制——从整体工作流和系统架构到细粒度的智能体行为、内部提示和执行逻辑。
  • 适用于各种用例:经验证对简单任务和高度复杂的现实世界企业级场景都有效。
  • 强大的社区:拥有一个快速增长、超过 100,000 名认证开发者的社区,提供全面的支持和资源。

CrewAI 赋能开发者和企业自信地构建智能自动化,弥合了简洁性、灵活性和性能之间的差距。

快速开始

按照本教程设置并运行您的第一个 CrewAI 智能体。

CrewAI 快速开始教程

学习资源

通过我们的综合课程学习 CrewAI:

理解工作流与智能体组

CrewAI 提供了两种强大且互补的方法,它们可以无缝协作以构建复杂的 AI 应用:

  1. 智能体组 (Crews):具有真正自主性和能动性的 AI 智能体团队,通过基于角色的协作共同完成复杂任务。智能体组支持:

    • 智能体之间自然、自主的决策
    • 动态任务委派和协作
    • 具有明确目标和专业知识的专门角色
    • 灵活的问题解决方法
  2. 工作流 (Flows):生产就绪的、事件驱动的工作流,可对复杂自动化实现精确控制。工作流提供:

    • 对现实场景执行路径的细粒度控制
    • 任务之间安全、一致的状态管理
    • 将 AI 智能体与生产 Python 代码的清晰集成
    • 复杂业务逻辑的条件分支

CrewAI 的真正威力在于结合使用智能体组和工作流。这种协同作用使您能够:

  • 构建复杂的、生产级的应用程序
  • 平衡自主性与精确控制
  • 处理复杂的现实世界场景
  • 保持清晰、可维护的代码结构

安装指南

按照以下简单步骤开始使用 CrewAI:

1. 安装

确保您的系统已安装 Python >=3.10 <3.14。CrewAI 使用 UV 进行依赖管理和包处理,提供无缝的设置和执行体验。

首先,安装 CrewAI:

uv pip install crewai

如果您想安装包含为智能体提供额外工具的 'crewai' 包及其可选功能,可以使用以下命令:

uv pip install 'crewai[tools]'

上述命令安装了基础包,并添加了需要更多依赖才能运行的额外组件。

依赖故障排除

如果在安装或使用过程中遇到问题,以下是一些常见的解决方案:

常见问题

  1. ModuleNotFoundError: No module named 'tiktoken'

    • 显式安装 tiktoken:uv pip install 'crewai[embeddings]'
    • 如果使用 embedchain 或其他工具:uv pip install 'crewai[tools]'
  2. Failed building wheel for tiktoken

    • 确保已安装 Rust 编译器(参见上面的安装步骤)
    • 对于 Windows:验证是否安装了 Visual C++ Build Tools
    • 尝试升级 pip:uv pip install --upgrade pip
    • 如果问题仍然存在,使用预构建的 wheel:uv pip install tiktoken --prefer-binary

2. 使用 YAML 配置设置您的智能体组

要创建一个新的 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)

3. 运行您的智能体组

在运行智能体组之前,请确保您已在 .env 文件中设置了以下键作为环境变量:

  • 一个 OpenAI API 密钥(或其他 LLM API 密钥):OPENAI_API_KEY=sk-...
  • 一个 Serper.dev API 密钥: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 智能体框架脱颖而出,提供简洁性、灵活性和精确控制——避免了其他智能体框架的复杂性和局限性。

  • 独立且轻量:完全独立于 LangChain 等其他框架,提供更快的执行速度和更少的资源需求。
  • 灵活且精确:通过直观的智能体组或精确的工作流轻松编排自主智能体,实现您需求的完美平衡。
  • 无缝集成:轻松结合智能体组(自主性)和工作流(精确性)来创建复杂的现实世界自动化。
  • 深度定制:定制每个方面——从高层工作流到低层内部提示和智能体行为。
  • 可靠性能:在简单任务和复杂的企业级自动化中均能获得一致的结果。
  • 活跃社区:拥有强大的文档支持和超过 100,000 名认证开发者,提供卓越的支持和指导。

选择 CrewAI,轻松构建强大、适应性强且生产就绪的 AI 自动化。

示例

您可以在 CrewAI-examples 仓库 中测试不同的 AI 智能体组现实生活示例:

77 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor