Ralph Loops Are Not About Throwing Away Context

개요

Ralph loop는 AI 코딩 에이전트를 장기 작업에 투입하기 위해 반복마다 새로운 컨텍스트 창을 사용하고 상태를 파일 시스템에 저장하는 기법입니다.

주요 내용

* Ralph loop의 작동 방식: 각 반복마다 PROMPT.md 파일을 읽어 Claude-code와 같은 코딩 에이전트에게 전달하고, 결과는 파일로 저장되어 대화 기록이 아닌 파일 시스템에 영구적인 상태가 유지됩니다.
* 작은 컨텍스트의 이점: 모델 성능은 컨텍스트가 길어질수록 저하되며, 특히 관련 정보가 컨텍스트 중간에 위치할 때 정확도가 떨어집니다. 새로운 컨텍스트를 사용하면 에이전트가 노이즈를 축적하여 발생하는 성능 저하를 방지할 수 있습니다.
* 비용 발생 요인: 프롬프트 캐싱은 반복마다 동일한 프롬프트 접두사가 필요하지만, Ralph loop에서 매 반복마다 프롬프트가 재구성되면 캐시 히트가 발생하지 않아 토큰당 전체 비용을 지불하게 됩니다. 안정적인 접두사를 유지하는 것이 비용 절감의 핵심입니다.
* 파일 시스템 저장의 한계: 파일은 결과물(what)은 저장하지만, 결과물이 도출된 근거(why)인 추론 과정을 저장하지 못합니다. 이로 인해 에이전트가 과거의 결정이나 해결된 질문을 다시 번복할 가능성이 있습니다.
* 벤더들의 유사한 접근 방식: Anthropic과 OpenAI는 Ralph loop와 유사한 방식으로 장기 실행 에이전트의 문제를 해결하고 있으며, 이는 이 기법의 핵심 아이디어가 유효함을 시사합니다. 벤더들은 초기화 에이전트와 작업 에이전트를 분리하거나, 목표 달성 또는 토큰 예산 소진 시까지 루프를 실행하는 방식을 사용합니다.

시사점

Ralph loop는 컨텍스트 로테이션과 외부 메모리라는 검증된 기반 위에 구축되었지만, 캐시 미스와 추론 과정 손실이라는 명확한 비용이 발생하므로, 에이전트가 추론 과정을 명시적으로 기록하고 안정적인 캐싱 가능한 접두사를 유지하는 등 주의를 기울여야 합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions