构建你的第一个 Crew
逐步教程,教你如何创建一个协作式人工智能团队,共同解决复杂问题。
释放协作式人工智能的力量
想象一下,拥有一支由专业 AI 代理组成的团队,他们无缝协作解决复杂问题,每个代理贡献其独特技能以实现共同目标。这就是 CrewAI 的力量——一个使你能够创建协作式 AI 系统、完成单个 AI 无法单独完成的任务的框架。
在本指南中,我们将逐步创建一个研究 Crew,它将帮助我们研究和分析一个主题,然后生成一份全面的报告。这个实际示例展示了 AI 代理如何协作完成复杂任务,但这只是 CrewAI 可能实现的开端。
你将构建和学习什么
通过本指南的学习,你将:
- 创建一支具有独特角色和职责的专业 AI 研究团队
- 协调多个 AI 代理之间的协作
- 自动化一个涉及信息收集、分析和报告生成的复杂工作流程
- 建立可应用于更宏大项目的基础技能
虽然我们在本指南中构建的是一个简单的研究 Crew,但相同的模式和技术可应用于创建更复杂的团队,以完成诸如以下任务:
- 多阶段内容创作,由专业作家、编辑和事实核查员协作完成
- 分级支持代理组成的复杂客户服务系统
- 收集数据、创建可视化并生成洞见的自主业务分析师
- 进行构思、设计和规划实施的产品开发团队
让我们开始构建你的第一个 Crew 吧!
先决条件
在开始之前,请确保你已具备以下条件:
步骤 1:创建一个新的 CrewAI 项目
首先,让我们使用 CLI 创建一个新的 CrewAI 项目。此命令将设置一个完整的项目结构,包含所有必要文件,让你能够专注于定义代理及其任务,而不是设置样板代码。
这将生成一个包含你的 Crew 所需基本结构的项目。CLI 会自动创建:
- 包含必要文件的项目目录
- 代理和任务的配置文件
- 基本的 Crew 实现
- 运行 Crew 的主脚本
CrewAI 框架概览
步骤 2:探索项目结构
让我们花点时间了解一下 CLI 创建的项目结构。CrewAI 遵循 Python 项目的最佳实践,使你的代码随着 Crew 变得更复杂时,更容易维护和扩展。
这种结构遵循 Python 项目的最佳实践,使组织代码变得容易。将配置文件(YAML 格式)与实现代码(Python 格式)分离,可以让你在不改变底层代码的情况下轻松修改 Crew 的行为。
步骤 3:配置你的代理
现在进入有趣的部分——定义你的 AI 代理!在 CrewAI 中,代理是具有特定角色、目标和背景故事的专业实体,这些塑造了它们的行为。可以将它们视为戏剧中的角色,每个角色都有自己的个性和目的。
对于我们的研究 Crew,我们将创建两个代理:
- 一名擅长查找和组织信息的研究员
- 一名能够解读研究结果并创建有深度报告的分析师
让我们修改 agents.yaml
文件来定义这些专业代理。请确保将 llm
设置为你使用的提供商。
注意每个代理都有独特的角色、目标和背景故事。这些元素不仅仅是描述性的——它们积极塑造了代理执行任务的方式。通过精心设计这些要素,你可以创建具有专业技能和互补视角的代理。
步骤 4:定义你的任务
定义好代理后,我们现在需要给它们分配具体的任务。CrewAI 中的任务代表代理将要执行的具体工作,包含详细的指示和期望的输出。
对于我们的研究 Crew,我们将定义两个主要任务:
- 一项用于收集全面信息的研究任务
- 一项用于创建有深度报告的分析任务
让我们修改 tasks.yaml
文件
注意分析任务中的 context
字段——这是一个强大的特性,允许分析师访问研究任务的输出。这创建了一个工作流程,信息在代理之间自然流动,就像在人类团队中一样。
步骤 5:配置你的 Crew
现在是将所有内容整合在一起的时候了,通过配置我们的 Crew。Crew 是协调代理如何协作完成任务的容器。
让我们修改 crew.py
文件
在这段代码中,我们正在进行以下操作:
- 创建研究员代理并为其配备 SerperDevTool 以搜索网页
- 创建分析师代理
- 设置研究和分析任务
- 配置 Crew 按顺序运行任务(分析师将等待研究员完成)
神奇之处就在于此——只需几行代码,我们就定义了一个协作式 AI 系统,其中专业代理在协调的流程中协同工作。
步骤 6:设置你的主脚本
现在,让我们设置运行 Crew 的主脚本。在这里,我们提供希望 Crew 研究的具体主题。
这个脚本准备环境,指定我们的研究主题,并启动 Crew 的工作。CrewAI 的强大之处在于代码的简洁性——管理多个 AI 代理的所有复杂性都由框架处理。
步骤 7:设置你的环境变量
在你的项目根目录中创建一个 .env
文件,包含你的 API 密钥
有关配置你选择的提供商的详细信息,请参阅LLM 设置指南。你可以从Serper.dev获取 Serper API 密钥。
步骤 8:安装依赖
使用 CrewAI CLI 安装所需的依赖
此命令将:
- 从你的项目配置中读取依赖
- 如果需要,创建虚拟环境
- 安装所有必需的包
步骤 9:运行你的 Crew
现在到了激动人心的时刻——是时候运行你的 Crew,看看 AI 协作实际运作了!
当你运行此命令时,你会看到你的 Crew 活跃起来。研究员将收集关于指定主题的信息,然后分析师将根据该研究创建一份全面的报告。当它们一起完成任务时,你将实时看到代理的思考过程、行动和输出。
步骤 10:查看输出
Crew 完成工作后,你将在 output/report.md
文件中找到最终报告。报告将包括:
- 执行摘要
- 关于主题的详细信息
- 分析和洞见
- 建议或未来考量
花点时间欣赏你所取得的成就——你创建了一个系统,其中多个 AI 代理协作完成一项复杂任务,每个代理贡献其专业技能,产生的结果远超任何单个代理所能单独实现。
探索其他 CLI 命令
CrewAI 提供了其他一些用于处理 Crew 的实用 CLI 命令
可能性的艺术:超越你的第一个 Crew
你在本指南中构建的只是个开始。你所学的技能和模式可以应用于创建日益复杂的 AI 系统。以下是一些扩展此基本研究 Crew 的方法:
扩展你的 Crew
你可以向你的 Crew 添加更多专业代理:
- 一名用于验证研究结果的事实核查员
- 一名用于创建图表的数据可视化师
- 一名在特定领域拥有专业知识的领域专家
- 一名用于找出分析中弱点的评论员
添加工具和功能
你可以使用额外的工具来增强你的代理:
- 用于实时研究的网页浏览工具
- 用于数据分析的 CSV/数据库工具
- 用于数据处理的代码执行工具
- 连接外部服务的 API
创建更复杂的工作流程
你可以实现更复杂的流程:
- 分层流程,其中管理器代理将任务委托给工作代理
- 带有反馈循环的迭代流程,用于改进
- 并行流程,多个代理同时工作
- 根据中间结果动态调整的流程
应用于不同领域
同样的模式可以应用于创建用于以下领域的 Crew:
- 内容创作:作家、编辑、事实核查员和设计师协同工作
- 客户服务:分诊代理、专家和质量控制人员协同工作
- 产品开发:研究员、设计师和规划师协作
- 数据分析:数据收集者、分析师和可视化专家
下一步
既然你已经构建了你的第一个 Crew,你可以尝试:
- 尝试不同的代理配置和个性
- 尝试更复杂的任务结构和工作流程
- 实现自定义工具,赋予你的代理新功能
- 将你的 Crew 应用于不同的主题或问题领域
- 探索CrewAI 流程,以实现更高级的、带有过程式编程的工作流程
恭喜!你已成功构建了你的第一个 CrewAI Crew,它能够研究和分析你提供的任何主题。这一基础经验为你提供了技能,使你能够创建日益复杂的 AI 系统,通过协作智能解决复杂的多阶段问题。