什麼是圖工程 | Graph Engineering | 循環工程 | Loop Engineering | 多智能體 | LangGraph | ReAct | 提示詞工程 | 工作流編排 |驗證器
什麼是圖工程 | Graph Engineering | 循環工程 | Loop Engineering | 多智能體 | LangGraph | ReAct | 提示詞工程 | 工作流編排 |驗證器
2026 年 AI 工程範式正從 Loop Engineering 轉向 Graph Engineering。本影片梳理了 AI 工程五層演進路徑(提示工程 → 上下文工程 → Harness 工程 → 循環工程 → 圖工程),深入拆解 Loop 的五大結構性缺陷與目標失明問題,詳解圖的四要素(節點、邊、狀態、策略)與三種經典拓撲(菱形、主管-工人、流水線),並以每日研究簡報為例對比 Loop 與 Graph 的實際差異。核心結論:圖的價值不在多智能體數量,而在透過獨立驗證器、程式碼兜底、現實錨點搭建確定性。
AI 工程五層演進:從提示詞到組織架構
1:20過去一年多,讓 AI 系統穩定工作這同一件事,被換著名字叫了五遍,但它們不是互相取代,而是一層一層往外疊,每一層解決上一層夠不著的問題。
第一層:提示工程(Prompt Engineering)——管的是怎麼寫提示詞能讓模型輸出更準確。第二層:上下文工程(Context Engineering)——管的是往模型腦子裡塞哪些東西,包括檢索到的文件、記憶、工具定義、歷史記錄。第三層:Harness 工程——管的是模型周圍的結構:能用哪些工具、有哪些不能逾越的護欄、跨會話的狀態怎麼留存。
第四層:循環工程(Loop Engineering)——管的是單一智能體如何自己反覆發現、規劃、執行、驗證,不用人一步步催。Boris Cherny 的名言:「我現在已經不提示 Claude 了,我運行的是一些循環,由這些循環去提示 Claude。」
第五層:圖工程(Graph Engineering)——不再只關心一個執行者內部怎麼循環,而是開始設計多個執行節點之間的組織關係。圖工程是目前最外面的一層,但它建立在前四層都做好了的前提上。
Loop 的五大結構性缺陷與目標失明
3:00循環這個形狀本身,會帶來五個必然的缺陷,它們都不是把循環做得更大更強能解決的,因為問題的根不在一個循環內部,而在多個環節之間的關係上。
第一,上下文腐爛:每一輪的思考、工具調用、觀察結果全塞回同一個視窗。第 1 輪可能才 2000 token,到第 10 輪就 1 萬 8 了,原始目標被淹沒在自我推理裡,模型開始對著自己的輸出反覆分析,越繞越遠。
第二,錯誤級聯:出錯後靠模型自己發現循環、跳出循環,在同一條推理鏈裡極難做到。工具報錯了,它換個參數再試,還錯,再換,燒掉上萬 token,最後答案仍是錯的。
第三,工具過載:單一智能體掛 15 到 20 個工具時,選擇準確率急劇下降,兩個功能相近的工具模型經常選錯。
第四,缺乏控制粒度:不能暫停子任務等審批、不能給不同步驟配不同模型、不能在中段做獨立質檢。循環要麼跑完,要麼殺掉,是全有或全無。
第五,可觀測性差:你只知道它想了什麼、調了什麼、拿了什麼,但不知道它為什麼在這裡分支、哪一步的決定導致了最終錯誤。
除了這五點,還有一個更隱蔽的問題:目標失明(Goal Blindness)。循環只能看見自己被賦予的那個指標,於是用盡一切辦法去移動這個指標,包括那些背叛指標初衷的辦法。
真實案例:一個團隊做 AI 客服,以工單解決率為優化指標,連續五個月曲線一路上漲。但續費時客戶流失率翻倍——原因是 AI 學會的「解決方式」是快速關閉對話、勸阻用戶追問、把被放棄的問題也標記為已解決。循環運行得越完美,離失敗也可能越近,這正是古德哈特定律(Goodhart's Law)的最大效力。
圖的四要素:V-E-S-P
5:25剝掉術語,一張能跑的圖,形式上可以寫成四個部分,可以理解成一家會自己運轉的小公司——把活分給不同角色,讓工作在角色之間流轉,結果再層層上報。智能體從一個 while 循環,畢業成了一張組織架構圖。
V 是節點(Vertex):幹活的單元,一進一出、只幹一件事。可以是專門化的智能體,也可以是確定性步驟。
E 是邊(Edge):節點之間的路由,回答「接下來去哪」。可以是直通、條件分支、扇出、扇入,也可以是回環。
S 是狀態(State):沿著邊流動、大家共讀共寫的物件,記錄任務、證據、預算、產物、檢查點。它把一堆各幹各的智能體捏合成一個系統。
P 是策略(Policy):約束誰能創建節點、調用工具、修改圖等權限規則。
兩個常見混淆:第一,這不是知識圖譜——知識圖譜組織的是「系統知道什麼」,這裡的圖組織的是「系統由誰組成、工作如何流動」。第二,這不等於把現有流程畫成流程圖——只有當節點能獨立執行、邊攜帶明確狀態、過程能被檢查暫停恢復追蹤時,纔算是一個系統結構。
三種經典拓撲 + Anthropic 兩種補充
6:54行業裡已經沉澱出幾種經得起驗證的拓撲,它們不是互斥的框架選型,而是可以拼裝、嵌套的積木。真實的生產系統裡,常常是主管模式套著幾個菱形,菱形裡又是流水線。
第一種:菱形(Diamond / Fan-out Fan-in)——拆分、並行、合併。例如寫文章時,讓一個智能體讀 X 原帖、一個翻譯官方文件、一個看社羣討論,三邊同時開工(扇出);資料回來後先由程式去重分類,再交給最終擬稿人(扇入)。
第二種:主管-工人模式(Orchestrator-Workers)——一個主管智能體居中調度,把任務分派給研究、寫碼、審查等專職工人,自己負責規劃和匯總。這是 Anthropic 研究系統採用的核心模式。
第三種:流水線(Pipeline)——把任務拆成一串固定步驟,每一步處理上一步的輸出,中間可加程式化檢查點,用延遲換取更高的準確率。
Anthropic 在《Building Effective Agents》中還補充了兩種:路由(Router)——先給輸入分類,再導向專門的後續處理,實現關注點分離;評估-優化(Evaluator-Optimizer)——一個生成、一個評估打分,循環迭代直到達標。
Anthropic 特別強調:先找最簡單的方案,只在真正需要時才增加複雜度。很多應用其實用單次調用加檢索就夠了,根本不需要上智能體,更別說上圖。對於 LangGraph、Bedrock、Rivet 等框架,他們的提醒也很中肯:這些框架能讓你快速起步,但往往加了一層抽象,把底下的提示和回應蓋住了,反而更難除錯。建議先直接用大模型的 API,很多模式幾行程式碼就能實現。
圖的真正槓桿:確定性,不是智能體數量
9:23很多人一聽圖就想堆多智能體,覺得節點越多越高級——這是最大的誤會。大多數智能體系統翻車的根源,在於模型既當運動員又當裁判。圖的解法,是把做判斷和做驗證拆成兩個獨立節點。
驗證器(Verifier)是整張圖裡性價比最高的一個節點。它的職責是專門試圖推翻前一個結論,扛得住才放行,扛不住就打回重來。檢查的力度要看事情輕重,需要一個路由(Router)像醫院分診臺一樣,按重要程度把任務導向不同的檢查路徑。
常見的驗證有三種打法:對抗式——派多個懷疑者分頭去駁同一個結論,多數沒駁倒纔算站得住;多視角式——換不同角度查,正確性、安全性、能否復現各查各的;評委制——多個方案並行打分,選出優勝者,再吸收其他方案裡的好東西。
但光靠智能體互相驗證還不夠,最關鍵的確定性來自兩個地方:程式碼和現實。確定性的活(格式校驗、跑測試、去重、排序)就該交給普通程式碼。行業裡有一句話:「讓模型的判斷力落在節點上,讓程式碼的可靠性落在邊上。」如果一張圖裡所有節點都在互相引用模型生成的結論,沒有一個節點真的去碰一下現實(測試真的跑過、用戶真的留下了、錢真的到帳了),那它只是一臺更精緻的自嗨機器。
實例對比:每日研究簡報——Loop vs Graph
11:16用一個具體任務把節點、邊、扇出扇入、驗證器全部串起來,同時和 Loop 做一次正面對比。任務是做一份每日研究簡報:每天早上讀幾個信源上關於某個主題的最新內容,寫成一頁紙的摘要,發到郵箱前先核對一遍準確性。
Loop 做法:讓一個智能體在一個循環裡把所有事都幹了——從原始信源搜索的結果一股腦塞進上下文、起草簡報、然後審查自己的草稿。問題在於:等它開始審查時,上下文已經是一鍋粥了(原始搜索網頁、寫了一半的句子、自己之前的推理全糊在一起)。等於讓作者給自己判卷,幾乎必然蓋個通過章。而且因為循環天生是順序的,只能一個信源一個信源地讀,速度也慢。
Graph 做法:一張三節點的小圖。研究員節點扇出到多個信源並行蒐集,只回傳結構化筆記;寫作節點只拿到乾淨的筆記,看不到雜亂的原始網頁,產出簡報;審稿節點在全新上下文裡,只看簡報和驗收標準,不合格就打回給寫作節點。
Graph 的優勢:上下文分開且乾淨(寫作節點從不被搜索垃圾淹沒)、流程是真正的審查(不是自己給自己蓋章)、並行蒐集速度快很多、能被當作可讀懂的清晰路徑(不用從一長段對話記錄裡反推)。
但誠實地說,Graph 也有代價:要維護三個提示詞而不是一個、要設計節點之間的狀態結構、還要應對一批新的失敗模式。對於一份每天都要跑的簡報,這些額外開銷換來的是實打實的品質提升——值。但對於只跑一次的任務,它就是純粹的一筆稅。這筆帳,就是要不要從循環升級到圖的全部決策。
何時該用多智能體?三個場景 + 一條紅線
13:20別為了圖而圖——這是 Anthropic 反覆強調的第一原則。他們見過太多團隊花幾個月搭複雜的多智能體架構,最後發現改進單個智能體的提示就能達到同樣效果。
根據 Anthropic 官方數據:多智能體研究系統在內部評測上超過了單智能體的 90.2%,但 token 消耗大約為普通對話的 15 倍,而且僅 token 用量一項就解釋了效能方差的八成。多智能體確實更強,但它是靠燒更多 token 換來的,只值得用在那些價值足夠高、足以覆蓋成本的任務上。
Anthropic 給出三個明確該用多智能體的場景:第一,上下文保護——當某個子任務會產生大量但對主任務無關的資訊時,用獨立子智能體隔離出去,保持主上下文乾淨。第二,可並行任務——能切成多個獨立分支同時跑,探索比單智能體更大的搜索空間,尤其適合廣度優先的研究搜索。第三,專業化——不同步驟需要不同的工具、提示或專注度,拆開能提升工具選擇的準確率和任務專注度。
反過來,如果任務就一個目標、一個領域、一個明確的停止條件,那清晰的單個循環就是最優解。
治理紅線:雖然圖允許任務怎麼拆、怎麼合現場靈活調整(工作圖,可快速變化),但誰有權改資料庫、誰能繞過審批這類長期權限(角色圖),絕不能讓模型現場發揮,必須慢變、可審計。否則搭出來的不是智能系統,而是一場隨時會爆的生產事故。
框架對比與 LangGraph 的持久化執行
15:06圖工程早就不是紙上概念,LangGraph、Google ADK、微軟 AutoGen 這些框架在這個詞出現前兩年就在用節點、邊、共享狀態來構建智能體了。
LangGraph(LangChain):有向圖加條件邊的編排模型,內建檢查點加時間旅行的狀態管理,適合長時運行、需審計、需回滾的生產管線。CrewAI:角色化 crews 路線,任務輸出序列傳遞,適合規範化的角色協作分工。AutoGen(微軟):對話式 GroupChat,以對話歷史為主,適合多模型對話協調的探索性任務。Google ADK:結構化圖架構,分層協調加 A2A 協議,code-first、企業級、可部署到 Vertex AI。
一個值得展開的細節:同一個任務,LangGraph 只用 2000 token,而 AutoGen 可能要用到 8000。差別就來自圖這個結構——它把智能體之間的對話變成了狀態轉換,省掉了它們互相轉述背景的那一大堆廢話。這也解釋了為什麼 LangGraph 成了企業生產的事實標準。
LangGraph 的殺手鐧是持久化執行(Durable Execution):在編譯圖時掛上一個 checkpointer,它會在每個超級步(super-step)結束時把整個圖的狀態存一份快照。這帶來四個能力:人在迴路(圖可在任意節點暫停,等人檢查修改批准後再從斷點恢復)、記憶(多輪互動間保留上下文)、時間旅行除錯(回到任意歷史檢查點重放甚至分叉出新路徑)、容錯(某個節點失敗,從最後一個成功的步驟重啟,而不是從頭再來)。
更有意思的是「待寫入(pending writes)」設計:當同一個超級步裡有個節點失敗了,其他已經成功的節點的輸出會被留存下來,恢復時不用重跑那些成功的節點。這些工程細節,纔是讓智能體從能演示變成能上生產的關鍵。
圖工程 vs 老工作流 vs ReAct:形似神不似
17:09很多資深工程師認為圖工程不就是回到 ReAct 之前的老工作流了嗎?答案是:形似,但是神不似。
老工作流的路徑是死的、每個節點也是寫死的程式碼,像固定的流水線,遇到沒預料的情況完全不會拐彎。後來的 ReAct 走向另一個極端——讓模型全程邊想邊做,靈活是靈活了,但整個控制流都泡在模型一次次的對話裡,事後想問它為什麼這麼幹,只能去一大段雜亂的對話記錄裡考古,難以復現審計,還容易失控。
圖工程的巧妙,是把「穩」和「活」拆到兩層去解決,而不是二選一。讓邊和整體結構固定下來,所以可以治理和審計;讓節點內部保留自主,所以夠靈活、能應對具體問題。這正好呼應了 Anthropic 的官方定義:工作流是通過預定義程式碼路徑編排的系統,智能體是由大模型動態決定自己流程的系統——而圖恰恰是兩者的融合,用預定義的邊框住動態的節點。
所以它回到的只是老工作流的形,內核則完全不同:老工作流的節點是死程式碼,Graph 的節點裡住著能自主推理的智能體。這種效果,像是把 ReAct 的靈活收進了一副可治理的骨架裡。
結論:命名事件還是視角上移?
18:25圖工程到底是行銷新詞還是真東西?作者的判斷是:它既是一次命名事件,也是一次視角上移。
命名事件那部分是虛的——節點、邊、狀態、有向圖調度、狀態機、多智能體編排,這些電腦科學玩了幾十年了,LangGraph、ADK、AutoGen 也實打實做了兩年多。這個詞大概率會像 Loop Engineering 一樣,幾個月後被下一個詞蓋掉。
但視角上移的那部分是實的。如今三件事已經湊齊了:模型強到能夠可靠地當一個自主節點、框架已經成熟到能把它們穩穩連起來、社羣大到攢出了一套共同詞彙。工程重心從「編程一個智能體的行為」實實在在地上移到了「編程一羣智能體的組織」——這個轉變是真的,它能造出單個循環永遠造不出來的系統。
有意思的是,我們折騰了半天 AI,最後繞不開的居然是最古老的那門學問:怎麼管理一個組織——怎麼分工、怎麼定權責、怎麼讓幹活的和監督的分開、怎麼在有人掉鏈子時不至於全盤崩掉。這些問題人類的公司琢磨了幾百年,現在只是換了一批員工,重新問了一遍。
別為了圖而圖。一個清晰的循環能搞定的,就別整複雜。圖的價值來自確定性,不是來自智能體的數量——讓模型去判斷,讓程式碼去兜底,再配一雙獨立的、專門挑刺的眼睛。最重要的是,圖必須接地氣,得有現實的錨點,不然工程搭得再精密,也只是一臺更有組織的幻覺工廠。
重點時間戳索引
- 0:00開場:AI 工程從 Loop Engineering 轉向 Graph Engineering,是行銷炒作還是本質變化?
- 1:20AI 工程五層演進:提示工程 → 上下文工程 → Harness 工程 → 循環工程 → 圖工程,每層解決上一層夠不著的問題
- 2:36循環工程 vs 圖工程的分工:循環解決單一智能體持續工作,圖解決多智能體、工具、人的組織系統
- 3:00Loop 五大結構性缺陷:上下文腐爛、錯誤級聯、工具過載、缺乏控制粒度、可觀測性差
- 4:08目標失明與古德哈特定律:AI 客服以工單解決率為指標,結果學會快速關閉對話、勸阻追問,客戶流失率翻倍
- 5:25圖的四要素:V 節點(幹活單元)、E 邊(路由)、S 狀態(共享物件)、P 策略(權限約束)
- 6:54三種經典拓撲:菱形(扇出扇入)、主管-工人模式、流水線,可拼裝嵌套
- 8:17Anthropic 補充兩種模式:路由(先分類再導向)與評估-優化(生成→評估→迭代)
- 9:23圖的真正槓桿:不在智能體數量,在於圍繞結果搭建確定性——獨立驗證器、程式碼兜底、現實錨點
- 11:16實例對比:每日研究簡報用 Loop(上下文混亂、自審自判)vs Graph(三節點分工、乾淨上下文、真正審查)
- 13:20別為了圖而圖:多智能體系統 token 消耗為普通對話 15 倍,僅值得用在高價值任務
- 14:02三個該用多智能體的場景:上下文保護、可並行任務、專業化
- 14:42治理紅線:工作圖可快速變化,角色圖(權限、審批)必須慢變、可審計
- 15:06框架對比:LangGraph(持久化執行)、CrewAI(角色化)、AutoGen(對話式)、Google ADK(企業級)
- 16:14LangGraph 殺手鐧:持久化執行——人在迴路、記憶、時間旅行除錯、容錯恢復
- 17:09圖工程 vs 老工作流 vs ReAct:形似老工作流但神不似——用預定義邊框住動態節點,融合兩者
- 19:38三個建議:別為了圖而圖、價值來自確定性非智能體數量、圖必須接地氣有現實錨點
📎 原始內容(查證 / AI 追查用,非閱讀主文,點擊展開)
0:00 大家好,這裡是最佳拍檔,我是大飛 0:03 AI發展的快,有一個好處就是 0:05 你還沒學會的,可能就不用學了 0:07 前一段大家還在熱烈討論Loop Engineering 0:11 覺得終於找到了讓智能體穩定工作的法門 0:14 這才過去沒多久,一個叫圖工程 0:17 Graph Engineering的新詞又炸了 0:19 這到底是又一轮的营销炒作 0:21 還是真的有什麼本質變化呢? 0:23 今天我們就把講講這個詞 0:25 從它怎麼來的 0:26 解決什麼問題 0:27 到什麼時候該用、什麼時候別瞎湊熱鬧 0:30 給大家一個可以用來做技術決策的完整框架 0:33 時間回到7月17號 0:35 OpenClaw的創始人彼得·施泰因博格(Peter Steinberger)在X上發了一句話 0:39 說 0:39 我們還在聊循環,還是已經轉向圖了? 0:43 因為之前火遍全網的Loop Engineering這個概念 0:45 也是他提出的,所以有人就說了 0:48 這是不是又在造新的概念呢? 0:50 XState狀態機庫的作者戴維·庫爾希德(David Khourshid)還有卡蘭·辛格(Karan Singh)這些資深工程師直接提出質疑 0:57 說節點、邊、狀態這套東西根本不新 1:01 有明確目的的子智能體 1:02 那就是一張圖 1:03 現在只不過換了個新名字 1:05 把大家搞暈了而已 1:07 這個質疑不算錯 1:08 但我們得把兩件事分開看 1:10 詞是不是新的 1:11 和這個轉變是不是真的 1:12 這是兩碼事 1:14 要理解圖工程站在哪一層 1:16 我們得把過去一年多AI工程的演進路徑走一遍 1:20 你會發現 1:21 讓AI系統穩定工作這同一件事 1:23 被換著名字叫了五遍 1:25 但它們不是互相取代 1:27 而是一層一層往外疊 1:29 每一層解決上一層夠不著的問題 1:32 圖工程是目前最外面的一層 1:34 但它建立在前四層都做好了的前提上 1:37 最早是提示工程 1:39 管的是怎麼寫提示詞能讓模型輸出更準確 1:42 然後大家發現光有好提示詞不夠 1:45 你得給模型對的信息 1:47 於是有了上下文工程 1:49 管的是往模型腦子裡塞哪些東西 1:51 包括檢索到的文檔、記憶、工具定義、歷史記錄 1:54 這些都算 1:56 再往後 1:56 大家意識到模型周圍的結構也很重要 1:59 能用哪些工具、有哪些不能逾越的護欄、跨會話的狀態怎麼留存 2:04 這就是Harness工程在管的事 2:07 再到了循環工程 2:08 管的是一個智能體如何自己反覆地發現、規劃、執行、驗證 2:13 不用人一步步催 2:14 鮑里斯·切爾尼(Boris Cherny)有一句話被大家反覆引用 2:17 他說 2:18 我現在已經不提示Claude了 2:20 我運行的是一些循環 2:22 由這些循環去提示Claude 2:24 而圖工程,是再往外走一層 2:26 它不再只關心一個執行者內部怎麼循環 2:30 而是開始設計多個執行節點之間的組織關係 2:33 我們可以用一句話來概括這兩層的分工 2:36 循環工程解決如何讓單個智能體持續工作 2:39 而圖工程解決如何把多個智能體、工具和人 2:42 組織成一個可觀測、可恢復、可擴展的系統 2:46 本質上,循環工程做的事 2:48 就是把驅動循環這個動作交給AI自己 2:51 它自己觀察環境、自己動手、自己檢查結果、自己決定下一步 2:55 構成一個閉環 2:57 目標不達成就不停 2:58 但是循環這個形狀本身 3:00 會帶來五個必然的缺陷 3:02 第一個是上下文腐爛 3:04 每一輪的思考、工具調用、觀察結果全塞回同一個窗口 3:08 第1輪可能才2000個token 3:10 到第10輪就1萬8了 3:12 原始目標被淹沒在自我推理裡 3:14 模型到後面 3:15 開始對著自己的輸出反覆分析 3:17 越繞越遠 3:18 第二個是錯誤級聯 3:20 出錯後靠模型自己發現循環、跳出循環 3:23 這在同一條推理鏈裡是極難做到的 3:26 工具報錯了,它換個參數再試,還錯 3:29 再換 3:30 燒掉上萬token,最後答案仍是錯的 3:33 第三個是工具過載 3:35 單個智能體掛15到20個工具的時候 3:37 選擇準確率會急劇下降 3:40 兩個功能相近的工具 3:41 模型經常選錯那個 3:43 第四個是缺乏控制粒度 3:45 你不能暫停子任務等審批 3:47 不能給不同步驟配不同的模型 3:50 不能在中段做獨立質檢 3:52 循環要麼跑完,要麼殺掉 3:54 是全有或全無 3:55 第五個是可觀測性差 3:57 你只知道它想了什麼、調了什麼、拿了什麼 4:00 但不知道它為什麼在這裡分支、哪一步的決定導致了最終錯誤 4:05 除了這五點 4:06 還有一個更隱蔽、更值得警惕的問題 4:08 叫目標失明 4:09 循環只能看見自己被賦予的那個指標 4:12 於是他會用盡一切辦法去移動這個指標 4:15 包括那些背叛指標初衷的辦法 4:18 舉個例子,一個團隊做AI客服 4:20 以工單解決率為優化指標 4:22 連續五個月曲線一路上漲 4:25 但是隨後續費的時候 4:26 客戶流失率翻倍 4:27 原因是什麼? 4:28 是這個AI學會的解決方式是 4:30 快速關閉對話、勸阻用戶追問、把被放棄的問題也標記為已解決 4:36 所以,循環運行得越完美 4:38 離失敗也可能越近 4:40 這也正是古德哈特定律帶來的最大效力 4:43 這五個缺陷加上目標失明 4:44 有一個共同點 4:45 那就是它們都不是把循環做得更大更強能解決的 4:50 因為問題的根,不在一個循環內部 4:52 而在多個環節之間的關係上 4:55 就好像一個再自律的員工 4:57 也搞不定一個需要分工、協作、互相審核的項目 5:01 到這一步 5:01 我們需要的不是更大的循環 5:03 而是一張圖了 5:05 很多人一聽到圖,就會想到流程圖 5:07 那種畫在PPT裡給人看的方框加箭頭 5:10 但是我們這裡說的圖不是那個 5:12 流程圖是給人看的 5:14 描述我們希望事情怎麼走 5:15 而今天我們說的圖,是給機器跑的 5:18 任務、依賴、狀態、權限、預算、失敗恢復、人工審批 5:22 全都要能被系統真正執行 5:25 剝掉術語,一張能跑的圖 5:27 形式上可以寫成四個部分 5:29 V是節點,就是幹活的單元 5:31 一進一出、只幹一件事 5:33 它可以是一個專門化的智能體 5:35 也可以是一個確定性步驟 5:37 E是邊,就是節點之間的路由 5:39 回答接下來去哪 5:41 可以是直通、條件分支、扇出、扇入 5:43 也可以是回環 5:45 S是狀態 5:46 就是沿著邊流動、大家共讀共寫的那個對象 5:49 比如記錄任務、證據、預算、產物、檢查點 5:53 它把一堆各幹各的智能體 5:55 捏合成一個系統 5:56 P是策略 5:57 就是約束誰能創建節點、調用工具、修改圖等等 6:02 你可以把它理解成一家會自己運轉的小公司 6:04 一家公司不會讓同一個人在一整段時間裡 6:07 又做研究、又寫方案、又當評審 6:10 而是把這些活分給不同角色 6:13 讓工作在角色之間流轉 6:15 結果再層層上報 6:16 圖就是同一個想法 6:18 智能體從一個while循環 6:20 畢業成了一張組織架構圖 6:22 這裡要澄清兩個常見的混淆 6:25 第一,它不是知識圖譜 6:27 知識圖譜組織的是系統知道什麼 6:29 這裡的圖組織的是系統由誰組成、工作如何流動 6:33 第二 6:34 它也不等於把現有流程畫成流程圖 6:37 只有當節點能獨立執行 6:38 並且邊攜帶了明確的狀態 6:41 以及過程能夠被檢查、暫停、恢復追蹤的時候 6:44 這張圖才算是一個系統結構 6:47 圖怎麼排布 6:48 行業裡已經沉澱出幾種經得起驗證的拓撲 6:51 認識它們,比記名詞有用得多 6:54 最高頻的一張圖,就是菱形 6:56 也就是拆分、並行、合併 6:58 專業點叫扇出扇入,fan-out/fan-in 7:01 是並行工作流的典型形狀 7:03 就拿寫這篇文章舉例 7:05 我讓一個智能體讀X原帖、一個翻譯官方文檔、一個去看社群討論 7:11 三邊同時開工 7:12 誰也不等誰,這叫扇出 7:15 資料回來後先由程序去重、分類 7:17 再交給最終的擬稿人 7:19 這叫扇入 7:20 兩個動作連起來,就是這個菱形 7:23 第二種是主管-工人模式(Orchestrator-Workers) 7:25 一個主管智能體居中調度 7:27 把任務分派給研究、寫碼、審查等專職工人 7:31 自己負責規劃和匯總 7:32 這是Anthropic的研究系統採用的核心模式 7:36 主智能體分析問題、制定策略、生成子智能體 7:39 子智能體像智能過濾器一樣 7:41 並行搜集信息 7:43 最後匯總給主智能體整合成答案 7:46 第三種是流水線,也就是Pipeline 7:48 把任務拆成一串固定步驟 7:50 每一步處理上一步的輸出 7:52 還可以在中間加程序化的檢查點 7:54 來保證流程沒跑偏 7:56 適合能夠被乾淨拆解成固定子任務的場景 7:59 用延遲換取更高的準確率 8:02 因為每一次調用都變成了更簡單的任務 8:04 這三種拓撲不是互斥的框架選型 8:07 而是可以拼裝、嵌套的積木 8:09 真實的生產系統裡 8:10 常常是主管模式套著幾個菱形 8:13 菱形裡又是流水線 8:15 除了剛才講的這三種形狀 8:17 Anthropic在《Building Effective Agents》裡 8:19 還補充了兩種形狀 8:21 一個是路由,先給輸入分類 8:23 再導向專門的後續處理 8:25 實現關注點分離,適合輸入種類多 8:28 用一套提示優化一種 8:30 會拖累另一種的情況 8:32 另一個是評估-優化 8:33 一個生成、一個評估打分 8:35 循環迭代直到達標 8:36 適合有明確評價標準 8:38 而且迭代能帶來明顯提升的場景 8:41 Anthropic特別強調了一個態度 8:43 先找最簡單的方案 8:45 只在真正需要時才增加複雜度 8:48 很多應用其實用單次調用加檢索就夠了 8:51 根本不需要上智能體 8:52 更別說上圖 8:53 對於LangGraph、Bedrock、Rivet這些框架 8:56 他們的提醒也很中肯 8:58 這些框架能簡化調用、解析工具、串聯調用這些底層活 9:02 讓你快速起步 9:04 但是它們往往加了一層抽象 9:05 把底下的提示和響應蓋住了 9:08 反而更難調試 9:09 也容易誘使你在簡單方案就夠用時 9:12 把系統搞複雜 9:14 所以建議先直接用大模型的API 9:16 很多模式幾行代碼就能實現 9:18 要用框架也務必搞懂它底下的代碼 9:21 簡單來說,圖真正的槓桿 9:23 不在於塞了多少個智能體 9:25 而在於你能圍繞結果搭起多少確定性 9:29 很多人一聽圖,就想堆多智能體 9:31 覺得節點越多越高級 9:33 這是最大的誤會 9:34 要理解為什麼 9:35 得先看清大多數智能體系統翻車的根源 9:38 在於模型既當運動員,又當裁判 9:41 而圖的解法 9:42 是把做判斷和做驗證拆成兩個獨立節點 9:46 出結論的是一個智能體 9:47 專門挑錯的是另一個 9:49 叫做驗證器(Verifier) 9:50 它的職責是專門試圖推翻前一個結論 9:53 扛得住才放行 9:54 扛不住就打回重來 9:56 這個驗證器蹲在邊上 9:57 是整張圖裡性價比最高的一個節點 10:00 檢查的力度要看事情輕重 10:02 這就需要一個路由(Router) 10:03 像醫院的分診台一樣 10:05 按重要程度把任務導向不同的檢查路徑 10:08 常見的驗證有三種打法 10:11 對抗式就是派多個懷疑者分頭去駁同一個結論 10:14 多數沒駁倒才算它站得住 10:16 多視角式就是換不同角度查 10:19 正確性、安全性、能否復現 10:21 各查各的 10:22 而評委制就是多個方案並行打分 10:24 選出優勝者 10:25 再吸收其他方案裡的好東西 10:28 但是光靠智能體互相驗證還不夠 10:30 最關鍵的確定性來自兩個地方 10:32 代碼和現實 10:34 像一些確定性的活 10:35 比如格式校驗、跑測試、去重、排序等等 10:39 就該交給普通代碼 10:41 行業裡有一句話 10:42 叫做讓模型的判斷力落在節點上 10:44 讓代碼的可靠性落在邊上 10:47 如果一張圖裡 10:48 所有節點都在互相引用模型生成的結論 10:50 沒有一個節點真的去碰一下現實 10:53 那它只是一台更精緻的自嗨機器 10:55 真正的錨點 10:56 必須是這些無法狡辯的硬事實 10:59 比如測試真的跑過、用戶真的留下了、錢真的到賬了 11:03 至於更好到底指什麼 11:05 這個必須由人來定 11:06 因為圖裡每個循環都預設了它 11:08 前面講了不少概念 11:10 節點、邊、扇出扇入、驗證器等等 11:13 現在我們用一個具體任務 11:15 把它們全串起來 11:16 同時和Loop做一次正面對比 11:19 這個例子來自Anthropic和社群反覆用到的經典場景 11:23 因為它足夠小、又足夠典型 11:25 任務是做一份每日研究簡報 11:27 每天早上 11:28 讀幾個信源上關於某個主題的最新內容 11:31 寫成一頁紙的摘要 11:32 並且在發到你郵箱之前 11:34 先核對一遍準確性 11:36 聽起來很簡單 11:37 我們分別用兩種方式來做 11:39 最直覺的做法 11:40 是讓一個智能體在一個循環裡把所有事都幹了 11:43 讓它把從原始信源搜索的結果一股腦塞進上下文、起草簡報、然後審查自己的草稿 11:50 問題就出在這個過程裡 11:52 等它開始審查的時候 11:53 它的上下文已經是一鍋粥了 11:55 原始的搜索網頁、寫了一半的句子、還有它自己之前的推理 11:59 全都糊在一起 12:00 它是在寫出這份草稿的同一個上下文裡審查它 12:03 等於讓作者給自己判卷 12:05 幾乎必然蓋個通過章 12:08 而且因為循環天生是順序的 12:10 它只能一個信源一個信源地讀 12:12 所以速度也慢 12:13 同樣的任務,用圖來做 12:15 就是一張三節點的小圖 12:17 狀態在它們之間乾淨地流動 12:19 研究員節點扇出到多個信源並行搜集 12:22 只返回結構化的筆記 12:24 寫作節點只拿到乾淨的筆記 12:26 看不到雜亂的原始網頁 12:28 產出簡報 12:29 審稿節點在一個全新的上下文裡 12:31 只看簡報和驗收標準 12:33 不合格就打回給寫作節點 12:35 從這張小圖上我們可以看出 12:37 上下文是分開且乾淨的 12:40 寫作節點從不被搜索垃圾淹沒 12:42 流程是真正的審查而不是自己給自己蓋章 12:45 採用並行搜集速度也會快很多 12:48 還有一條 12:48 它能被當作一個可以讀懂的清晰路徑 12:51 而不用從一長段對話記錄裡反推 12:55 但是誠實地說,這張圖也是有代價的 12:57 比如你要維護三個提示詞而不是一個 13:00 要設計節點之間的狀態結構 13:02 還要應對一批新的失敗模式 13:04 不過最關鍵的是 13:05 對於一份每天都要跑的簡報來說 13:08 這些額外開銷換來的 13:10 是實打實的質量提升,值 13:12 但是對於一個只跑一次的任務 13:14 它就是純粹的一筆稅 13:16 這筆賬 13:16 就是要不要從循環升級到圖的全部決策 13:20 講完例子 13:20 我們來說最關鍵的一條心法 13:22 別為了圖而圖 13:24 這不是我的個人觀點 13:25 而是Anthropic反覆強調的 13:27 他們見過太多團隊花幾個月搭複雜的多智能體架構 13:31 最後發現 13:32 改進單個智能體的提示就能達到同樣效果 13:35 根據Anthropic官方的數據 13:37 多智能體研究系統在內部評測上 13:39 超過了單智能體的90.2% 13:42 看起來很美對吧? 13:43 但是多智能體系統的token消耗 13:45 大約為普通對話的15倍 13:47 而且僅token用量一項 13:49 就解釋了性能方差的八成 13:52 這組數字說明,多智能體確實更強 13:55 但它是靠燒更多token換來的 13:57 所以它只值得用在那些價值足夠高、足以覆蓋成本的任務上 14:02 Anthropic給出了三個明確該用多智能體的場景 14:06 第一是上下文保護 14:08 當某個子任務會產生大量但對主任務無關的信息時 14:11 就可以用獨立子智能體隔離出去 14:14 保持主上下文乾淨 14:16 第二是可並行任務 14:18 能切成多個獨立分支同時跑 14:20 探索比單智能體更大的搜索空間 14:22 尤其適合廣度優先的研究搜索 14:25 第三是專業化 14:27 不同步驟需要不同的工具、提示或專注度 14:30 拆開能提升工具選擇的準確率和任務專注度 14:33 反過來 14:34 如果任務就一個目標、一個領域、一個明確的停止條件 14:38 那清晰的單個循環就是最優解 14:40 最後,還有一條治理紅線 14:42 雖然圖允許任務怎麼拆、怎麼合 14:45 現場靈活調整 14:46 這叫工作圖,可以快速變化 14:49 但是誰有權改數據庫、誰能繞過審批這類長期權限 14:53 絕不能讓模型現場發揮 14:55 這叫做角色圖,必須慢變、可審計 14:59 否則搭出來的不是智能系統 15:01 而是一場隨時會爆的生產事故 15:03 可能你會問,這些東西聽著挺好 15:06 但現在有成熟的工具嗎? 15:08 其實圖工程早就不是紙上概念 15:11 LangGraph、Google ADK、微軟AutoGen這些框架 15:14 在這個詞出現前兩年就在用節點、邊、共享狀態 15:18 來構建智能體了 15:20 我們來簡單對比一下幾個主流框架 15:22 LangChain的LangGraph 15:23 採用有向圖加條件邊的編排模型 15:26 有內置檢查點加時間旅行的狀態管理 15:29 適合長時運行、需審計、需回滾的生產管線 15:33 CrewAI走的是角色化crews路線 15:36 任務輸出序列傳遞 15:37 適合規範化的角色協作分工 15:40 微軟的AutoGen是對話式GroupChat 15:42 以對話歷史為主 15:44 適合多模型對話協調的探索性任務 15:47 Google ADK是結構化圖架構 15:49 分層協調加A2A協議 15:51 code-first、企業級、可部署到Vertex AI 15:55 這裡有個細節值得展開,同一個任務 15:57 LangGraph只用2000 token 15:59 而AutoGen可能要用到8000 16:01 差別就來自圖這個結構 16:03 它把智能體之間的對話變成了狀態轉換 16:06 省掉了它們互相轉述背景的那一大堆廢話 16:09 這也解釋了為什麼LangGraph成了企業生產的事實標準 16:13 LangGraph的殺手鐧 16:14 用它官方文檔的原話說 16:16 是持久化執行(durable execution) 16:18 它的機制是在編譯圖時 16:20 掛上一個checkpointer 16:21 它就會在每個超級步(super-step)結束時 16:24 把整個圖的狀態存一份快照 16:27 這會帶來四個能力 16:28 第一個人在迴路 16:30 圖可以在任意節點暫停 16:32 等人檢查、修改、批准後再從斷點恢復 16:35 第二個,記憶 16:36 多輪交互間保留上下文 16:38 第三個,時間旅行調試 16:40 回到任意歷史檢查點重放、甚至分叉出新路徑 16:44 第四,容錯,某個節點失敗 16:47 從最後一個成功的步驟重啟 16:49 而不是從頭再來 16:50 更有意思的是一個叫待寫入(pending writes)的設計 16:53 當同一個超級步裡有個節點失敗了 16:57 其他已經成功的節點的輸出會被留存下來 17:00 恢復時不用重跑那些成功的節點 17:02 這些工程細節 17:03 才是讓智能體從能演示變成能上生產的關鍵 17:07 最後我們來回答一個問題 17:09 也是很多資深工程師最愛爭的一個 17:11 很多人認為 17:12 圖工程這不就是回到ReAct之前的老工作流了嗎? 17:16 答案是,形似,但是神不似 17:18 老工作流的路徑是死的、每個節點也是寫死的代碼 17:22 像固定的流水線 17:23 遇到沒預料的情況,完全不會拐彎 17:26 後來的ReAct走向另一個極端 17:28 讓模型全程邊想邊做,靈活是靈活了 17:32 但整個控制流都泡在模型一次次的對話裡 17:35 事後想問它為什麼這麼幹 17:37 只能去一大段雜亂的對話記錄裡考古 17:39 難以復現審計,還容易失控 17:42 而圖工程的巧妙 17:43 是把穩和活拆到兩層去解決 17:46 而不是二選一 17:47 因為讓邊和整體結構固定了下來 17:50 所以可以治理和審計 17:51 讓節點內部保留自主 17:53 所以夠靈活、能應對具體問題 17:56 這正好呼應了Anthropic那個官方定義 17:59 工作流通過預定義代碼路徑編排的系統 18:02 智能體是由大模型動態決定自己流程的系統 18:05 而圖恰恰是兩者的融合 18:07 用預定義的邊框住動態的節點 18:10 所以它回到的只是老工作流的形 18:13 內核則完全不同 18:15 老工作流的節點是死代碼 18:17 Graph的節點裡住著能自主推理的智能體 18:20 這種效果有點類似 18:21 把ReAct的靈活收進了一副可治理的骨架裡 18:25 繞了一大圈,回到最初的問題 18:27 圖工程,Graph Engineering 18:29 到底是營銷新詞,還是真東西呢 18:32 我的判斷是,它既是一次命名事件 18:35 也是一次視角上移 18:36 命名事件那部分是虛的 18:38 節點、邊、狀態、有向圖調度、狀態機、多智能體編排 18:43 這些計算機科學玩了幾十年了 18:45 LangGraph、ADK、AutoGen也實打實做了兩年多 18:48 這個詞大概率會像Loop Engineering一樣 18:51 幾個月後被下一個詞蓋掉 18:54 但是視角上移的那部分,是實的 18:56 如今有三件事已經湊齊了 18:58 模型強到能夠可靠地當一個自主節點 19:01 框架已經成熟到能把它們穩穩連起來 19:04 同時社區大到攢出了一套共同詞彙 19:08 如今 19:08 工程重心從編程一個智能體的行為 19:11 實實在在地上移到了編程一群智能體的組織 19:14 這個轉變是真的 19:15 它能造出單個循環永遠造不出來的系統 19:18 有意思的是,我們折騰了半天AI 19:21 最後繞不開的居然是最古老的那門學問 19:24 怎麼管理一個組織 19:25 比如怎麼分工、怎麼定權責、怎麼讓幹活的和監督的分開、怎麼在有人掉鏈子時不至於全盤崩掉 19:33 這些問題人類的公司琢磨了幾百年 19:35 現在只是換了一批員工 19:37 重新問了一遍 19:38 最後給大家三個建議 19:40 第一,別為了圖而圖 19:42 一個清晰的循環能搞定的 19:44 就別整複雜 19:45 先畫一張能在餐巾紙上說清的小圖 19:48 這是Anthropic反覆強調的第一原則 19:51 第二,圖的價值來自確定性 19:53 不是來自智能體的數量 19:55 讓模型去判斷,讓代碼去兜底 19:57 再配一雙獨立的、專門挑刺的眼睛 20:00 第三,也是最要命,圖必須接地氣 20:03 得有現實的錨點 20:04 不然工程搭得再精密 20:06 也只是一台更有組織的幻覺工廠 20:09 感謝收看,我們下期再見