A
返回 發現
發現2026/06/14 Bryan Chan · 君澤智庫18 分鐘閱讀

OpenClaw Loop Engineering 重構技術論證:從 Prompt 驅動到架構強制的完整方案

基於對 14 種 AI Agent 架構的源碼級分析和生產環境實戰審計,提出 OpenClaw 系統重構的 8 個假設、8 個架構節點的技術選項對比,以及完整的重構路線圖。

背景: 我們在生產環境中運行了 10 個 Auto-Healing Loop,歷經 204 session 的完整審計,對比了市場上 14 種 AI Agent 架構方案。現在,是時候將這些發現轉化為具體的系統重構方案。
本文結構: 現狀診斷 → 8 個重構假設 → 8 個架構節點技術選項對比 → 完整重構路線圖


1. 現狀診斷:當前架構的 6 個結構性缺陷

1.1 執行-驗證不分離

問題 證據 影響
Main agent 自己執行 + 自己驗證 system-health 連續 5 次跳過 OMLX 檢查,驗證 spawn 率 0/5 關鍵服務宕機 20 小時未被發現
Looper 自己改 code 自己驗收 full_repair session:55 tool calls, 0 checker spawn 修改未經獨立審查
Prompt 層的 verify 指令被無視 6 個 session, 0 次 spawn checker 純文字規則在 LLM 中 100% 失效

1.2 雙重 Cron 體系混亂

問題 證據
Main OpenClaw cron 有 11 jobs(含 loop jobs) system-health + daily-triage 綁定 main agent
Looper 有獨立的 cron 系統(不同 cron ID 前綴) pr-review, email-watch 等 6 jobs 走 looper
兩個體系無統一管理 無法從單一視圖看到所有 loop 排程

1.3 Workspace 路徑混亂

Agent Workspace 讀取 LOOP.md 時實際路徑
main ~/.openclaw/workspace/ ~/.openclaw/workspace/loops/...(舊版!)
looper ~/Desktop/UltraClaw_Project/loop-engineering/ 正確

1.4 無方法論強制機制

  • LOOP.md 的七階段內循環僅存在於 prompt 文字中
  • 無架構層的 completion gate(Stop Hook 等效機制)
  • compliance 未追蹤、未審計、未強制

1.5 Delivery 機制未正確配置

  • 6 個 looper cron job 嘗試直接發送飛書訊息(LarkClient appId/appSecret 缺失)
  • Looper 應通過 sessions_send 到 main agent,而非直接發送

1.6 狀態管理分散

  • 每個 loop 有獨立的 STATE.json
  • 無全局狀態聚合(已有 state/aggregator.py 但未被 cron 使用)
  • 無法從單一節點查詢「所有 loop 的當前狀態」

2. 重構假設

基於市場研究和生產審計,我們提出以下 8 個重構假設:

# 假設 靈感來源 驗證方式
H1 將 verify 從 prompt 提升為架構強制,可使 compliance 從 ~0% 提升至 ~100% Claude Code Stop Hook 重構前後對比 compliance_score
H2 角色隔離(execute agent ≠ verify agent)比 prompt 建議可靠 10x 以上 MetaGPT QA Engineer A/B 測試
H3 統一的狀態管理層可使審計效率提升 5x VIGIL EmoBank 審計時間對比
H4 外部反射層(cron 獨立掃描)可以捕獲 prompt 層無法防止的失敗 VIGIL Out-of-band 故障檢測率對比
H5 對關鍵決策採用 Race Pattern(多模型並行判斷),可將誤判率降低 50%+ Cursor Race Pattern 關鍵決策準確率
H6 將內循環引擎化(inner_loop_runner.py)可使 retry 執行率從 0% 提升至 100% OpenHands Loop Recovery retry 執行次數
H7 統一的 Delivery Bus 可消除 100% 的跨 agent 通訊錯誤 無特定來源,問題驅動 通訊錯誤率
H8 Cron 的 Planning 和 Execution 分離可使排程靈活性提升 3x Aider Architect-Editor 排程變更成本

3. 架構節點技術選項

節點 1:Agent 角色隔離機制

問題: 如何確保 execute agent 永遠不會 verify 自己的工作?

方案 描述 強制性 實現複雜度 對現有系統改動
A: Config-level(當前) agent config 中設定角色,prompt 中建議行為 🟢 無
B: Tool-gating 在 Gateway 層攔截:verify agent 不能 exec,execute agent 不能 spawn checker 🟠 中等 Gateway plugin
C: Stop Hook 借鑑 Claude Code:loop 完成前強制執行外部驗證腳本,不通過則 block 🔴 強 修改 Gateway turn lifecycle
D: Two-phase cron 每個 loop 拆分為兩個獨立 cron job(execute + verify),不同 agent 🔴 強 重寫 cron job 定義

推薦: C + D 組合。Stop Hook 作為即時防線,Two-phase cron 作為結構性保證。


節點 2:驗證機制(Checker)

問題: 誰來驗證?怎麼驗證?驗證失敗怎麼辦?

方案 描述 驗證信號 自主程度
A: Self-verify(當前) Agent 自己在 prompt 中檢查結果 Soft(文字判斷) ❌ 不穩定
B: Dedicated checker agent 每個 loop 完成後 spawn coder-deepseek 獨立審查 Soft(agent 判斷) 🟠 需 agent 主動 spawn
C: Stop Hook script Python/Shell 腳本檢查 STATE.json schema + 關鍵指標 Hard(結構化檢查) 🔴 外部強制
D: Race Pattern 對關鍵決策(如 OMLX severity),同時讓 2+ agents 判斷,取多數 Soft(多數投票) 🔴 統計性保證
E: VIGIL-style supervisor 獨立 process 定時掃描所有 loop STATE.json,檢查 compliance Hard(結構化檢查) 🔴 外部、持續

推薦: C + E 作為主力,D 作為關鍵決策增強。


節點 3:Cron / 排程系統

問題: 如何統一管理 10+ loop 的排程?Planning 和 Execution 是否應分離?

方案 描述 優點 缺點
A: OpenClaw built-in(當前) 使用 OpenClaw cron API 與 Gateway 深度整合 雙重體系、agent binding 限制
B: Native crontab 使用系統 crontab 觸發 穩定、獨立於 Gateway 無內置重試、無狀態追蹤
C: Scheduler Agent 獨立的 scheduler agent 管理所有排程 單一真相來源、靈活 單點故障
D: Plan-Execute 分離 Planning cron(何時執行)和 Execution cron(誰執行)分開管理 職責清晰、易變更 兩層排程協調

推薦: C + D。建立 loop-scheduler agent 統一管理排程,Plan(cron 定義)和 Execute(實際觸發)分離。


節點 4:狀態管理

問題: 如何統一追蹤 10 個 loop 的執行狀態、compliance、歷史?

方案 描述 查詢能力 變更追蹤 複雜度
A: STATE.json per loop(當前) 每個 loop 一個 JSON 檔案 手動 git diff
B: Centralized SQLite 所有 loop 狀態寫入單一 DB SQL query 內置
C: Event-sourcing 所有 state change 作為事件 append,狀態從事件重建 時光旅行 完整
D: Global aggregator state/aggregator.py 定時聚合所有 STATE.json → 寫入 global-state.json 單一檔案 快照對比

推薦: B + D。SQLite 作為主力,global-state.json 作為快速查看介面。


節點 5:內循環引擎(Retry)

問題: 如何確保 loop 在失敗時真正進行 retry,而非一次性報告?

方案 描述 觸發方式 強制性
A: Prompt-based(當前) LOOP.md 中描述 retry 策略,agent 自行決定 Agent 自覺 🟢 無
B: Cron-level retry cron job 設定 retry on failure Gateway 🟠 可配置
C: Engine-level inner_loop_runner.py 強制執行 retry 循環 Script 🔴 強
D: State-machine 定義合法狀態轉移,非法轉移報錯(VIGIL-style) 狀態機 🔴 最強

推薦: C。inner_loop_runner.py 作為標準引擎,所有 loop 必須通過它執行。


節點 6:Delivery / 通訊 Bus

問題: Agent 之間如何通訊?如何確保 escalation 到達正確的終端?

方案 描述 可靠性 複雜度
A: Direct channel(當前) Agent 直接發送訊息到特定渠道 🟡 取決於 agent 配置
B: sessions_send bus 所有 agent 通過 sessions_send 到 main,由 main 統一轉發 🟠 取決於 main
C: Message queue Redis/RabbitMQ 作為中間件 🔴 高
D: Escalation engine 獨立的 escalation agent,根據 severity + target 自動路由 🔴 高

推薦: B + D。sessions_send 作為日常通訊,escalation engine 作為關鍵告警保證送達。


節點 7:上下文管理

問題: 長期運行的 loop 如何避免 context 膨脹?如何保留關鍵決策?

方案 描述 適用場景
A: Session isolation(當前) 每次 cron 執行創建新 session 短期任務
B: STATE.json persistence(當前) 關鍵狀態寫入 STATE.json,下次執行時讀取 跨 session 記憶
C: Claude Code 式壓縮 五層壓縮管線,保留關鍵決策 長期 session
D: Aider 式 RepoMap 只注入相關上下文,非全部歷史 大規模任務

推薦: 保持 A + B(已足夠),對於需要長期上下文的 loop,加入 C 的關鍵決策保留機制。


節點 8:多模型策略

問題: 不同 loop 是否需要不同模型?關鍵決策是否需要多模型驗證?

方案 描述 成本 可靠性
A: 固定分配(當前) 每個 agent 有固定模型 取決於模型
B: Dynamic router 根據任務複雜度動態選擇模型 🟠
C: Race Pattern 關鍵決策時並行調用多模型,取最佳 🔴
D: Architect-Editor 強推理模型做計劃,快速模型做執行 🟠

推薦: A 作為基礎,C 作為 OMLX 級關鍵決策的增強,D 作為複雜 loop(如 rnd-discovery)的選項。


4. 重構路線圖

Phase 0:無破壞性前置(本週,0 風險)

# 行動 依賴 預估
P0.1 統一狀態管理層:SQLite + global-state.json 2h
P0.2 部署 loop-scheduler agent:統一 cron 視圖 3h
P0.3 修正全部 delivery 設定 + escalation engine 2h
P0.4 清理舊版 workspace 目錄(已部分完成) 0.5h

Phase 1:架構強化(下週,低風險)

# 行動 依賴 預估
P1.1 實現 Stop Hook:Gateway turn lifecycle 修改 P0 4h
P1.2 拆分 loop cron 為 Plan + Execute 兩層 P0.1, P0.2 3h
P1.3 部署 Two-phase cron(execute + verify 分離) P1.2 4h
P1.4 實現 inner_loop_runner.py 引擎 P0.1 5h

Phase 2:智能增強(本月,中等風險)

# 行動 依賴 預估
P2.1 VIGIL-style 外部反射層(score_enforcer 擴展) P0.1 6h
P2.2 Race Pattern for OMLX 級關鍵決策 P1.4 4h
P2.3 Dynamic model router for complex loops P0.2 5h
P2.4 Claude Code 式 context compaction P1.4 8h

Phase 3:生態完善(下月,低風險)

# 行動 依賴 預估
P3.1 Loop 模板引擎:一鍵建立新 loop P1.3, P1.4 6h
P3.2 Dashboard v2:全局 loop 健康 + compliance 視圖 P0.1 8h
P3.3 自動化回歸測試套件 P1.4 6h
P3.4 文件化 + 社群發布 P3.1-3.3 4h

5. 預期成果

定量目標

指標 當前 Phase 0 Phase 1 Phase 2
Verify 執行率 0% 0% 100% 100%
Compliance score ~2/7 4/7 6/7 7/7
Cron 管理統一 雙體系 單一 單一 單一
Delivery 錯誤率 6/10 jobs 0/10 0/10 0/10
關鍵決策誤判率(OMLX) 100%(5/5) 100% 100% <20%
審計效率 手動 204 session 自動 自動 自動+預測

定性目標

  • 從「prompt 祈禱」到「架構保證」: 不再依賴 agent 自覺遵守規則
  • 從「黑盒執行」到「透明審計」: 每個 loop 的每一步都可追溯
  • 從「被動修復」到「主動預防」: 外部反射層在問題發生前檢測模式
  • 從「單點決策」到「多元驗證」: 關鍵判斷經多方確認後才執行

6. 風險與緩解

風險 影響 緩解
Stop Hook 過度阻斷正常流程 服務中斷 8 次 block 上限 + 漸進部署
SQLite 並發寫入衝突 狀態丟失 WAL 模式 + 寫入隊列
Race Pattern 增加 API 成本 預算超支 僅用於關鍵決策(<5% 的決策點)
架構改動期間 cron job 中斷 監控空白 Phase 0 前置不影響現有 cron
inner_loop_runner 無限循環 資源耗盡 max_retries=30 硬限制

本文是 OpenClaw Loop Engineering 重構的技術論證草案。所有假設需經討論和優先級排序後轉化為具體實施計劃。