CrewAI 研究筆記¶
資料來源¶
| 項目 | 連結 |
|---|---|
| GitHub | https://github.com/crewAIInc/crewAI |
| 官方網站 | https://crewai.com |
| 官方文件 | https://docs.crewai.com |
| 雲端平台 | https://app.crewai.com |
| 部落格 | https://blog.crewai.com |
| 論壇 | https://community.crewai.com |
| 學習資源 | https://learn.crewai.com |
專案概述¶
CrewAI 是一個快速且彈性的多 Agent 自動化框架。它是從頭建構的精簡框架,完全獨立於 LangChain 或其他 Agent 框架,為開發者提供高階簡潔性和精確的低階控制。
核心特色¶
- 獨立框架:從零開始建構,不依賴 LangChain
- 高效能:最佳化速度和資源使用
- 彈性客製化:從高階工作流程到低階 Agent 行為都可自訂
- 企業就緒:適用於簡單任務到複雜的企業級場景
- 活躍社群:超過 100,000 名認證開發者
兩種核心模式¶
- CrewAI Crews:優化自主性和協作智慧
- CrewAI Flows:企業和生產架構,支援細粒度、事件驅動控制
技術架構¶
┌─────────────────────────────────────────────────────────────────┐
│ CrewAI 架構 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Flows (流程) │ │
│ │ • 事件驅動的工作流程 │ │
│ │ • 精確的執行路徑控制 │ │
│ │ • 安全的狀態管理 │ │
│ │ • 條件分支邏輯 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Crews (團隊) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ │ Agent N │ │ │
│ │ │ (角色A) │ │ (角色B) │ │ (角色C) │ │ (角色N) │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┴───────────┴───────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ 協作 & 任務委派 │ │ │
│ │ │ • 自然的自主決策 │ │ │
│ │ │ • 動態任務分配 │ │ │
│ │ │ • 專業化角色與目標 │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Tasks (任務) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Task 1 │→│ Task 2 │→│ Task 3 │→│ Task N │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Tools (工具) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ 搜尋 │ │ 檔案 │ │ API │ │ 自訂 │ │ │
│ │ │ 工具 │ │ 操作 │ │ 呼叫 │ │ 工具 │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Crews vs Flows¶
| 特性 | Crews | Flows |
|---|---|---|
| 控制方式 | 自主決策 | 事件驅動 |
| 適用場景 | 需要協作的複雜任務 | 需要精確控制的生產環境 |
| 執行模式 | Agent 間動態互動 | 預定義的執行路徑 |
| 狀態管理 | Agent 內部狀態 | 集中式狀態管理 |
安裝與使用¶
系統需求¶
- Python >=3.10 <3.14
安裝¶
基本範例¶
from crewai import Agent, Task, Crew
# 定義 Agent
researcher = Agent(
role='研究員',
goal='研究並提供關於 AI 趨勢的深入分析',
backstory='你是一位經驗豐富的 AI 研究員'
)
writer = Agent(
role='技術作家',
goal='將研究結果轉化為易懂的文章',
backstory='你是一位專業的技術寫手'
)
# 定義任務
research_task = Task(
description='研究 2024 年最重要的 AI 趨勢',
agent=researcher
)
writing_task = Task(
description='基於研究結果撰寫一篇部落格文章',
agent=writer
)
# 建立 Crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True
)
# 執行
result = crew.kickoff()
print(result)
CrewAI AMP Suite¶
企業級解決方案,包含:
- 追蹤與可觀測性:即時監控 AI Agent 和工作流程
- 統一控制平面:集中管理、監控和擴展
- 無縫整合:連接現有企業系統和雲端基礎設施
- 進階安全性:內建安全和合規措施
- 可行洞察:即時分析和報告
- 24/7 支援:專屬企業支援
- 本地和雲端部署:彈性部署選項
研究重點¶
多 Agent 協作¶
CrewAI 的核心價值在於多個 Agent 之間的協作: - 每個 Agent 有自己的角色(role)、目標(goal)和背景故事(backstory) - Agent 可以動態委派任務給其他 Agent - 支援記憶功能,保持上下文連貫
角色定義¶
agent = Agent(
role='角色名稱', # Agent 的職責
goal='目標', # Agent 想達成的目標
backstory='背景故事', # Agent 的經驗和個性
tools=[...], # 可用的工具
llm=llm, # 使用的語言模型
verbose=True, # 顯示詳細輸出
allow_delegation=True # 允許委派任務
)
與 LangChain 的比較¶
| 特性 | CrewAI | LangChain |
|---|---|---|
| 依賴性 | 獨立框架 | - |
| 重點 | 多 Agent 協作 | 通用 LLM 應用 |
| 學習曲線 | 較平緩 | 較陡峭 |
| 效能 | 最佳化 | 一般 |
學習資源¶
- Multi AI Agent Systems with CrewAI - DeepLearning.AI 課程
- Practical Multi AI Agents and Advanced Use Cases - 進階課程
研究日期¶
2026-02-03