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。對 ACIAugmented-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 Sonnetsummary 式 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 包成使用者可直接呼叫的長任務介面:

  1. 使用者用 Goal-Prompt 定義 outcome、verification、constraints、iteration policy 與 error handling。
  2. 實作者執行一輪。
  3. 評審判定是否完成。
  4. 未完成則回饋差距並要求下一輪;完成或觸發停損規則才停。

這個產品化版本把「模型會在 context 快滿時想 wrap up」的問題顯性化:不是靠模型自覺撐完,而是用外部評審與完成標準抵抗過早收工。

外層 Loop:把進度搬到 context 之外

2026-07-06-Harness-6-外層LoopRalph-Loop 放在更大的 loop engineering 脈絡中:當任務超過單一 context window,真正能延續進度的不是模型記憶,而是 repo、看板、排程、ticket、progress.txt 等 context 之外的狀態。

  • 原版 Ralph:每圈用全新 context 讀固定 prompt、prd.jsonprogress.txt;只做一個 story,測試通過才 commit,再把進度寫回磁碟。優點是清掉失敗推理污染,缺點是完成宣告仍常靠模型自報或字串比對。
  • 同名不同實作要小心:Claude Code ralph-wiggum plugin 致敬 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駕馭工程)。

相關來源

備註