三個 Agent 走進一間 bar。Researcher 說:「我找到十篇最新論文。」Analyst 說:「其中三篇有嚴重方法論問題。」Writer 說:「報告寫好了,要不要配個 meme?」

這不是笑話,這是 CrewAI 在做的事。

不只是 chatbot,是一整支團隊

單一 LLM 能力再強,碰到需要多角色分工的複雜任務還是會力不從心。你叫同一個 Agent 又搜資料又分析又寫報告,context window 塞爆是遲早的事,而且角色切換之間的指令混亂很難避免。

CrewAI 的思路很直接:把多個 LLM Agent 組成一支「團隊」(Crew),每個成員有自己的角色、目標和工具,彼此接力完成工作。Python 生態系裡做多 Agent 協作的框架不少,但 CrewAI 目前 GitHub 將近 4.9 萬 Stars,社群活躍度算是頂尖那批。

核心架構:Agent、Task、Crew、Flow

把 CrewAI 想成組建一個專案團隊:

Agent 就是團隊成員。每個人有 role(角色)、goal(目標)、backstory(背景設定),甚至可以用不同的 LLM。你可以讓 Researcher 用便宜的 Flash 模型,Writer 用 Opus 等級的好料。

Task 是工作項目。指定由誰執行、期望的輸出格式、可用工具。Task 之間可以串接——前一個的輸出自動變成下一個的 context。

Crew 是團隊本身。決定成員組成和執行模式——循序(sequential)或階層式(hierarchical,會自動產生一個 Manager Agent 來分配工作)。

Flow 是事件驅動的編排引擎。用 @start()@listen()@router() 裝飾器串接步驟,支援條件分支、狀態管理、斷點續行。生產環境強烈建議用 Flow 而不是純 Crew。

最小可運行範例

兩個 Agent 協作產出一篇部落格文章:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from crewai import Agent, Task, Crew, Process

researcher = Agent(
role="Senior Data Researcher",
goal="Uncover cutting-edge developments in AI",
backstory="You're a seasoned researcher known for finding the latest developments.",
verbose=True,
)

writer = Agent(
role="Tech Content Writer",
goal="Write engaging content about AI discoveries",
backstory="You're a skilled writer who turns complex data into clear narratives.",
verbose=True,
)

research_task = Task(
description="Research the latest AI agent frameworks in 2025.",
expected_output="A list of 10 bullet points of the most relevant findings.",
agent=researcher,
)

writing_task = Task(
description="Write a blog post based on the research findings.",
expected_output="A 500-word blog post formatted in Markdown.",
agent=writer,
output_file="blog_post.md",
)

crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
process=Process.sequential,
verbose=True,
)

result = crew.kickoff()
print(result)

Process.sequential 讓 Task 依序跑,前面的產出自動餵給後面。如果改用 Process.hierarchical,CrewAI 會多生一個 Manager Agent 負責分派和驗證。

Flows:生產環境該用的模式

純 Crew 適合「A 做完換 B」的線性流程。但真實世界通常有條件分支、品質檢查、失敗重試。這時候用 Flows:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from crewai.flow.flow import Flow, start, listen, router
from pydantic import BaseModel

class ReportState(BaseModel):
topic: str = ""
research: str = ""
report: str = ""

class ReportFlow(Flow[ReportState]):
@start()
def begin(self):
self.state.topic = "AI Agent frameworks"

@listen(begin)
def do_research(self):
self.state.research = "...research results..."

@router(do_research)
def check_quality(self):
if len(self.state.research) > 100:
return "good_enough"
return "need_more"

@listen("good_enough")
def write_report(self):
self.state.report = "Final report..."

@listen("need_more")
def retry_research(self):
pass

flow = ReportFlow()
flow.kickoff()

Pydantic BaseModel 管狀態,SQLite persistence 做斷點續行。這個設計比純粹的 Task 串接穩得多。

跟其他框架比起來

框架 特色 適合場景
CrewAI 角色扮演式 Agent,Crews + Flows 雙模式 多 Agent 協作的業務自動化
LangGraph 狀態機式 Agent,彈性高但 boilerplate 多 需要精細控制每個節點的複雜流程
AutoGen 對話式 Agent,擅長多 Agent 聊天 研究、原型、對話式探索
OpenAI Agents SDK 綁定 OpenAI 模型,簡潔但鎖定 純 OpenAI 生態的快速開發

CrewAI 的差異化在於同時提供 Crews(自主協作)和 Flows(精確控制)兩種模式,而且完全不依賴 LangChain,從零自建。v1.0 的時候正式移除了所有 LangChain 依賴。

70+ 內建工具和 MCP 支援

工具生態蠻齊全的:網路搜尋(Serper、Brave、Tavily)、網頁爬取(Firecrawl、Selenium)、檔案處理(PDF、CSV、DOCX)、資料庫(MySQL、Snowflake)、向量搜尋(Qdrant、Weaviate)都有。自訂工具繼承 BaseTool 就好,十行程式碼搞定。

重點是 CrewAI 原生支援 MCP——Agent 可以直接連 MCP Server 取用工具。這對已經在用 Claude Code 或其他 MCP 生態的人來說,整合成本很低。

支援的 LLM

v1.14+ 有兩層支援:

原生支援(不用額外裝):OpenAI、Anthropic、Google Gemini、Azure OpenAI、AWS Bedrock。

透過 LiteLLMpip install 'crewai[litellm]'):100+ 供應商,包含 Ollama、Mistral、Together AI。不同 Agent 可以用不同模型,讓你把成本花在刀口上。

該注意的事

多 Agent 就是多 token 消耗。每個 Agent 都會吃 LLM token,階層式模式還多一個 Manager Agent。務必設 max_itermax_rpm 控制成本,不然帳單會比你的想像力還豐富。

Agent 的自主決策本質上不可預測——相同輸入不保證相同輸出。生產環境用 Flows + guardrails 來確保品質,別指望裸跑 Crew 就能上線。

另外,share_crew=True 會把執行細節上傳到 CrewAI 伺服器,有機敏資料千萬別開。遠測(telemetry)也是預設開啟,用 OTEL_SDK_DISABLED=true 關掉。

安裝很快

1
2
3
4
pip install crewai
pip install 'crewai[tools]' # 含 70+ 內建工具
pip install 'crewai[anthropic]' # Claude 支援
crewai create crew my_project # CLI 建專案骨架

Python 版本要 >=3.10, <3.14。預設需要 OPENAI_API_KEY,用其他 LLM 在 Agent 的 llm 參數指定。

專案現況

項目 數據
GitHub Stars 48,742
最新版本 v1.14.1(2026-04-08)
授權 MIT
認證開發者 100,000+

跟 Andrew Ng 的 DeepLearning.AI 有合作課程,社群活躍度高。從 2023 年 10 月建立到現在,迭代速度一直很快。

如果你在做的事情需要多個 AI 角色分工協作——市場分析、客服自動化、內容產線、軟體開發輔助——CrewAI 是目前 Python 生態裡最成熟也最好上手的選擇之一。

參考來源:CrewAI GitHub Repo / 官方文件