文章目录
-
- [1. CrewAI 是什么](#1. CrewAI 是什么)
- [2. CrewAI 适合什么场景](#2. CrewAI 适合什么场景)
- [3. CrewAI 的核心概念](#3. CrewAI 的核心概念)
- [4. CrewAI 的最小使用流程](#4. CrewAI 的最小使用流程)
-
- [第一步:安装 CrewAI](#第一步:安装 CrewAI)
- 第二步:配置大语言模型
- [第三步:定义 Agent 和 Task](#第三步:定义 Agent 和 Task)
- [第四步:启动 Crew](#第四步:启动 Crew)
- [5. 一个简单理解](#5. 一个简单理解)
- [6. 什么时候不一定需要 CrewAI](#6. 什么时候不一定需要 CrewAI)
- 总结
CrewAI 是一个用于构建"多智能体协作应用"的 Python 框架。简单来说,它可以让你创建多个 AI Agent(智能体),每个 Agent 有自己的角色、目标和工具,然后让它们像一个小团队一样分工合作,完成较复杂的任务。
1. CrewAI 是什么
CrewAI 的核心思想是:
把一个复杂任务拆成多个子任务,再交给不同角色的 AI Agent 协作完成。
例如,你想生成一篇市场分析报告,可以设计:
- 研究员 Agent:负责搜索和整理资料
- 分析师 Agent:负责分析数据和提炼观点
- 写作 Agent:负责把结果写成报告
- 审校 Agent:负责检查内容质量和逻辑
这些 Agent 组成一个 Crew,也就是"团队"。CrewAI 会按照你设定的流程,让它们依次或协同完成任务。
2. CrewAI 适合什么场景
CrewAI 适合那些"不是一句话就能完成",而是需要多步骤、多角色协作的任务。
常见场景包括:
1)内容创作
例如:
- 写公众号文章
- 生成营销文案
- 制作视频脚本
- 写产品介绍
- 生成 SEO 文章
可以让一个 Agent 负责选题,一个负责查资料,一个负责写作,一个负责润色。
2)市场调研
例如:
- 分析竞品
- 整理行业趋势
- 总结用户反馈
- 生成调研报告
不同 Agent 可以分别负责资料收集、信息分析和报告生成。
3)代码辅助
例如:
- 需求分析
- 代码生成
- 单元测试
- 代码审查
- 技术文档生成
可以设计产品经理 Agent、开发 Agent、测试 Agent 和文档 Agent。
4)自动化办公
例如:
- 整理会议纪要
- 分析 Excel 数据
- 编写邮件
- 生成周报
- 制作任务计划
CrewAI 可以把这些办公流程自动串起来。
5)复杂决策辅助
例如:
- 制定学习计划
- 制定项目方案
- 分析投资信息
- 设计运营策略
多个 Agent 可以从不同角度给出建议,再汇总成最终方案。
3. CrewAI 的核心概念
使用 CrewAI 时,通常会接触几个重要概念:
Agent:智能体
Agent 就像团队成员。
每个 Agent 通常有:
- 角色:它是谁
- 目标:它要完成什么
- 背景描述:它擅长什么
- 工具:它可以使用哪些能力,比如搜索网页、读取文件、调用 API 等
例如:
python
researcher = Agent(
role="市场研究员",
goal="收集并整理某个行业的最新信息",
backstory="你擅长从公开资料中提取有价值的信息"
)
Task:任务
Task 表示要交给 Agent 完成的具体工作。
例如:
python
task = Task(
description="研究新能源汽车行业的最新发展趋势",
agent=researcher,
expected_output="一份结构清晰的趋势总结"
)
Crew:团队
Crew 是由多个 Agent 和多个 Task 组成的整体。
例如:
python
crew = Crew(
agents=[researcher],
tasks=[task]
)
kickoff:启动执行
当 Crew 定义完成后,通过 kickoff() 启动任务。
python
result = crew.kickoff()
print(result)
4. CrewAI 的最小使用流程
最小流程可以理解为 4 步:
第一步:安装 CrewAI
bash
pip install crewai
如果需要使用额外工具,例如网页搜索、文件读取等,可能还需要安装:
bash
pip install crewai-tools
第二步:配置大语言模型
CrewAI 通常需要连接一个大语言模型,比如 OpenAI、Anthropic、本地模型等。
最常见的是通过环境变量配置 API Key。
例如使用 OpenAI:
bash
export OPENAI_API_KEY="你的 API Key"
在 Windows PowerShell 中可以写:
powershell
$env:OPENAI_API_KEY="你的 API Key"
第三步:定义 Agent 和 Task
一个最简单的例子如下:
python
from crewai import Agent, Task, Crew
researcher = Agent(
role="技术研究员",
goal="用简单语言解释一个技术概念",
backstory="你擅长面向初学者解释复杂技术"
)
task = Task(
description="请介绍 CrewAI 是什么,以及它适合哪些使用场景",
expected_output="一段结构清晰、适合初学者阅读的中文说明",
agent=researcher
)
crew = Crew(
agents=[researcher],
tasks=[task]
)
第四步:启动 Crew
python
result = crew.kickoff()
print(result)
执行后,CrewAI 会让指定的 Agent 完成对应任务,并输出结果。
5. 一个简单理解
如果把普通调用大模型理解成:
"我直接问一个 AI 一个问题。"
那么 CrewAI 更像是:
"我组建了一个 AI 团队,让不同成员分工完成一个复杂任务。"
它的价值不在于替代大模型本身,而在于帮助你组织多个 AI 的协作流程,让复杂任务更容易拆解、执行和管理。
6. 什么时候不一定需要 CrewAI
如果你的任务很简单,比如:
- 翻译一句话
- 总结一小段文本
- 生成一个短标题
- 回答一个普通问题
那直接调用一个大语言模型就够了,不一定需要 CrewAI。
但如果任务包含多个步骤,比如"先调研、再分析、再写报告、最后检查",CrewAI 就比较适合。
总结
CrewAI 是一个用于搭建多智能体协作系统的框架。它适合处理复杂、多步骤、需要分工协作的任务,例如内容创作、市场调研、代码辅助和自动化办公。最小使用流程是:安装 CrewAI、配置模型、定义 Agent、定义 Task、创建 Crew,然后调用 kickoff() 执行任务。