LangGraph 是由 LangChain 團隊開發的 Python 框架,專門用來設計和執行「狀態導向」與「基於圖形」的 AI 工作流。它的核心概念是把每個步驟(Node)和流程控制(Edge)用圖形方式串接起來,讓你可以像畫流程圖一樣,組裝複雜的 AI 任務、代理人(Agent)協作,甚至多步驟自動化決策。這種設計特別適合需要多步驟、分支、循環、錯誤復原等情境,例如對話機器人、內容自動生成、資料處理等。
與 LangChain 的關係
LangGraph 是 LangChain 生態系的延伸,兩者高度相容。你可以直接用 LangChain 的工具、LLM 介接、資料庫等模組,然後用 LangGraph 把它們組裝成更靈活、可追蹤的流程。
LangGraph 的核心概念
- State(狀態):像一個隨流程傳遞的「變數表」,每個節點都能讀取和更新 State,讓資訊能跨步驟保存與同步。
- Node(節點):每個節點就是一個任務單元(通常是一個 Python function),負責處理特定工作,例如呼叫 LLM、查詢資料、處理輸入等。
- Edge(邊):定義節點之間的流程走向,可以是單向、分支、甚至循環,讓流程更靈活。
- Cyclical Graph(循環圖):支援流程中的循環與分支,讓 AI 可以自我檢查、反覆優化,遠比傳統單向 DAG 更適合複雜應用。
- 自動狀態管理:State 可以用 TypedDict 或 Pydantic BaseModel 定義,方便型別檢查與維護。
- 持久執行與中斷恢復:流程可以自動儲存進度,遇到中斷時能從上次狀態繼續執行,適合長時間運行的 AI 任務。