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 等

例如:

researcher = Agent(
    role="市场研究员",
    goal="收集并整理某个行业的最新信息",
    backstory="你擅长从公开资料中提取有价值的信息"
)

Task:任务

Task 表示要交给 Agent 完成的具体工作。

例如:

task = Task(
    description="研究新能源汽车行业的最新发展趋势",
    agent=researcher,
    expected_output="一份结构清晰的趋势总结"
)

Crew:团队

Crew 是由多个 Agent 和多个 Task 组成的整体。

例如:

crew = Crew(
    agents=[researcher],
    tasks=[task]
)

kickoff:启动执行

当 Crew 定义完成后,通过 kickoff() 启动任务。

result = crew.kickoff()
print(result)

4. CrewAI 的最小使用流程

最小流程可以理解为 4 步:

第一步:安装 CrewAI

pip install crewai

如果需要使用额外工具,例如网页搜索、文件读取等,可能还需要安装:

pip install crewai-tools

第二步:配置大语言模型

CrewAI 通常需要连接一个大语言模型,比如 OpenAI、Anthropic、本地模型等。
最常见的是通过环境变量配置 API Key。

例如使用 OpenAI:

export OPENAI_API_KEY="你的 API Key"

在 Windows PowerShell 中可以写:

$env:OPENAI_API_KEY="你的 API Key"

第三步:定义 Agent 和 Task

一个最简单的例子如下:

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

result = crew.kickoff()
print(result)

执行后,CrewAI 会让指定的 Agent 完成对应任务,并输出结果。

5. 一个简单理解

如果把普通调用大模型理解成:

“我直接问一个 AI 一个问题。”

那么 CrewAI 更像是:

“我组建了一个 AI 团队,让不同成员分工完成一个复杂任务。”

它的价值不在于替代大模型本身,而在于帮助你组织多个 AI 的协作流程,让复杂任务更容易拆解、执行和管理。

6. 什么时候不一定需要 CrewAI

如果你的任务很简单,比如:

  • 翻译一句话
  • 总结一小段文本
  • 生成一个短标题
  • 回答一个普通问题

那直接调用一个大语言模型就够了,不一定需要 CrewAI。

但如果任务包含多个步骤,比如“先调研、再分析、再写报告、最后检查”,CrewAI 就比较适合。

总结

CrewAI 是一个用于搭建多智能体协作系统的框架。它适合处理复杂、多步骤、需要分工协作的任务,例如内容创作、市场调研、代码辅助和自动化办公。最小使用流程是:安装 CrewAI、配置模型、定义 Agent、定义 Task、创建 Crew,然后调用 kickoff() 执行任务。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐