跳至主要內容
KOH NEWS 今日成報

LangGraph 的分支執行邏輯:靜態路由與動態扇出怎麼分

科技 深度報導

掘金一篇2026年9月29日的技術文章整理LangGraph靜態分支與動態分支的執行邏輯,包含條件路由與Send扇出的差異與判斷口訣。

一個 AI 請求只對應一個答案時,流程是一條直線;一旦同一筆輸入要走向多個方向,問題就變成三個:選哪條路、哪些路可以同時走、結果最後在哪裡匯合。掘金用戶 Dragon_xjy 於 2026 年 9 月 29 日發布一篇約 8 分鐘閱讀量的技術文章,主題正是 LangGraph 如何把這些「路口」變成可以執行的圖結構。本臺以回顧角度整理該文的可核實內容。

兩種分支,一條判斷口訣

文章先把 LangGraph 的分支分成兩類。

第一類是靜態分支:編譯圖的時候,所有候選節點已經註冊完成,執行期只是在這些固定節點中挑選一條或幾條路徑。

第二類是動態分支:圖裡只放通用的 Worker 節點,要到執行當下才決定要建立幾個任務、每個任務帶什麼參數。文中介紹的 Send 機制屬於此類,適合批次處理和數量事先不確定的工作。

作者給出一條分辨口訣:節點集合事先知道,是靜態分支;任務數量要到執行時才知道,是動態分支。

靜態分支的條件路由

在靜態分支的示範程式碼中,作者以 add_conditional_edges() 為核心,讓路由函式回傳業務標籤,再透過 path_map 把標籤映射到實際節點。範例是一個內容產生流程:狀態裡存放主題(topic)與內容類型(content_type),圖中註冊了寫七言絕句的 poem_node 與寫笑話的 joke_node 兩個候選節點,路由函式依 content_type 決定走向,兩個節點各自接到 END。

作者特別標註的重點是:整張圖只有兩個候選節點,執行期不會憑空長出第三個節點。路由函式回傳的是業務標籤,並不直接暴露節點名稱,這層間接映射由 path_map 負責轉換。

範例程式呼叫 DeepSeek 的模型(ChatDeepSeek,模型名稱為 deepseek-v4-flash)產生內容,並以「布偶貓」為示範主題。

動態分支:Command 與 Send

文章接著介紹 Command 路由。Command 的作用是把「判斷狀態」與「跳轉位置」收進同一個節點裡處理,未知的類型則直接結束流程。

動態分支的典型用法是 Send。文章將其定位為「動態扇出任務」的工具:當任務數量在執行前無法確定、需要批次展開時,由 Send 在執行期產生多個帶不同參數的任務實例。這與靜態分支的根本差異在於,靜態分支的路徑選項在編譯期就已封閉,動態分支的任務數量則是開放的。

來源與資訊邊界

以上內容均整理自該篇掘金文章的正文。文中的程式碼作者標明可直接執行,判斷口訣與節點封閉性的說明屬於作者的技術表述。至於 Send 與 Command 在不同 LangGraph 版本中的 API 細節與適用場景,原文未完整展開,本臺不另行補充。對分支機制有實作需求的讀者,仍應以 LangGraph 官方文件為準。

主題

科技與平台

回到即時新聞