crewAI的文档结构的详细说明
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学习如何将它们组装成团队。
更多推荐
所有评论(0)