# [[랄프 루프 (Ralph Loop)]]

## 📌 Brief Summary
랄프 루프(Ralph Loop)는 대규모 언어 모델(LLM) 에이전트가 작업을 조기에 종료하려는 시도를 훅(hook) 메커니즘으로 가로채어, 정해진 완료 목표를 달성할 때까지 작업을 계속하도록 강제하는 에이전트 하네스 패턴이다 [1, 2]. 이 패턴은 실행을 멈추려는 에이전트에게 깨끗한 컨텍스트 창과 원래의 프롬프트를 다시 주입하여 반복적인 실행을 유도한다 [2]. 주로 에이전트가 종료하기 전에 작업 명세서에 대한 검증(verification) 단계를 반드시 거치도록 하는 데 활용된다 [1].

## 📖 Core Content
*   **작업 지속 메커니즘**: 랄프 루프는 에이전트가 스스로 실행을 종료하고 빠져나가려는 시점(exit attempt)을 하네스 레벨에서 인터셉트(intercept)한다 [2]. 시스템은 종료를 막은 뒤 **깨끗한 컨텍스트 창(clean context window)에 원래의 프롬프트를 다시 주입**하여 에이전트가 중단 없이 완료 목표를 향해 작업을 이어가도록 강제한다 [2].
*   **파일 시스템 기반의 상태(State) 유지**: 이 패턴이 연속적이고 장기적인 작업(Long-horizon work)에서 효과적으로 작동할 수 있는 이유는 하네스의 파일 시스템 프리미티브에 의존하기 때문이다 [2]. 각 루프의 반복(iteration)이 시작될 때마다 컨텍스트는 완전히 초기화(fresh)되지만, **이전 반복에서 파일 시스템에 기록해 둔 상태(state)를 읽어올 수 있으므로** 에이전트는 맥락을 잃지 않고 진척도를 유지할 수 있다 [2].
*   **자가 검증(Self-Verification)의 강제**: 랄프 위검 루프(Ralph Wiggum Loop)라고도 불리는 이 패턴은 에이전트의 종료 전 검증을 유도하는 데 매우 유용하다 [1]. 예를 들어, `PreCompletionChecklistMiddleware`와 같은 미들웨어와 결합하여 에이전트가 종료하기 전에 작업 명세서(Task spec)를 기준으로 **스스로 검증 단계(verification pass)를 실행하도록 상기시키는 용도**로 사용된다 [1].

## ⚖️ Trade-offs & Caveats
*   **파일 시스템 의존성**: 랄프 루프는 매 반복마다 컨텍스트 창을 새로 고치는 방식(fresh context)으로 작동하기 때문에, 이전 작업의 흐름을 유지하려면 **반드시 파일 시스템과 같은 지속적이고 안정적인 상태 저장 매커니즘이 뒷받침되어야 한다는 구조적 제약**이 존재한다 [2].
*   그 외에 랄프 루프의 도입으로 인해 발생할 수 있는 구체적인 부작용이나 성능상의 반대 급부(Trade-off)에 대해서는 **소스에 관련 정보가 부족합니다.**


---
*Last updated: 2026-05-05*