单个AI不够用?这个开源神器,让你组建一支“AI梦之队”!
摘要:crewAI是一个开源框架,让用户能够组建和管理由多个专业化AI智能体组成的"梦之队",实现复杂任务的自动协作。通过定义角色(Agent)、任务(Task)、工具(Tools)和团队流程(Crew),用户可以像管理公司一样指挥AI团队分工合作。例如,创建一个"研究员+撰稿人"团队,只需10分钟配置就能自动完成行业调研和报告撰写。crewAI将AI交互从
你是否曾感觉,和AI(比如Deepseek)的互动就像和一个“万事通”聊天?它什么都懂一点,但很难在某个特定任务上做到极致的专业。当你需要完成一个复杂任务,比如“调研最新的AI行业趋势并撰写一篇深度分析报告”时,你往往需要自己扮演项目经理,不断地引导、追问、整合信息,过程相当繁琐。
但如果,你可以不再只与一个“通才”AI对话,而是直接组建并管理一个各司其职的“AI专家梦之队”呢?
• 一位市场研究员,负责上网搜集所有相关数据和报告。
• 一位资深分析师,负责从数据中提炼核心观点和趋势。
• 一位顶级文案,负责将分析结果润色成一篇引人入胜的文章。
这个听起来像科幻电影的场景,现在已经可以通过一个名为 crewAI 的开源框架轻松实现。它让你从“AI的使用者”,一跃成为“AI团队的管理者”!

1. 什么是crewAI?从“单兵作战”到“团队协作”
crewAI 是一个专为编排和协调多个AI智能体(Agent)协同工作而设计的框架。它的核心理念是:复杂任务的最佳解决方案,并非来自一个无所不能的超级AI,而是源于一个由多个拥有特定角色和技能的AI组成的、目标明确的团队。
就像一家公司,有CEO、有技术、有市场、有销售,每个角色各司其职,才能高效运转。crewAI让你能够用代码定义出这样一支AI团队,它们可以自主地沟通、协作、分配任务,最终合力完成一个宏大的目标。
2. crewAI的核心组件:如何组建一支AI梦之队?
在crewAI的世界里,组建一个AI团队只需要理解四个核心概念:
1. 智能体 (Agent)
这是你的团队成员。每一个Agent都是一个拥有特定背景和专长的“AI专家”。你需要为它定义:
• role (角色): 比如,“资深市场分析师”。
• goal (目标): 比如,“分析AI行业的最新趋势”。
• backstory (背景故事): 一段关于这个Agent的描述,可以帮助AI更好地“角色扮演”,从而更专业地完成任务。
• tools (工具): 赋予Agent可使用的“技能”,比如“上网搜索”、“读写文件”等。
2. 任务 (Task)
这是你需要分配给Agent的具体工作。每一项Task都应该是一个清晰、可执行的指令,比如:“调研并总结2024年第二季度AI领域最重要的5个技术突破”。
3. 工具 (Tools)
这是你的AI团队可以使用的“装备”。crewAI可以轻松集成各种工具,最常见的就是“搜索引擎工具”,让你的AI能够从互联网获取实时信息。
4. 团队 (Crew)
这是你的AI梦之队本身。你需要将定义好的Agents和Tasks组合起来,并设定一个协作流程 (Process),比如“串行执行”(一个接一个完成)或“并行执行”。一旦“开球”(Kickoff),这个AI团队就会开始自主工作,直到所有任务完成。
3. 10分钟上手:打造一个“AI分析师 + AI撰稿人”团队
理论讲完,我们来个实战。假设我们需要AI团队完成一个任务:分析“AI在金融科技(FinTech)领域的应用”,并撰写一篇简短的博客文章。
第一步:安装crewAI
pip install crewai
同时,你需要设置你的大模型API密钥(比如OpenAI的OPENAI_API_KEY),crewAI会用它来驱动AI的“大脑”。
第二步:编写你的“AI梦之队”脚本
要创建新的 CrewAI 项目,请运行以下 CLI(命令行界面)命令:
crewai create crew <project_name>
此命令创建一个具有以下结构的新项目文件夹:
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文件中。
根据你的使用场景需求,对文件进行必要修改:
# src/my_project/config/agents.yaml
researcher:
role:>
{topic} 高级市场研究员
goal:>
发现并分析{topic}在金融科技领域的最新应用和趋势
backstory:>
你是一家顶级科技咨询公司的资深分析师,擅长从海量信息中挖掘技术应用的商业价值.
reporting_analyst:
role:>
{topic} 专业科技撰稿人
goal:>
将复杂的 {topic}趋势,用通俗易懂的语言写成引人入胜的博客文章
backstory: >
你是一位知名的科技博主,以其清晰、简洁且富有洞察力的写作风格而闻名
你能够让普通读者也能轻松理解前沿技术.
# src/my_project/config/tasks.yaml
research_task:
description:>
调研{topic}在金融科技领域的最新应用
特别关注支付、借贷、财富管理和反欺诈这四个方面
总结出3-5个核心要点
expected_output:>
一份包含3-5个核心要点的研究摘要报告关于 {topic}
agent:researcher
reporting_task:
description:>
根据研究员提供的摘要报告,撰写一篇500字左右的博客文章
文章风格应通俗易懂,重点突出 {topic}带来的变革
expected_output:>
一份内容完备的报告,需包含核心主题且每个主题都要有一整节的详细信息
格式要求:采用 Markdown 格式,且不使用 “```” 符号
agent:reporting_analyst
output_file: report.md
# 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 importList
@CrewBase
classLatestAiDevelopmentCrew():
"""LatestAiDevelopment crew"""
agents: List[BaseAgent]
tasks: List[Task]
@agent
defresearcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
verbose=True,
tools=[SerperDevTool()]
)
@agent
defreporting_analyst(self) -> Agent:
return Agent(
config=self.agents_config['reporting_analyst'],
verbose=True
)
@task
defresearch_task(self) -> Task:
return Task(
config=self.tasks_config['research_task'],
)
@task
defreporting_task(self) -> Task:
return Task(
config=self.tasks_config['reporting_task'],
output_file='report.md'
)
@crew
defcrew(self) -> Crew:
"""Creates the LatestAiDevelopment crew"""
return Crew(
agents=self.agents, # Automatically created by the @agent decorator
tasks=self.tasks, # Automatically created by the @task decorator
process=Process.sequential,
verbose=True,
)
#!/usr/bin/env python
# src/my_project/main.py
import sys
from latest_ai_development.crew import LatestAiDevelopmentCrew
def run():
"""
Run the crew.
"""
inputs = {
'topic': 'AI Agents'
}
LatestAiDevelopmentCrew().crew().kickoff(inputs=inputs)
第三步:运行并见证奇迹
在运行你的crew之前,请确保你的文件中已将以下键设置为环境变量.env:
OpenAI API 密钥(或其他 LLM API 密钥):OPENAI_API_KEY=sk-...
Serper.dev API密钥:SERPER_API_KEY=YOUR_KEY_HERE
请在项目根目录中执行以下命令:
crewai run
接下来,你会看到crewAI的魔法:
1. 研究员Agent开始工作,它会使用搜索工具,在网上搜索相关信息。
2. 完成研究后,它会生成一份摘要报告,作为撰稿人Agent的输入。
3. 撰稿人Agent接收到报告,开始构思并撰写博客文章。
4. 最终,一篇由AI团队协作完成的文章,会打印在你的屏幕上。

整个过程无需你进行任何干预,一个复杂的“研究+写作”任务就由AI团队自主完成了!
4. crewAI的未来:开启协作智能新时代
crewAI的出现,标志着我们与AI的交互方式正在从“一对一”的问答,走向“一对多”的任务编排。这不仅仅是效率的提升,更是解决问题能力的飞跃。
无论是构建一个自动化的软件开发团队(产品经理AI + 程序员AI + 测试员AI),还是创建一个内容营销团队(策略师AI + 撰稿人AI + 设计师AI),crewAI都为我们提供了无限的想象空间。
未来已来,现在就动手,用crewAI组建属于你自己的第一支AI梦之队吧!
5. 推荐阅读
深入理解 Qwen-Agent:从"看懂图片"到构建自主AI
Qwen3-VL震撼登场!工业智能质检系统Dify实战案例让你3分钟上手最强视觉AI
想了解更多AI工具和技术趋势?关注我,每周为你带来最新的AI资讯和实用教程!
参考资料:
-
GitHub项目地址: https://github.com/crewAIInc/crewAI
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)