---
# System prepended metadata

title: 2025 年 LLM Agent 開發框架完整指南：AutoGen、CrewAI、LangGraph 到底該選哪個？

---


# 2025 年 LLM Agent 開發框架完整指南：AutoGen、CrewAI、LangGraph 到底該選哪個？

![llm-agent-framework-cover](https://hackmd.io/_uploads/SyZiTkx4Wg.jpg)

三個月前，我在 Reddit 上看到一個帖子：「What's going on with AutoGen and AG2?」

帖子底下吵成一團。有人說 AutoGen 被微軟放棄了，有人說要趕快遷移到 AG2，還有人困惑地問：「我上週才開始學 AutoGen，現在該怎麼辦？」

說實話，那時候我也一頭霧水。

我正在評估要用哪個框架來建立公司的多代理人客服系統，結果發現這個領域在 2024 年底發生了翻天覆地的變化。AutoGen 分裂了、OpenAI 把 Swarm 升級成正式 SDK、Anthropic 推出了 MCP 協議還捐給了 Linux Foundation...

如果你也正在選擇 LLM Agent 框架，這篇文章應該能幫你省下不少冤枉路。

---

## 先搞清楚：什麼是 LLM Agent？

在深入比較框架之前，我們得先對齊一下概念。

你可以把 LLM Agent 想像成一個超級聰明的助理。這個助理不只會回答問題，還能主動規劃任務、使用各種工具、甚至自己判斷下一步該做什麼。

傳統的 LLM 應用是這樣的：你問一個問題，它給你一個答案。結束。

但 Agent 不一樣。你給它一個目標，比如「幫我研究這家公司然後寫一份報告」，它會：

1. 先規劃需要哪些步驟
2. 上網搜尋公司資訊
3. 讀取財報 PDF
4. 分析數據
5. 撰寫報告
6. 如果發現資訊不足，自己決定要不要再查更多

這種「自主決策 + 工具使用 + 多步驟執行」的能力，就是 Agent 的核心。

那什麼是「多代理人系統」呢？

想像你要做一個複雜的專案，不可能一個人包辦所有事。你會組建團隊：有人負責研究、有人負責寫程式、有人負責測試、有人負責專案管理。

多代理人系統就是這個概念。不同的 Agent 扮演不同角色，互相協作完成任務。一個 Agent 可能專門負責寫程式，另一個專門負責 code review，第三個負責執行測試...

聽起來很美好對吧？問題是，怎麼讓這些 Agent 順暢協作、不會互相打架、還能可靠地完成任務？

這就是為什麼我們需要框架。

---

## 2024 年底發生了什麼事？

如果你在 2024 年中開始學 AutoGen，恭喜你，你選了當時最熱門的框架。

微軟研究院開發的 AutoGen 是多代理人領域的先驅，GitHub 上有超過 4 萬顆星。文件完整、社群活躍、企業級支援。

然後，2024 年 11 月，事情變得複雜了。

### AutoGen 分裂事件

簡單來說，AutoGen 的核心貢獻者和微軟產生了分歧。一群人離開微軟，創建了新的組織 AG2AI，fork 了 AutoGen 並改名為 AG2。

現在的狀況是這樣的：

**AG2（社群版）**
- 由原始核心開發者維護
- 繼承了 `pyautogen` 和 `autogen` 套件名稱
- Apache 2.0 開源授權
- 保持向後相容，你的舊程式碼可以直接跑
- 持續在 0.3.x 版本上開發新功能

**Microsoft AutoGen 0.4（微軟版）**
- 微軟進行的完全重寫
- 新的 API 設計，不向後相容
- 可能會與 Semantic Kernel 整合
- 更注重企業級功能

怎麼說呢，這有點像 Node.js 和 io.js 當年的分裂，或是 MySQL 和 MariaDB。

對開發者來說，這意味著你需要做選擇：

- 如果你重視穩定性和向後相容 → 跟著 AG2
- 如果你已經深度使用微軟生態系統 → 考慮等 AutoGen 0.4 穩定
- 如果你還沒開始 → 可能值得考慮其他框架

這件事也讓我意識到，選擇開源框架時，專案的治理結構和社群健康度有多重要。

---

## 六大主流框架深度比較

好，現在來看看 2025 年你有哪些選擇。

### LangGraph：給需要精確控制的人

如果你用過 LangChain，對 LangGraph 應該不陌生。它是 LangChain 團隊開發的圖結構編排框架。

核心概念很直接：把工作流程想像成一張圖，節點是操作，邊是流程。你可以精確控制狀態、設定條件分支、處理重試邏輯。

```python
from langgraph.graph import StateGraph

# 定義狀態和節點
workflow = StateGraph(State)
workflow.add_node("research", research_agent)
workflow.add_node("write", writing_agent)
workflow.add_edge("research", "write")
```

**優點**：
- 精確的狀態控制
- 內建斷點和人工介入機制
- 平行執行支援
- 可視化工作流程

**缺點**：
- 學習曲線陡峭，你需要習慣「用圖思考」
- 對簡單任務來說可能過度設計

**適合場景**：複雜的多步驟工作流程、需要條件分支和重試邏輯、已經在用 LangChain 生態系統。

有個 Reddit 用戶說得很傳神：「LangGraph feels like writing a state machine with GPT agents.」

### CrewAI：角色扮演的直覺設計

CrewAI 的設計哲學完全不同。它把 Agent 想像成團隊成員，每個成員有自己的角色、目標和工具。

```python
from crewai import Agent, Task, Crew

researcher = Agent(
    role="Research Analyst",
    goal="Find comprehensive information",
    tools=[search_tool]
)

writer = Agent(
    role="Content Writer",
    goal="Create engaging articles"
)

crew = Crew(agents=[researcher, writer], tasks=[...])
crew.kickoff()
```

看到了嗎？這個 API 設計就是在模擬真實的團隊協作。

**優點**：
- API 直覺，學習曲線平緩
- 快速原型開發
- 角色定義清晰
- 文件和範例豐富

**缺點**：
- 當需求變複雜時，會撞到設計的天花板
- 客製化程度有限
- 有團隊反映，用了 6-12 個月後不得不改用其他框架

**適合場景**：快速原型、團隊協作模型契合業務邏輯、初學者入門。

說實話，如果你只是想快速驗證一個想法，CrewAI 可能是最快的選擇。但如果你知道這個專案會長期發展，可能要三思。

### AutoGen/AG2：對話式的靈活彈性

即使經歷了分裂，AutoGen 的核心設計理念依然有價值。它強調的是「對話式」的多代理人協作。

```python
from autogen import AssistantAgent, UserProxyAgent

assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding"})

user_proxy.initiate_chat(assistant, message="Write a Python function to...")
```

Agent 之間透過對話來協作，就像真人在聊天室裡討論問題一樣。

**優點**：
- 極高的靈活性
- 強大的程式碼執行能力
- 適合複雜的對話式問題解決
- 企業級的錯誤處理

**缺點**：
- 目前的分裂狀況造成困惑
- 需要花時間理解該跟哪個版本

**適合場景**：需要複雜對話邏輯、程式碼生成和執行、企業環境。

### MetaGPT：模擬軟體公司

MetaGPT 的野心很大：它想模擬一整間軟體公司的運作方式。

你給它一個需求，它會自動分配角色：產品經理、架構師、工程師、測試人員... 然後這些「虛擬員工」會協作完成整個軟體開發流程。

```python
from metagpt.software_company import generate_repo

repo = generate_repo("Create a 2048 game")
print(repo)  # 輸出完整的專案結構和程式碼
```

這聽起來很科幻，但確實可以產出可運行的程式碼。

**優點**：
- 端到端的軟體開發自動化
- 結構化的角色分工
- 適合程式碼生成任務

**缺點**：
- 應用場景相對侷限
- 對非軟體開發任務支援有限

**適合場景**：自動化程式碼生成、軟體開發任務。

### OpenAI Agents SDK：官方的優雅設計

還記得 OpenAI 在 2024 年發布的 Swarm 嗎？那是一個實驗性的多代理人框架。

現在 Swarm 已經進化成正式的 OpenAI Agents SDK，成為生產就緒的解決方案。

```python
from openai import Agent, Swarm

agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant",
    tools=[...]
)

client = Swarm()
response = client.run(agent=agent, messages=[...])
```

Reddit 上有人這樣評價：「Agents SDK is designed in such an elegant way that it SEEMS lightweight and under-featured. But it's actually quite powerful.」

**優點**：
- API 設計優雅簡潔
- 與 OpenAI 生態系統無縫整合
- 生產就緒
- 快速部署

**缺點**：
- 綁定 OpenAI 模型
- 相對其他框架功能較少

**適合場景**：主要使用 OpenAI 模型、快速開發、偏好簡潔設計。

### Claude Agent SDK：安全優先的選擇

Anthropic 不只推出了 Claude Agent SDK，還創造了可能改變整個產業的 MCP 協議。

```python
from claude_agent_sdk import Agent

agent = Agent(
    model="claude-3-opus",
    tools=[...],  # MCP 原生支援
)
```

因為 MCP 是 Anthropic 開發的，Claude Agent SDK 自然有最好的 MCP 支援。

**優點**：
- MCP 協議原生支援
- 安全性設計優先
- Claude 模型的能力
- 簡潔的 API

**缺點**：
- 生態系統相對較新
- 綁定 Anthropic 模型

**適合場景**：重視安全性、使用 Anthropic 模型、需要 MCP 整合。

---

## MCP 協議：不得不提的遊戲規則改變者

講到這裡，我必須特別談談 Model Context Protocol（MCP）。

MCP 是 Anthropic 在 2024 年底推出的開放標準，目的是解決一個根本問題：如何讓 AI 模型安全、標準化地連接外部服務和資料？

你可以把 MCP 想像成 AI 世界的 USB-C。不管你是什麼設備，只要支援 USB-C，就能互通。同樣的，不管你用什麼 AI 模型或框架，只要支援 MCP，就能使用相同的工具和資料來源。

2025 年 12 月，Anthropic 把 MCP 捐贈給了 Linux Foundation 下的 Agentic AI Foundation。這意味著 MCP 已經不再是某一家公司的東西，而是整個產業的標準。

目前支援 MCP 的框架包括：
- Claude Agent SDK（原生支援）
- PydanticAI
- LangChain/LangGraph（透過整合）
- 越來越多的框架正在加入

為什麼這很重要？

因為你寫的 MCP 工具可以跨框架使用。今天你用 CrewAI 開發，明天想換成 LangGraph，那些 MCP 工具不用重寫。

這對整個生態系統的標準化有重大意義。

```mermaid
flowchart LR
    subgraph "AI 模型"
        A[Claude]
        B[GPT-4]
        C[其他 LLM]
    end

    subgraph "MCP 協議層"
        D[標準化介面]
    end

    subgraph "外部服務"
        E[資料庫]
        F[API]
        G[檔案系統]
        H[其他工具]
    end

    A --> D
    B --> D
    C --> D
    D --> E
    D --> F
    D --> G
    D --> H
```

---

## 如何選擇？一個實用的決策框架

說了這麼多，你可能還是想問：「那我到底該選哪個？」

這裡有一個決策流程供你參考：

```mermaid
flowchart TD
    A[開始選擇框架] --> B{主要需求是什麼？}

    B -->|快速原型驗證| C[CrewAI]
    B -->|複雜工作流程控制| D[LangGraph]
    B -->|對話式問題解決| E{生態系統偏好？}
    B -->|軟體開發自動化| F[MetaGPT]

    E -->|Microsoft 生態| G[AutoGen 0.4 / Semantic Kernel]
    E -->|社群版本 / 穩定性| H[AG2]
    E -->|OpenAI 生態| I[OpenAI Agents SDK]
    E -->|安全優先 / Anthropic| J[Claude Agent SDK]

    C --> K[開始開發]
    D --> K
    F --> K
    G --> K
    H --> K
    I --> K
    J --> K
```

更具體一點：

**選 CrewAI 如果**：
- 你需要快速驗證想法
- 團隊協作的比喻符合你的業務邏輯
- 你是 AI Agent 新手

**選 LangGraph 如果**：
- 你需要精確控制工作流程
- 有複雜的條件分支和重試邏輯
- 你已經在用 LangChain

**選 AG2 如果**：
- 你之前用 AutoGen，想要穩定的遷移路徑
- 需要複雜的對話式協作
- 重視社群治理

**選 Microsoft AutoGen 0.4 如果**：
- 你深度整合 Microsoft 生態系統
- 願意接受新 API 的學習成本
- 考慮未來與 Semantic Kernel 整合

**選 OpenAI Agents SDK 如果**：
- 你主要用 OpenAI 模型
- 偏好簡潔的 API 設計
- 需要快速部署到生產

**選 Claude Agent SDK 如果**：
- 安全性是首要考量
- 你想充分利用 MCP 協議
- 使用 Anthropic 模型

還有一個選項越來越多團隊在採用：**混合使用**。

比如用 LangGraph 做主要的工作流程編排，但在某些子任務中使用 CrewAI 的角色定義。或者用 OpenAI Agents SDK 做主要開發，但透過 MCP 連接各種工具。

---

## 生產環境的真實考量

選好框架只是開始。真正的挑戰是讓它在生產環境中穩定運行。

Anthropic 的工程團隊有一個很好的建議：**從簡單開始**。

很多模式其實只需要幾行程式碼就能實現，不一定需要複雜的框架。他們特別強調：「如果你用框架，確保你理解底層程式碼。錯誤的假設是客戶最常見的問題來源。」

這句話值得反覆咀嚼。

### 成本控制

LLM 調用不便宜。一個多代理人系統可能在一個任務中呼叫十幾次 LLM，費用很快就會累積。

建議：
- 設定預算上限和監控
- 考慮哪些步驟真的需要用大模型
- 快取可重複使用的結果
- 評估是否某些任務可以用小模型處理

### 延遲管理

多代理人系統的延遲是個大問題。Agent A 呼叫 LLM，等回應，然後 Agent B 再呼叫，再等回應... 串聯起來可能要等很久。

建議：
- 盡可能平行化
- 考慮使用串流
- 設定合理的 timeout
- 讓用戶知道系統在做什麼（進度指示）

### 可觀察性

當系統出問題時，你需要知道是哪個 Agent 在哪個步驟做了什麼決定。

推薦工具：
- Langfuse
- LangWatch
- Phoenix (Arize)
- Weights & Biases

### 安全性

Agent 可以執行程式碼、存取外部 API、處理敏感資料。這些能力也帶來風險。

注意事項：
- 沙盒化程式碼執行
- 限制 Agent 的權限範圍
- 提示注入防護
- 敏感資料處理策略

---

## 寫在最後

2025 年的 LLM Agent 框架領域，說實話，還是有點混亂。

AutoGen 分裂了、新框架不斷冒出來、MCP 正在成為標準、每隔幾週就有重大更新...

但混亂也意味著機會。這個領域還在快速演進，現在入場的人有機會影響未來的發展方向。

我的建議是：

1. **不要追逐最新最熱門的**。選一個適合你需求的框架，深入學習。
2. **理解底層原理**。框架只是工具，理解 Agent 的設計模式更重要。
3. **關注 MCP**。這可能是未來幾年最重要的標準化趨勢。
4. **從簡單開始**。不要一開始就設計複雜的多代理人系統。先用單一 Agent 驗證價值，再逐步擴展。
5. **投資可觀察性**。當系統變複雜時，你會慶幸自己早早建立了監控。

最後，如果你問我會選哪個？

我目前的專案選了 LangGraph 搭配 MCP。學習曲線確實陡峭，但精確的控制能力在生產環境中很有價值。

但這只是我的選擇。你的情況可能完全不同。

希望這篇文章能幫你在這個快速變化的領域中找到方向。如果你有任何問題或想分享你的經驗，歡迎交流。

---

## 參考資料

| 來源 | 標題 | |
|------|------|--------|
| [GitHub](https://github.com/ag2ai/ag2) | AG2 (formerly AutoGen) Repository | ⭐⭐⭐⭐⭐ |
| [Microsoft](https://microsoft.github.io/autogen/stable/) | AutoGen 0.4 Documentation | ⭐⭐⭐⭐⭐ |
| [Anthropic](https://www.anthropic.com/engineering/building-effective-agents) | Building Effective Agents | ⭐⭐⭐⭐⭐ |
| [Anthropic](https://www.anthropic.com/news/model-context-protocol) | Introducing the Model Context Protocol | ⭐⭐⭐⭐⭐ |
| [DataCamp](https://www.datacamp.com/tutorial/crewai-vs-langgraph-vs-autogen) | CrewAI vs LangGraph vs AutoGen | ⭐⭐⭐⭐ |
| [Datagrom](https://www.datagrom.com/data-science-machine-learning-ai-blog/langgraph-vs-autogen-vs-crewai-comparison-agentic-ai-frameworks) | Top 3 Trending Agentic AI Frameworks | ⭐⭐⭐⭐ |
| [ZenML](https://www.zenml.io/blog/llm-agents-in-production-architectures-challenges-and-best-practices) | LLM Agents in Production | ⭐⭐⭐⭐ |
| [ClickHouse](https://clickhouse.com/blog/how-to-build-ai-agents-mcp-12-frameworks) | How to build AI agents with MCP | ⭐⭐⭐⭐ |


