跳轉到

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 名認證開發者

兩種核心模式

  1. CrewAI Crews:優化自主性和協作智慧
  2. 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

安裝

# 基本安裝
uv pip install crewai

# 包含額外工具
uv pip install 'crewai[tools]'

基本範例

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 應用
學習曲線 較平緩 較陡峭
效能 最佳化 一般

學習資源

研究日期

2026-02-03