你已經能跑通第一個 Agent,但一加入工具、重試或多步任務,程式便開始難以追蹤。
最快解法:本週先選 2 至 3 個框架做同一個 POC,不要直接宣布第一名。 2026 年開源 AI Agent Framework 推薦的核心結論是:短流程選抽象較薄的 SDK;長任務選圖式或工作流框架;只有真的存在角色分工時,才選多 Agent 編排框架。
誰適合讀這篇
這篇適合準備從零開發工具型、編碼型或知識型 Agent,並需要建立框架短名單的開發者。
如果你正把 Agent 原型搬到持續執行環境,或需要評估恢復、觀測、權限與維護成本,文中的比較矩陣可以直接用於技術評審。
提醒: 本文最後更新於 2026 年 8 月 17 日;版本、授權與功能狀態核實自各框架官方 GitHub 倉庫、官方文件、LICENSE 與發布記錄。社群討論不作為核心能力定級。
先界定「開源框架」:不是有公開倉庫就算
本次候選必須同時符合四個條件:
- 核心程式碼有可核對的開源授權。
- 官方倉庫仍有發布、修正或維護活動。
- 不依賴特定託管服務也能獨立執行基本 Agent。
- 至少提供 Agent、工具呼叫、工作流或狀態控制其中一項核心能力。
因此,本文比較的 10 個候選是:LangGraph、OpenAI Agents SDK、Google ADK、Microsoft Agent Framework、CrewAI、Pydantic AI、Mastra、smolagents、Strands Agents 與 LlamaIndex。
它們不是同一種類型。LangGraph 偏向圖式工作流;CrewAI 偏向角色協作;LlamaIndex 更接近資料與知識型 Agent 框架;OpenAI Agents SDK、Pydantic AI、smolagents 與 Strands Agents 則較接近 SDK 或 Agent runtime。Google ADK 與 Microsoft Agent Framework 的定位則涵蓋 Agent 建立、編排與部署。
10 個候選的定位、語言與授權差異
| 框架 | 主要定位 | 主要語言 | 官方授權或狀態 | 首輪適合的專案 |
|---|---|---|---|---|
| LangGraph | 圖式 Agent 與持久化工作流 | Python、TypeScript | MIT | 長任務、分支、暫停與恢復 |
| OpenAI Agents SDK | 較薄的 Agent runtime | Python、TypeScript 生態 | MIT | 短流程、工具型 Agent、多 Agent handoff |
| Google ADK | Code-first Agent 與工作流 | Python,另有其他語言版本 | Apache-2.0 | 評估、部署與多 Agent 階層 |
| Microsoft Agent Framework | Agent、工作流與多 Agent 編排 | Python、.NET | MIT | Python 與 .NET 混合團隊 |
| CrewAI | 角色協作與任務編排 | Python | MIT | 職責清楚的多 Agent 團隊 |
| Pydantic AI | 型別、驗證與結構化輸出的 Agent 框架 | Python | MIT | 需要嚴格資料契約的應用 |
| Mastra | TypeScript AI 應用與 Agent 框架 | TypeScript | 核心 Apache-2.0;部分 ee/ 目錄採企業授權 |
Node.js、React、Next.js 應用 |
| smolagents | 極薄抽象與 Code Agent | Python | Apache-2.0;部分 API 標示為實驗性 | 快速原型、程式型工具呼叫 |
| Strands Agents | Model-driven Agent SDK | Python、TypeScript | Apache-2.0 | 輕量 Agent、MCP、多模型 |
| LlamaIndex | 資料、RAG、文件與 Agent 工作流 | Python、TypeScript | MIT | 知識型 Agent、文件與檢索流程 |
授權不能只看倉庫首頁。Mastra 官方說明指出,核心與大部分程式碼採 Apache-2.0,但 ee/ 目錄可能受企業授權限制;因此企業採用前要逐一確認使用到的套件與目錄。smolagents 官方文件則明確標示部分 Agent API 為實驗性,不能把「能執行」直接等同於「介面已穩定」。(Mastra 官方倉庫)
LlamaIndex 的核心套件採 MIT,並提供超過 300 個整合套件;這對知識型 Agent 很有吸引力,但也意味著依賴樹、版本鎖定與資料管線維護不可忽略。Mastra 官方倉庫則以 TypeScript 為主要使用情境,並宣稱可連接超過 40 個模型供應商;這些數字是官方功能描述,不代表每個整合都具有相同的穩定程度。(LlamaIndex 官方倉庫)
開發成本:薄 SDK 快,工作流框架穩
用同一個最小任務測試比較公平:Agent 讀取一個 JSON 檔案,呼叫一個外部工具,輸出符合指定結構的結果,工具失敗時重試一次。
你要記錄的不是單純程式碼行數,而是以下四項:
- 首次執行需要理解多少核心概念。
- 工具的輸入與輸出是否能被型別驗證。
- 發生錯誤時,能否快速定位是模型、工具還是工作流問題。
- 從單一步驟擴展到多步驟時,是否必須重寫主流程。
OpenAI Agents SDK 採用少量核心原語,包括 Agent、工具、guardrails、handoff、session 與 tracing,適合希望由應用層保留流程控制權的團隊。其 Python 版本要求 Python 3.10 或以上,官方文件也將它定位為輕量、多 Agent workflow 的 SDK。(OpenAI Agents SDK 官方倉庫)
smolagents 的抽象更薄,官方文件以約 1,000 行左右的 Agent 邏輯說明其簡潔取向,並同時提供 CodeAgent 與 ToolCallingAgent。這很適合快速驗證模型是否能完成任務,但當你要加入審批、持久化、細緻權限與長時間恢復時,通常要自行補足基礎設施。(smolagents 官方倉庫)
相反,LangGraph、Google ADK、Microsoft Agent Framework 與 LlamaIndex Workflows 會要求你更早理解節點、事件、狀態或工作流邊界。初始學習成本較高,但複雜任務通常較少依賴隱藏的 while loop,後續除錯也更容易形成固定模式。
工具呼叫與權限:先看能否攔截,不要只看整合數量
工具能力至少要拆成五層:
- 函式工具是否能自動產生或驗證 schema。
- 是否有 MCP 或其他標準化工具介面。
- 工具執行前能否要求人工確認。
- 是否能設定逾時、重試與錯誤分類。
- 是否能記錄呼叫參數、輸出與操作者身份。
Google ADK 官方倉庫列出 Tool Confirmation,也支援階層式多 Agent 與部署流程;Strands Agents 官方倉庫則提供原生 MCP 支援,並把雙向串流標示為實驗性功能。這代表你要把「正式介面」與「實驗性介面」分開驗收。
權限可按風險分三級:
- 低風險: 讀取公開資料、計算、格式轉換。可先用薄 SDK。
- 中風險: 讀寫專案檔案、建立工單、呼叫內部 API。需要 schema 驗證、記錄與人工確認。
- 高風險: 執行 Shell、修改部署設定、刪除資料或存取憑證。必須隔離執行環境,並由應用層限制命令、路徑、網路與身份。
smolagents 的 CodeAgent 可以在 Docker、E2B、Modal 或其他 sandbox 中執行;這是重要的安全邊界,但 sandbox 本身不是完整的權限策略。你仍需測試檔案系統、環境變數、子程序與外部連線是否被限制。
狀態與工作流:長任務不要只靠對話記憶
這是 10 個框架差距最大的地方。
LangGraph 的持久化與 checkpoint 可支援人機介入、記憶、時間旅行與失敗後恢復。官方文件也區分 exit、async 與 sync 三種 durability 模式;其中 sync 會在下一步開始前同步寫入 checkpoint,可靠性較高,但會增加執行開銷。(LangGraph 持久化文件)
對長任務而言,你至少要定義:
- 哪些狀態必須保存。
- 工具副作用是否可重複執行。
- 中斷後從哪一個節點恢復。
- 人工批准後是否能繼續同一個執行個體。
- 失敗重試會不會重複扣款、寫檔或送出請求。
單 Agent SDK 適合把狀態放到你的資料庫、佇列或工作服務中。這種方式彈性較高,但責任也在你身上。圖式框架則把部分控制流程放進框架,適合需要可視化狀態轉移與明確恢復點的團隊。
CrewAI 的角色協作模型,適合研究員、規劃員、審核員等職責真的不同的場景。若任務只是「先搜尋,再整理,再回答」,不一定需要多 Agent;一個具備工具與結構化輸出的 Agent,通常更容易測試。
可觀測性與失敗恢復:示範成功不是生產證明
你應用三類故障測試:
- 工具異常: 工具回傳錯誤、格式錯誤或逾時。
- 模型異常: 模型回覆不完整、結構化輸出失敗或連線中斷。
- 程序異常: Agent 執行到一半,伺服器重啟或程序被終止。
OpenAI Agents SDK 內建 tracing、sessions、guardrails 與 human-in-the-loop 機制,適合快速建立可追蹤的 Agent runtime;Pydantic AI 則把型別驗證、結構化輸出與 OpenTelemetry 觀測整合到 Python 工作流中。
但「有 tracing」不等於「所有資料都適合記錄」。你要檢查:
- Prompt 是否包含個人資料或機密內容。
- 工具參數是否會把 Token、Cookie 或憑證寫入日誌。
- 錯誤重試是否造成重複副作用。
- Log 與 checkpoint 是否有保留期限。
- 觀測功能是開源核心,還是需要額外託管服務。
Microsoft Agent Framework 同時支援 Python 與 .NET,並提供從 Semantic Kernel、AutoGen 遷移的官方指南。對已有 .NET 團隊的企業而言,這降低了語言切換成本;不過你仍應在自己的模型、身份驗證與部署環境中測試,而不是只依賴快速入門範例。(Microsoft Agent Framework 官方倉庫)
依專案條件縮小短名單
| 你的主要條件 | 第一輪候選 | 需要留意的代價 |
|---|---|---|
| 一週內完成單 Agent 原型 | OpenAI Agents SDK、Pydantic AI、smolagents、Strands Agents | 狀態與隔離通常要自行設計 |
| 有分支、循環、人工批准與恢復 | LangGraph、Google ADK、Microsoft Agent Framework | 學習與部署概念較多 |
| 角色分工明確的多 Agent | CrewAI、Google ADK、OpenAI Agents SDK | 上下文傳遞與除錯複雜度上升 |
| TypeScript 應用與前後端整合 | Mastra、Strands Agents、LlamaIndex TS | 檢查套件成熟度與授權邊界 |
| 文件、RAG、資料管線 | LlamaIndex、Pydantic AI、LangGraph | 外部整合多,依賴管理要鎖定 |
| Python 與 .NET 混合企業團隊 | Microsoft Agent Framework、Google ADK、LangGraph | 要分別驗證語言版本與部署路徑 |
你可以先用這份清單建立三款以內的 POC 短名單。不要同時測試 10 個框架,否則模型差異、Prompt 差異與執行環境差異會掩蓋真正結果。
本週可直接執行的 POC 驗收清單
- [ ] 固定同一個模型、同一組工具與同一份測試資料。
- [ ] 讓 Agent 完成「讀檔、呼叫外部工具、輸出結構化結果」。
- [ ] 將工具改成逾時,確認是否有清楚的錯誤訊息。
- [ ] 讓模型輸出錯誤 schema,檢查驗證與回退方式。
- [ ] 在工作流中途終止程序,確認能否從有效狀態恢復。
- [ ] 對讀檔、寫檔與執行命令分別設定權限。
- [ ] 檢查 Tracing 是否記錄完整步驟,又沒有洩露憑證。
- [ ] 連續執行相同任務,觀察記憶體、硬碟與處理器使用量。
- [ ] 用新版本重新安裝,記錄 API 變更與遷移成本。
- [ ] 只有通過以上測試,才把候選框架帶入正式部署評估。
若工作流需要長時間執行,也應一併閱讀本站的 雲端 Mac 部署 AI Agent 的環境評估方向。對工具權限與技能封裝有疑問時,可再對照 Claude Code Skills 與框架整理。
最後的選擇:先選執行模型,再選框架
如果你目前的方案是直接在個人電腦上跑,常見問題是可用記憶體不足、程序中斷後沒有持久化、多人共用時權限難以分隔,以及本機測試環境與正式環境不一致。改用一般雲端伺服器,又可能遇到 macOS 相容性、遠端連線、檔案同步與長時間任務監控等額外成本。
因此,當你已經縮小到兩至三個框架,下一步不是再看更多排行榜,而是建立隔離的 POC 環境。若本地設備不足以支援並行測試或持續任務,可以考慮使用 Hashvps 的雲端 Mac 租賃環境,先驗證框架安裝、工具權限、異常恢復與長時間執行,再決定是否值得投入正式基礎設施。
常見問題
2026 年仍值得列入候選清單的開源 AI Agent 框架有哪些?
可先從 LangGraph、OpenAI Agents SDK、Google ADK、Microsoft Agent Framework、CrewAI、Pydantic AI、Mastra、smolagents、Strands Agents 與 LlamaIndex 建立候選池。這不是絕對排名;你仍應核對官方倉庫的授權、發布狀態、文件、遷移說明,以及統一 POC 的實際結果。
LangGraph 和輕量 Agent SDK 的選擇差異在哪裡?
LangGraph 更適合需要明確節點、分支、循環、暫停、恢復與檢查點的長任務。輕量 SDK 則適合短流程、少量工具與由應用層自行管理狀態的 Agent。若你尚未確定需要持久化工作流,先用輕量 SDK 做 POC,避免過早承擔圖式編排成本。
Python 與 TypeScript 團隊應該怎樣挑選 Agent 框架?
Python 團隊可優先比較 Pydantic AI、Google ADK、LangGraph、smolagents、Strands Agents 與 LlamaIndex;TypeScript 團隊則應把 Mastra 放進第一輪 POC,並檢查其他框架是否有成熟的 TypeScript 實作。不要只看語言支援,還要測試工具型別、錯誤處理與部署流程。
開源 AI Agent Framework 上線前要驗證哪些能力?
至少驗證工具權限攔截、結構化輸出、超時與重試、模型失敗、程序中斷後恢復、狀態持久化、敏感資料記錄、Tracing、資源監控與版本升級。示範程式能跑通,只代表正常路徑可行,不代表框架能承受長時間執行或異常恢復。
多 Agent 框架一定比單 Agent SDK 更適合複雜任務嗎?
不一定。多 Agent 只有在任務確實存在不同職責、權限或驗收邊界時才有價值。若只是把一個 Agent 拆成多個角色,通常會增加上下文傳遞、除錯、延遲與成本。長任務首先應解決狀態與恢復,再判斷是否需要角色協作。
FAQ
為 AI Agent POC 打造穩定的開發與部署環境
使用 Hashvps 遠端 Mac,快速建立適合 AI Agent 開發、測試與自動化工作的專屬環境。
透過 Hashvps 算力節點支援模型推論、工具呼叫與多代理工作流程,讓 POC 驗證更順暢。