Ralph-Loop
一句話定義
「讓 LLM 一路橫衝直撞地寫到底,再用 feedback(compiler / test runner / evaluator)修正、再寫」的執行迴圈骨架;命名來自《辛普森家族》Ralph Wiggum 的傻氣莽撞,Anthropic / OpenAI 兩家 2025 blog 都明確使用此詞作為 Harness-Engineering 中的常見 pattern。
核心要點
基本骨架
任務 → LLM 產生 v1 輸出 → evaluation module(compiler / test / evaluator)→ feedback
↑ │
└──────────────────────────────── LLM 產生 v2 → … 直到通過 ──────────────────────┘
- 重點 1:要有 evaluation module——不一定是另一個 LLM,可以是 compiler / test runner / 環境的 error message。對 ACI 與 Augmented-LLM 而言,這個 evaluator 才是 harness 真正的「環境」介面。
- 重點 2:模型重做便宜——對 LLM 而言生成新輸出是廉價的,不用吝惜叫它重來;有 feedback loop 比不重做更重要。
Context window 危機與 summary 變體
- 問題:一路把 v1 / feedback1 / v2 / feedback2 / … 累積進 context,很快就會觸頂 context window 上限——而 window 接近上限時模型行為會崩壞(Anthropic 形容 Sonnet 為「上下文焦慮」:window 將滿時模型展現「焦慮」情緒、開始發瘋亂做、想盡快結束)。
- 常見變體:每輪 feedback 後做摘要,下一輪只用摘要而不是全歷史 → 保留 feedback 訊號 + 控制 context 增長。
Harness 不是固定的,要按模型挑
Anthropic 的具體案例:
| 模型 | Harness 選擇 | 為什麼 |
|---|---|---|
| Claude Sonnet | summary 式 Ralph Loop(每輪摘要) | 有「上下文焦慮」,window 將滿就行為崩壞 |
| Claude Opus | 裸 Ralph Loop(不需 summary) | 強模型可以一路忙下去 |
- 設計原則:harness 應該是可拆解 / 組裝的元件——換模型應換 harness,不要追求「萬用」。
與 Anthropic 5 workflow patterns 的對位
- 與 Evaluator-Optimizer 的關係:Evaluator-Optimizer 是 Anthropic Building Effective Agents 5 patterns 之一,Ralph Loop ≈ Evaluator-Optimizer 在 Harness-Engineering 詞彙下的別名——都是「生成 → 評估 → 迭代」的迴圈,只是 Ralph Loop 強調廉價重做與 evaluator 可以是非 LLM(compiler / test)的工程化版本。
- 與 Prompt-Chaining 的差異:Prompt-Chaining 是預定義的線性步驟鏈(中間可加閘門但流程固定);Ralph Loop 是閉環迭代,迭代次數由 evaluation 結果決定,不是預定義。
/goal 是 Ralph Loop 的產品化語境
2026-05-25-Gary-Chen-AI-Agent-27小時-Goal功能 把 Claude Code / Codex / Hermes Agent 的 /goal 類功能描述為「設定目標後讓 agent 自己跑到完成」。從本頁視角看,goal mode 不是新 loop,而是把 Ralph Loop / Evaluator-Optimizer 包成使用者可直接呼叫的長任務介面:
- 使用者用 Goal-Prompt 定義 outcome、verification、constraints、iteration policy 與 error handling。
- 實作者執行一輪。
- 評審判定是否完成。
- 未完成則回饋差距並要求下一輪;完成或觸發停損規則才停。
這個產品化版本把「模型會在 context 快滿時想 wrap up」的問題顯性化:不是靠模型自覺撐完,而是用外部評審與完成標準抵抗過早收工。
外層 Loop:把進度搬到 context 之外
2026-07-06-Harness-6-外層Loop 將 Ralph-Loop 放在更大的 loop engineering 脈絡中:當任務超過單一 context window,真正能延續進度的不是模型記憶,而是 repo、看板、排程、ticket、progress.txt 等 context 之外的狀態。
- 原版 Ralph:每圈用全新 context 讀固定 prompt、
prd.json與progress.txt;只做一個 story,測試通過才 commit,再把進度寫回磁碟。優點是清掉失敗推理污染,缺點是完成宣告仍常靠模型自報或字串比對。 - 同名不同實作要小心:Claude Code
ralph-wiggumplugin 致敬 Ralph,但不清 context;它更像同一 thread 的續跑,完成與否用<promise>字串與主模型自我宣告判斷。 - Symphony / cron 類外層 harness:OpenAI Symphony 把看板當控制平面,每張 ticket 對應 agent、狀態機與 proof of work;cron / heartbeat 則回答「何時醒來、醒來看什麼、結果送去哪」。
- Goal 與 Loop 分工:loop 管觸發與跨 session 狀態,goal 管停止條件;只有 loop 沒有 goal 會變成盲目重跑,只有 goal 沒有 loop 仍跨不過 context 上限。
這讓本頁從「生成 → 評估 → 重試」擴展到跨 session 的工程控制:Ralph Loop 若要可靠,仍需內層工具回饋、單輪驗收與外部狀態共同成立。
與其他概念的關係
- 父概念:Harness-Engineering——Ralph Loop 是 Harness 三大手段中「控制行為(工作流程)」的一個常見骨架。
- 對位 Evaluator-Optimizer:5 workflow patterns 中對位最直接者;本頁 = 在 harness 詞彙下的同概念別名 + 廉價重做精神 + 非 LLM evaluator 的工程化版本。
- 內含子議題:Context-Engineering——summary 變體就是 context engineering 在 Ralph Loop 內部的具體做法。
- 接口 / 介面:Agent-Computer-Interface——evaluator 通常是 ACI 的一部分(compiler / test runner / 工具回應)。
- 應用 case:Verbalized-Feedback 提到的「用 LLM 看模擬視覺結果再 feedback」就是 Ralph Loop 在動畫生成場景的具體變體(見 2026-05-02-Harness-Engineering駕馭工程)。
相關來源
- 2026-05-02-Harness-Engineering駕馭工程 — 命名來源 + summary 變體 + Sonnet「上下文焦慮」+ harness 隨模型挑
- 2026-04-28-Anthropic-Building-Effective-Agents — Evaluator-Optimizer 原始 pattern 描述(與 Ralph Loop 對位)
- 2026-05-25-Gary-Chen-AI-Agent-27小時-Goal功能 — 補入
/goal類功能與 long-running agent 的產品化 loop。