AI 教學 13 min read ★ Featured

LangChain vs LangGraph 是什麼?2026 該學哪個(完整比較)

LangChain 跟 LangGraph 不是二選一,是上下層:LangGraph 是底層 runtime(管 state、流程、重試),LangChain 是建在它上面的高階 API。2025-10-22 兩者都上 1.0 正式版。這篇用比較表、三個情境判斷、三個真實踩坑,講清楚標準 agent loop 該用 LangChain、要精細控制流程分流與重試該用 LangGraph,以及完全新手該從哪個開始學。「用真實專案學 LangGraph」系列第一篇。

本文目錄 · 8
TL;DR:LangChain 跟 LangGraph 不是二選一,是上下層。LangGraph 是底層 runtime(管 state、流程、重試),LangChain 是建在它上面的高階 API(create_agent 一行起手)。2025-10-22 兩者都上 1.0 正式版,承諾 2.0 前不破壞 API。標準 agent loop 用 LangChain,要精細控制流程分流 / 重試 / human-in-the-loop 用 LangGraph。 這篇是「用真實專案學 LangGraph」系列的第一篇,先把選型講清楚,後面 EP2 開始手把手寫第一個會跑的 graph。

這是一個系列。我把一套真的在跑的醫療 AI 決策 pipeline 的設計,拆成 6 篇從 0 教你 LangGraph。第一篇不寫 code,先解決一個最多人卡住的問題:LangChain 跟 LangGraph 到底差在哪,2026 年該學哪個?

📌 目錄

LangChain 跟 LangGraph 是什麼

先給最短的答案:

  • LangGraph 是一個 agent 的執行 runtime。你把 AI 應用畫成一張圖(graph):每個節點(node)做一件事,節點之間用邊(edge)連起來,整張圖共用一份狀態(state)。它管的是「流程怎麼走、狀態怎麼傳、卡住了怎麼重試」。
  • LangChain 是建在 LangGraph 之上的高階 API。它把「呼叫模型 → 模型決定要不要用工具 → 執行工具 → 再問模型」這個最常見的 agent 迴圈包成一個 create_agent 函式,讓你一行起手。
官方在 2025 年 10 月 22 日把兩者一起推上 1.0,講得很白:LangGraph is the low-level runtime, and LangChain is now a high-level API built on that runtime.(LangGraph 是底層 runtime,LangChain 是建在其上的高階 API。)

換句話說,你用 LangChain 寫 agent 的時候,底下跑的就是 LangGraph。它們不是競爭關係,是同一套東西的兩個抽象層。

你的 AI 應用

LangChain 1.0
高階 API:create_agent + middleware

LangGraph 1.0
底層 runtime:StateGraph / node / edge / state

LLM(任何 provider)+ 你的工具

🧠 為什麼這兩個東西最多人搞混

我帶學員、也在企業內訓講過 AI 應用開發,這題的混亂幾乎每次都出現。原因有三個:

第一,名字太像。 一個叫 LangChain、一個叫 LangGraph,同一個團隊出的,文件還混在一起。新手第一反應是「這兩個是不是同一個東西的新舊版本」——不是。

第二,能力重疊。 你用 LangChain 能做的事,硬用 LangGraph 也做得出來,反過來也行。所以「我到底該學哪個」這個問題,光看功能列表是看不出答案的。差別在控制粒度,不在能不能做。

第三,版本一直變。 LangGraph 從 0.1、0.2 一路演進,2025 年 10 月才上 1.0。網路上一堆教學是 0.x 時代寫的,import 路徑、API 名稱都可能對不上。你照著舊文打 code,跑不起來,又搞不清楚是自己錯還是文章過時。

這也是我寫這個系列的原因:用一個真的在 production 跑的專案當骨架,而不是 toy example。我手上有一套醫療場景的 AI 決策 pipeline——一筆病人資料進來,補齊衍生指標、跑公式、載入規則、組 few-shot、丟給 LLM 出結構化建議、再用業務規則驗一遍、不過就重試或退件。整套就是 LangGraph 搭的,後面幾篇會把它去識別化之後一塊一塊拆給你看。

⚖️ LangChain vs LangGraph 差別比較表

維度LangChain 1.0LangGraph 1.0
定位高階 API底層 runtime
核心抽象create_agent(標準 agent loop)StateGraph(你自己畫流程圖)
控制粒度用 middleware 在固定 loop 上掛 hook每個 node、每條 edge 自己定
流程分流△ middleware 能做但受限✓ conditional edge 任意分流
自訂重試△ 靠 middleware✓ 自己畫一條 retry 邊回去
Human-in-the-loop✓ 內建 middleware✓ 第一級 API 支援
狀態持久化✓(底層就是 LangGraph)✓ durable state,server 重啟也接得回
上手速度快,一行起手慢,要先想清楚流程
適合標準「問答 + 用工具」agent混合確定性步驟 + AI 步驟的複雜流程
(✓ 原生支援、△ 做得到但繞、✗ 不適合)

重點不是哪個比較強,是你的應用長什麼樣。下一節給三個情境直接判斷。

🎯 2026 該學哪個:三個情境判斷

情境一:你只是想做「會用工具的聊天機器人」

模型回答問題,需要時呼叫搜尋、查資料庫、算東西,然後給最終答案。這就是標準 agent loop。

用 LangChain。 create_agent 三行搞定,middleware 補上 human-in-the-loop、PII 遮蔽、長對話自動摘要。官方的話:create_agent 是「最快的方式,用任何 model provider 建出 agent」。

情境二:你的流程混了「確定性步驟」跟「AI 步驟」

像我那套醫療 pipeline:有些步驟是純算的(補 BMI、跑公式、查規則,這些不該丟給 LLM 亂猜),有些步驟才需要 LLM 判斷。而且 LLM 出來的結果還要過一道業務規則驗證,不過就得退回去重做或直接退件。

用 LangGraph。 這種「deterministic + agentic 混合 + 要分流 + 要重試」的流程,正是 LangGraph 1.0 官方點名的主場:workflows mixing deterministic and agentic components。你需要的是一張能畫出 if-else 分支、能畫出 retry 迴圈的圖,不是一個固定的 agent loop。

情境三:長流程、要人工審核、要 latency/cost 最佳化

跑很久的業務流程、敏感操作要人點頭才能繼續、每一步的成本都要算。

用 LangGraph。 durable state 是關鍵——server 中途重啟、長流程被打斷,它接得回來,不會掉 context。

一句話總結選型:標準 loop 撐得住就用 LangChain,撐不住就下沉到 LangGraph。 而因為 LangChain 底層就是 LangGraph,你之後要從前者「掀開蓋子」往下走,不用打掉重練。

🔥 我踩過的坑:版本與心智模型

坑一:照舊教學打 code,import 路徑對不上

2026 年要學,請認明 1.0。0.x 時代的教學很多,import 路徑跟 API 名稱會不一樣。LangGraph 1.0 唯一比較明顯的變動是 langgraph.prebuilt 被 deprecate,功能搬到 langchain.agents。如果你照舊文 from langgraph.prebuilt import ... 打不出來,先檢查版本。

驗證裝的是哪個版本,一行:

python -c "import importlib.metadata as m; print('langgraph', m.version('langgraph')); print('langchain', m.version('langchain'))"

坑二:Python 版本被砍

LangChain 1.0 把 Python 3.9 支援拿掉了,最低 3.10。如果你還在 3.9 的環境,pip 裝得起來但行為怪,先升 Python。

python --version   # 要 3.10 以上

坑三:把「學會 API」當成「學會 LangGraph」

這是最大的坑,跟版本無關。LangGraph 的 API 其實很少——StateGraphadd_nodeadd_edgeadd_conditional_edgescompileinvoke,大概就這些。難的不是記 API,是建立心智模型

  • 你的應用要拆成哪幾個 node?
  • node 之間的狀態(state)要傳什麼?
  • 哪裡需要分流(conditional edge)?哪裡需要回頭重試?
API 一天就學完,心智模型要靠真的拆一個專案才長得出來。這就是為什麼這系列不給 toy example,直接帶你拆一套真的在跑的 pipeline。

❓ 常見問題 FAQ

Q:LangChain 跟 LangGraph 可以混用嗎?
A:可以,而且官方鼓勵。你可以用 LangChain 的 create_agent 快速做出 agent,然後把它當成 LangGraph 圖裡的一個 node。因為 LangChain 底層就是 LangGraph,兩者天生相容。

Q:我完全不會,該先學哪個?
A:先學 LangGraph 的核心三件事——state、node、edge。把這三個搞懂,LangChain 的 create_agent 你一看就懂(因為它只是把一個常見的 graph 包起來)。反過來先學 LangChain,你會卡在「為什麼 middleware 是這樣設計」,因為你不知道底下的 runtime 長怎樣。這系列就是從 LangGraph 核心開始教。

Q:LangGraph 1.0 穩定嗎?可以上 production 嗎?
A:可以。官方說它是「durable agent 框架領域的第一個穩定大版本」,已經在 Uber、LinkedIn、Klarna 這些公司跑了一年多才正式 1.0,並承諾 2.0 前不做破壞性更新。

Q:只做簡單的 RAG 問答,需要 LangGraph 嗎?
A:不一定需要。純 RAG(檢索 + 丟給模型回答)用 LangChain 的標準組件就夠。等你的流程開始長出「分流、重試、人工審核、多步驟混合」這些需求,再下沉到 LangGraph。不要為了用而用。

Q:學這個跟直接用 OpenAI / Anthropic SDK 寫有什麼差?
A:簡單應用直接用 SDK 更輕。LangGraph 的價值在「流程複雜到你開始自己手刻 state machine」的時候——它把 state 傳遞、流程分流、重試、持久化這些你遲早要自己寫的東西標準化了。流程越複雜,省得越多。

🔗 延伸資源

author
陳彥彤

AI 工程師 · AI 顧問。Java 後端 8 年、AI 工程師 2 年。AI 內訓 · AI 導入顧問 · 前後端與雲端培訓。

support

覺得文章有用可以到 GitHub 給個 star,或是透過信箱聊聊 AI 內訓、AI 導入顧問或前後端 / 雲端培訓。

related

相關文章

[AI 教學] · 16min
LangGraph Conditional Edge + Reducer:讓 graph 會分流、會重試
線性 graph 不夠用時你需要兩個東西:Conditional Edge(跑完一個 node 看結果決定下一步去哪——過了往前、沒過退回重試、重試太多次直接退件)跟 Reducer(讓某個 state 欄位累加而不是覆蓋,最典型就是 retry 計數器)。這篇用 add_conditional_edges + router 函式 + Annotated[int, operator.add] 把這兩件事講透,並解釋一個關鍵設計決策:MAX_RETRY 該設多少、為什麼很多嚴肅場景答案是 0。「用真實專案學 LangGraph」系列 EP3。
[AI 教學] · 17min
LangGraph 核心:State / Node / Edge 完整教學(第一個會跑的 graph)
LangGraph 的核心只有三個概念:State(跨步驟共用的狀態)、Node(收 state 回傳要改的欄位的函式)、Edge(把 node 串起來的線)。這篇用血脂決策 pipeline 的真實場景,帶你從 StateGraph 定義、add_node、add_edge 一路到 compile 與 invoke,給一個複製貼上就能跑的最小範例,並講三個新手最常踩的坑:回傳整份 state、忘記接 START/END、在 node 裡 mutate state。「用真實專案學 LangGraph」系列 EP2。
[AI 工具] · 12min
我原本用 Hermes Agent CLI,後來為什麼換成 LangGraph(遷移覆盤)
系列番外。我這套醫療決策 pipeline 最早不是用 LangGraph,是用 Hermes Agent CLI(NousResearch 2026 年初開源的自主 agent 框架)。Hermes 很強,但強在通用對話助理、會自我學習、接 20+ 平台;而我要的是確定性步驟為主、流程可畫成圖、每步可審計、出錯能精準退件的決策管線。方向不對再強也是錯的工具。這篇覆盤這個選型決策:Hermes 哪裡好、為什麼對我的場景不對、換到 LangGraph 解決了什麼。「用真實專案學 LangGraph」系列 EP6(完結)。