X (@hanakoxbt / Hanako) — Twitter Article
ai-engineering
Original source

Loops and Graphs: How to Stop Babysitting Agents

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

  1. Splitter — 切分工作(最關鍵,切錯維度浪費所有下游)
  2. Worker — 各自獨立 context 執行(共享 context = 四倍價格買一個意見 + 三個回聲)
  3. Code Node — merge/rank/dedup/compare,不是推理就用 code 不要用 model
  4. 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 順手改超出範圍

實踐順序

  1. 先建 Gate(能 fail 的東西)
  2. 再建 Lanes(blast radius 分類)
  3. 最後建 Learning edge
  4. 人只放在最高後果、最低可逆性的一步 — approve the merge

配套課程:agent-layers.vercel.app(20 課 + 模板 + 配置)