CrewAI - 讓多個 AI Agent 組成團隊協作的 Python 框架
三個 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 | from crewai import Agent, Task, Crew, Process |
Process.sequential 讓 Task 依序跑,前面的產出自動餵給後面。如果改用 Process.hierarchical,CrewAI 會多生一個 Manager Agent 負責分派和驗證。
Flows:生產環境該用的模式
純 Crew 適合「A 做完換 B」的線性流程。但真實世界通常有條件分支、品質檢查、失敗重試。這時候用 Flows:
1 | from crewai.flow.flow import Flow, start, listen, router |
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。
透過 LiteLLM(pip install 'crewai[litellm]'):100+ 供應商,包含 Ollama、Mistral、Together AI。不同 Agent 可以用不同模型,讓你把成本花在刀口上。
該注意的事
多 Agent 就是多 token 消耗。每個 Agent 都會吃 LLM token,階層式模式還多一個 Manager Agent。務必設 max_iter 和 max_rpm 控制成本,不然帳單會比你的想像力還豐富。
Agent 的自主決策本質上不可預測——相同輸入不保證相同輸出。生產環境用 Flows + guardrails 來確保品質,別指望裸跑 Crew 就能上線。
另外,share_crew=True 會把執行細節上傳到 CrewAI 伺服器,有機敏資料千萬別開。遠測(telemetry)也是預設開啟,用 OTEL_SDK_DISABLED=true 關掉。
安裝很快
1 | pip install crewai |
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 / 官方文件










