Loops and Graphs: How to Stop Babysitting Agents
- URL: https://x.com/hanakoxbt/status/2091515787366306154
- Date Saved: 2026-09-05
- Source: X (@hanakoxbt / Hanako) — Twitter Article
- Tags: ai-engineering
Summary
深入講解如何用 Loop + Graph 兩層架構,讓 AI agent 不再需要人逐步檢查,只在最後一步審批。675 likes, 88 RT。
核心概念:Loop vs Graph
- Loop(迴圈):讓單一工作單元自我修正 — produce → check → correct → repeat until green
- Graph(圖):決定哪些工作單元存在、順序、哪些可並行、哪些根本不需要
- Loop 住在 node 內部,Graph 住在 node 之間 — 兩層缺一不可
Loop 的關鍵:Check 必須能 fail
- 沒有能 fail 的 check = 只是 scheduler,不是 loop
- 常見錯誤:用另一個 model 來 review(兩個樂觀派互相同意)
- 正確做法:先寫 check condition,用程式可驗證的方式(test suite exits 0、每個 claim 有 source line、diff 只碰計畫中的檔案)
- 「沒有 error」不等於「正確」— 這是最常掉的坑
Graph 的四種 Node
- Splitter — 切分工作(最關鍵,切錯維度浪費所有下游)
- Worker — 各自獨立 context 執行(共享 context = 四倍價格買一個意見 + 三個回聲)
- Code Node — merge/rank/dedup/compare,不是推理就用 code 不要用 model
- Gate — 控制通過/退回
兩條回傳路徑
- Correction edge(短):Gate 退回失敗的單一 unit → 修正當前 run
- Learning edge(長):成功結果的 constraint 回傳給 Splitter → 改善所有未來 run
- 幾乎所有人只建了第一條,跳過第二條 → 系統很快但永遠不會變聰明
Gate 設計原則
- 不要用 confidence score 做門檻 — 那是 model 能操控的最弱變數
- 用 blast radius(影響範圍)分類:
- 可逆且局部 → 自動放行
- 可逆但廣泛 → 確定性 check + clean trajectory
- 難以逆轉(migration、production data、金錢)→ 永不自動開門
Return 設計
- 退回單一 unit,不要退回整個 batch(3 個正確的被重寫 = 把 1 個失敗變成 4 個不確定)
- Cap 3 次修正,超過代表問題在 plan 層,loop 看不到 plan
- 帶 scope line 防止 agent 順手改超出範圍
實踐順序
- 先建 Gate(能 fail 的東西)
- 再建 Lanes(blast radius 分類)
- 最後建 Learning edge
- 人只放在最高後果、最低可逆性的一步 — approve the merge
配套課程:agent-layers.vercel.app(20 課 + 模板 + 配置)