CrewAI 的文档结构主要分为项目文件结构核心概念结构两个层面。前者是你在本地创建项目时的目录布局,后者是框架本身的逻辑架构。

一、 项目文件结构(目录布局)

当你使用 crewai create命令创建新项目时,会生成一个标准化的目录结构。根据项目类型(YAML配置型或Python代码型),结构略有不同。

1. 标准项目结构(推荐)

这是官方 CLI 工具生成的标准结构,适用于大多数场景:

my_crew_project/
├── .env                    # 环境变量文件(存放 API Key)
├── pyproject.toml          # 项目依赖管理
├── README.md
└── src/
    └── my_crew_project/
        ├── __init__.py
        ├── main.py         # 主程序入口,负责启动 Crew
        ├── crew.py         # Crew 定义文件(核心逻辑)
        ├── tools/          # 自定义工具目录
        │   ├── __init__.py
        │   └── custom_tool.py
        └── config/         # 配置目录(YAML 文件)
            ├── agents.yaml # 定义所有 Agent 的角色、目标
            └── tasks.yaml  # 定义所有 Task 的描述、输出
2. 纯代码结构(高级)

如果你不使用 YAML 配置,而是完全用 Python 代码定义,结构会更像传统的 Python 包:

crewai_project/
├── agents/           # 存放 Agent 定义类
│   ├── __init__.py
│   ├── researcher.py
│   └── writer.py
├── tasks/           # 存放 Task 定义类
│   ├── __init__.py
│   ├── research_task.py
│   └── writing_task.py
├── tools/           # 自定义工具
├── models/          # Pydantic 模型(用于结构化输出)
├── utils/           # 工具函数
├── config.py        # 配置类
└── main.py          # 入口文件

二、 核心概念结构(逻辑架构)

CrewAI 的逻辑架构遵循“Agent -> Task -> Crew”的层级关系,这是理解其文档内容的关键。

1. Agent(智能体)

Agent 是执行具体工作的“员工”,每个 Agent 都有明确的角色定义。

  • Role(角色):如“研究员”、“作家”。

  • Goal(目标):如“发现最新的 AI 趋势”。

  • Backstory(背景故事):提供上下文,影响 Agent 的行为风格。

  • Tools(工具):Agent 可以调用的外部函数,如搜索、文件读写。

2. Task(任务)

Task 是具体的工作单元,分配给 Agent 执行。

  • Description(描述):详细的指令。

  • Expected Output(预期输出):任务完成后的交付物。

  • Agent Assignment(分配):指定由哪个 Agent 执行。

3. Crew(团队)

Crew 是最高层的组织者,负责将 Agents 和 Tasks 组合起来,并定义执行流程。

  • Process(流程):定义任务执行顺序(Sequential 顺序执行,Hierarchical 分层执行)。

  • Memory(记忆):是否允许 Agent 记住之前的对话历史。

  • Verbose(详细模式):是否打印详细的执行日志。

总结:CrewAI 的文档结构强调模块化角色驱动。建议先从 config/agents.yaml和 config/tasks.yaml入手,理解如何定义角色和任务,再通过 main.py和 crew.py学习如何将它们组装成团队。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐