跳到內容

怎麼選★★★★★9 分鐘閱讀

Agent 框架怎麼選:LangGraph、CrewAI、Mastra 跟「不要框架」比較

大部分團隊先挑框架再發現需求。這篇幫你按 agent 真正要做的事來挑(或不挑)。

登入以收藏

每半年都會冒出一個「最終解」的 agent 框架。2026 年已經有幾十個了。誠實的答案是,有經驗的 builder 大多已經達成共識:簡單的 tool-use loop 不需要框架;graph 形狀的多步驟工作流用 LangGraph;只用 Python 多 agent demo 用 CrewAI;TypeScript 環境用 Mastra。其他的大多是噪音。

業界小秘密:大部分 agent 不需要框架

如果你的 agent 是「呼叫 LLM、parse tool call、跑 tool、loop 到結束」,你不需要框架。那大概是 30 行程式碼,任何語言都能寫。Anthropic SDK、OpenAI SDK、Vercel AI SDK 全部原生支援 tool use。你寫一個 while loop、自己處理錯誤,然後 — 重點 — 你看得懂裡面發生什麼,因為是你寫的。

業界最有想法的 builder(Anthropic 自家團隊的公開 agent 文章、Cursor 團隊等等)反覆講:「先不要框架,有具體理由再加」。框架加抽象層,出事的時候你要 debug 你自己的 code 跟框架對「應該發生什麼」的想像。

失敗 pattern:第一天就選 LangChain → 花好幾週跟框架抽象戰鬥 → 寫繞過框架的自訂程式 → 最後拿到兩邊最差的部分。

LangGraph:真的有 graph 的時候是對的選擇

LangChain 的 LangGraph 是大部分有經驗 builder 勉強尊重的框架。它把 agent 流程當作明確的狀態圖 — node 是步驟、edge 是轉移、state 是共享的。當你有真的多步驟工作流、有分支、有 retry、有 human-in-the-loop checkpoint,這個模型很乾淨地對應到問題。

什麼時候用 LangGraph:agent 有 5 個以上不同步驟、多個決策分支、多次執行間需要持久化、或者有人工審核 gate。「狀態當圖」的心智模型在工作流真的複雜時才有價值。

LangGraph 也是 LangChain 修掉 LangChain 過去多年罪過的地方。新版 Python 跟 JS SDK 比較乾淨。LangSmith 提供內建可觀測性。持久化也直接。

弱點:還是複雜。心智成本是真的。簡單 ReAct loop 不要用它。

CrewAI:demo 取勝的多 agent 框架

CrewAI 的賣點是多 agent:定義幾個「agent」給角色,給他們任務,看他們協作。Demo 看起來很棒。API 的簡潔有真實吸引力。

Production 的現實:CrewAI 的「角色式」心智模型 —「行銷」、「研究員」、「編輯」 — 大多是表演。真實的多 agent 系統做成一個有分支的單一連貫 agent 比較好,不是多個人格互相對話。Roleplay 路線燒很多 token,品質提升只比好好寫 prompt 的單一 agent 邊緣一點點。

什麼時候用 CrewAI:需要快速 agent 行為 demo、特別受益於角色分離(少見)、或者在做之後會重寫的原型。任何要可靠性的 production 場景不要 ship CrewAI。

Mastra:真的好的 TypeScript 優先選項

Mastra 是 TypeScript / Next.js 環境最值得注意的 agent 框架。它有意識地限定範疇:workflow、agent、RAG、eval、memory、observability。DX 很好 — 自動完成 work、type 有幫助、跟 Vercel 跟 Cloudflare deploy 原生整合。

什麼時候用 Mastra:stack 是 Next.js 或 Node.js、想要 LangGraph 的結構但不被 Python 鎖、想要 first-class 的 observability 跟 eval 支援不用拼三個廠商。

Mastra 比較新、社群小、API 還在動。但設計選擇合理、maintainer 回應快、沒有 LangChain 累積的歷史包袱。

OpenAI Assistants API 跟 Anthropic Computer Use

  • OpenAI Assistants API — 簡單聊天助手加檔案搜尋 OK。production agent 受限因為狀態管理不透明(你看不到自己的 thread state)。大部分從這裡開始的團隊最後都直接寫 tool-use loop 了。
  • Anthropic Computer Use — Claude 控制瀏覽器或桌面。酷、慢、貴、脆。可以針對特定用途(資料輸入自動化、QA 測試)實驗,但不是通用框架。

Pydantic AI、LlamaIndex Agents、AutoGen、smolagents

  • Pydantic AI — 乾淨 Python、type 驅動。範疇比 LangGraph 小但設計好。Python 單一 agent 工作流值得考慮。
  • LlamaIndex Agents — LlamaIndex 的 agent 層。已經深陷 LlamaIndex 做 RAG 的話用。獨立用沒那麼吸引。
  • Microsoft AutoGen — 研究風格。多 agent。Demo 有意思,production 用法少。持續觀察。
  • HuggingFace smolagents — 極簡 Python 框架,code-as-action 範式(agent 寫 Python 而不是 tool call)。技術場景有意思。

什麼時候完全不用框架

80% 的 agent 場景,自己寫 loop 就好。偽碼:

messages = [{role: 'user', content: query}]
while True:
    response = llm.create(messages=messages, tools=tools)
    if response.stop_reason == 'end_turn':
        return response.content
    for tool_call in response.tool_calls:
        result = run_tool(tool_call.name, tool_call.args)
        messages.append({role: 'tool', content: result})

就這樣。加上錯誤處理、指數退避 retry、結構化 log,你就有一個 production agent 在一個檔案裡。你會清楚知道發生什麼。你能 debug。你不用跟抽象戰鬥。

什麼時候框架真的有幫助

  • graph 形狀的工作流,有分支、合流、retry、人工同意 → LangGraph 或 Mastra Workflows
  • 跨長期執行需要持久化 agent 狀態 → LangGraph 的 checkpointing 或 Mastra 的 memory
  • 需要內建 observability,不想自己整合 Langfuse/Helicone/Pydantic Logfire → 框架內建
  • 多個工程師,想要共享心智模型 → 框架提供共同詞彙

注意框架漂移

這個領域的框架變化超快。你 2024 年認識的 LangChain 不是 2026 年的 LangChain。CrewAI 在 2025 年改了核心 API 兩次。Mastra 在 2025 年底重組了 workflow API。固定相依性版本、升級前讀 changelog、接受你今天的框架選擇 18 個月後會看起來過時。

這也是「不用框架」一直吸引人的原因:30 行手寫的 agent loop 沒有 changelog 要追。

決策樹

  • 簡單 tool-use loop、單 agent:不用框架,直接 SDK
  • 多步驟工作流、有分支、Python:LangGraph
  • 多步驟工作流、TypeScript:Mastra
  • type-safe Python 單一 agent:Pydantic AI
  • 快速多 agent demo:CrewAI(不要 ship)
  • 瀏覽器或桌面自動化:Anthropic Computer Use

下一步

  • 看一下 agent loop pattern:ReAct、Plan-and-Execute、Reflexion
  • 研究 agent observability 工具:Langfuse、Helicone、LangSmith
  • 看 agent memory 策略(獨立主題,值得深入)
  • 先搭一個沒有框架的 agent;只在能說出具體限制時才採用框架

最後更新: 2026-04-29

We use cookies

Anonymous analytics help us improve the site. You can opt out anytime. Learn more