核心框架25k+ · since 2024 · Python

CrewAI

by crewAIInc

Role-based teams · business-friendly by design

双层架构:Crew(自治协作)+ Flow(事件驱动控制流),把业务流程映射成一支 AI 团队。

主要内容

CrewAI 押注一个观念:企业里的工作本来就是团队协作,那 AI 也应该按团队的方式组织。每个 agent 有 role / goal / backstory,就像员工的岗位、目标、简历。Crew 是自治层,你给任务,agent 自己委派。Flow 是确定性层,事件驱动、条件分支、Pydantic 共享状态,用来搭骨架。两层混用才是精髓:骨架用 Flow 确保流程不乱,创造性环节让 Crew 自由发挥。文档极多、社区教程活跃,是非技术背景的 PM 和 analyst 的首选。

核心关注点

关心"团队协作的比喻"而不是技术抽象。让非技术背景的同事也能读懂 agent 代码。

角色建模业务流程友好教程社区活跃Pydantic 状态双层自治 + 确定性

安装与 hello world

$ pip install crewai crewai-tools
hello-world.py
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool
 
researcher = Agent(
    role="Senior Research Analyst",
    goal="挖掘 AI agent 领域最新趋势",
    backstory="你有 10 年行业分析经验,以识别早期信号见长。",
    tools=[SerperDevTool()],
    verbose=True,
)
 
writer = Agent(
    role="Tech Writer",
    goal="写清晰、不废话的技术分析",
    backstory="你在 Stratechery 风格的分析媒体工作多年。",
)
 
research = Task(
    description="调研 {topic} 方向过去 30 天的新进展",
    agent=researcher,
    expected_output="5 个关键发现,每个附带来源",
)
 
write = Task(
    description="基于调研写一篇 800 字分析",
    agent=writer,
    context=[research],
    expected_output="一篇结构化的分析文章",
)
 
crew = Crew(
    agents=[researcher, writer],
    tasks=[research, write],
    process=Process.sequential,
)
result = crew.kickoff(inputs={"topic": "harness engineering"})

关键 API / 概念

Agent(role, goal, backstory)

角色三要素。backstory 质量直接影响 agent 行为,不要空。

Task(description, expected_output, context)

任务描述 + 期望输出 + 上游依赖(context 数组)。

Crew(process=sequential|hierarchical)

顺序执行 vs 有 manager agent 动态委派。

Flow

@start、@listen 装饰器搭事件驱动图,适合确定性部分。

适用场景

01

内容生产流水线

researcher → writer → editor → SEO specialist,每个 agent 一个角色,产出博客 / 报告 / 营销文案。

02

市场与竞品分析

数据爬取 agent + 趋势分析 agent + 洞察撰写 agent,一键产出季度分析报告。

03

业务流程自动化

合同审查、报销审核、面试初筛,能映射成"一支团队"的业务流程都合适。

什么时候别用

  • 需要精细分支 / 长时 checkpoint 恢复:LangGraph 更硬
  • 只是单 agent:角色抽象反而累赘

vs 相邻选项

vs AutoGen

都用团队比喻,但 CrewAI 更产品化,AutoGen 更研究化。

vs LangGraph

LangGraph 暴露图结构给开发者,CrewAI 把图藏起来只给你"团队"这个概念。