詳細解釋
LangChain 於 2024 年推出的庫,用於構建有狀態、循環、多 Agent 的複雜 LLM 工作流,與簡單的線性鏈(Chain)相對。
核心概念:
- 圖(Graph):節點是函數/Agent,邊是轉換條件
- 狀態(State):跨節點共享的數據結構
- 持久化:狀態可保存到數據庫,支持長時間運行和恢復
- 循環:支持反饋循環(不像 DAG 只能線性)
典型用例:
- 多 Agent 協作:研究員 → 寫手 → 編輯 → 審核,循環直到通過
- 人機協作:Agent 執行 → 人類批准 → 繼續/修改
- 複雜 RAG:檢索 → 評估相關性 → 若不足重新查詢
- 持久對話:客服機器人記憶跨天對話
代碼風格:
- 聲明式:定義圖結構,LangGraph 處理執行
- 與 LangChain 整合:節點可以是任意 Runnable
- 檢查點:自動保存狀態,支持容錯和重放
與競品對比:
- vs LangChain Expression Language:LCEL 是線性管道,LangGraph 是圖
- vs AutoGen:AutoGen 更專注對話和多 Agent,LangGraph 更靈活通用
- vs Temporal/Cadence:那些是通用工作流引擎,LangGraph 專為 LLM 優化
商業模式:
- 開源(MIT)
- LangSmith 整合:監控 LangGraph 執行
- 企業支持:優先響應和咨詢
這反映了 LLM 應用的複雜化—— 從簡單問答到複雜工作流程,需要更強大的編排工具。