# [[λž„ν”„ 루프 (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*