Recursive Language Models
Paper

Recursive Language Models

Alex L. Zhang
2026.06.07
·Arxiv·by Mineru
#Agent#Inference#LLM#Long Context#Recursion

핵심 포인트

  • 1Recursive Language Models (RLMs)는 긴 프롬프트를 외부 환경의 일부로 취급하여, LLM이 REPL 환경 내에서 프롬프트 스니펫을 프로그래밍 방식으로 검사하고 분해하며 재귀적으로 호출할 수 있도록 함으로써 기존 LLM의 컨텍스트 윈도우 한계를 극복합니다.
  • 2RLMs는 기존 LLM의 컨텍스트 윈도우를 훨씬 뛰어넘는 10M+ 토큰 규모의 입력을 성공적으로 처리하며, 광범위한 long-context 작업에서 바닐라 LLM 및 일반적인 long-context/코딩 스캐폴드(scaffolds)보다 최대 130% 높은 성능을 달성합니다.
  • 3또한, RLM은 입력 길이에 따른 성능 저하가 현저히 적고, Qwen3-8B 모델의 후속 학습(post-training)을 통해 소규모 모델에서도 뛰어난 재귀적(recursive) 능력을 보여줍니다.

Recursive Language Models (RLMs)는 Large Language Models (LLMs)가 임의로 긴 프롬프트를 처리할 수 있도록 하는 새로운 추론 패러다임을 제안합니다. 기존 LLM의 주요 한계점인 제한된 Context Window (Context Rot 현상)를 극복하고자 하며, 이는 프롬프트 길이가 길어질수록 성능이 급격히 저하되는 현상을 말합니다.

RLM의 핵심 아이디어는 사용자 프롬프트를 LLM의 입력으로 직접 주입하는 대신, 이를 외부 환경(External Environment)의 일부로 취급하고 LLM이 이 환경과 프로그래밍 방식으로 상호작용하도록 하는 것입니다. 이를 통해 LLM은 프롬프트의 스니펫(Snippet)을 검사하고, 분해하며, 재귀적으로 자신을 호출할 수 있습니다.

핵심 방법론 (Core Methodology)

RLM은 기본 신경망 언어 모델 MM (최대 Context Size KK를 가짐) 주위에 구축된 추론-시간 스캐폴드(Inference-time Scaffold)입니다. 임의의 길이 프롬프트 문자열 P∈Σ⋆P \in \Sigma^{\star}가 주어지면, RLM은 PP를 포함하는 변수를 사용하여 지속적인 REPL (Read-Eval-Print Loop) 프로그래밍 환경 EE를 초기화합니다. 이후 LLM은 이 환경에서 코드를 생성하고 실행하며, PP의 일부를 조작하고 궁극적으로 응답 문자열 Y∈Σ⋆Y \in \Sigma^{\star}를 생성합니다.

RLM의 작동 방식은 Algorithm 1을 통해 구체화됩니다:

  1. 환경 초기화: 입력 프롬프트 PP와 함께 REPL 환경 state를 초기화합니다. 이 state에는 prompt 변수로 PP가 저장되며, sub_RLMM이라는 재귀적 호출을 위한 함수도 추가됩니다.
  2. 기록 유지: hist라는 리스트는 LLM의 이전 상호작용과 환경의 메타데이터(예: 프롬프트 길이, 짧은 접두사)를 저장합니다. 초기 hist에는 Metadata(state)가 포함됩니다.
  3. LLM 코드 생성: LLM MM은 현재 hist를 바탕으로 실행할 code를 생성합니다. 이 코드는 PP의 특정 부분을 탐색하거나, 새로운 변수를 생성하고, 중간 결과를 저장하거나, 심지어 sub_RLMM 함수를 호출하여 자신(또는 다른 LLM)을 재귀적으로 호출할 수 있습니다.
  4. 코드 실행: 생성된 code는 REPL 환경 state 내에서 실행됩니다. 실행 결과로 state가 업데이트되고, REPL에서 print된 모든 텍스트는 stdout으로 수집됩니다.
  5. 기록 업데이트: hist는 방금 실행된 code와 stdout의 메타데이터(Metadata(stdout))로 업데이트됩니다. 중요한 것은 stdout의 전체 내용이 아니라 메타데이터(예: 길이, 짧은 접두사)만 hist에 추가되어 LLM의 Context Window를 오염시키지 않는다는 점입니다.
  6. 종료 조건: LLM이 REPL 내의 Final 변수에 최종 응답을 설정하면 루프가 종료되고, state[Final]의 값이 최종 응답 YY로 반환됩니다.

이러한 설계는 기존 스캐폴드와의 몇 가지 중요한 차이점을 가집니다:

  • 프롬프트 조작: RLM은 사용자 프롬프트 PP를 LLM의 Context Window에 직접 복사하는 대신, LLM이 PP를 상징적으로(Symbolically) 다룰 수 있는 핸들(Handle)을 제공합니다. 이는 LLM이 긴 텍스트를 메모리에 로드하지 않고도 필요한 부분에 접근하고 조작할 수 있게 합니다.
  • 출력 길이 제한 극복: LLM은 최종 응답을 직접 생성하는 대신, REPL 내의 변수에 출력을 점진적으로 구축합니다. 이는 LLM의 출력 길이가 Context Window에 의해 제한되지 않음을 의미합니다.
  • 상징적 재귀(Symbolic Recursion): REPL 내에서 실행되는 코드는 PP의 프로그램적으로 구성된 변환(예: Arbitrarily Large Loops 내)에 대해 모델 MM을 호출할 수 있습니다. 이는 LLM이 단순히 몇 개의 명시적인 서브-호출을 위임하는 것을 넘어, PP의 모든 부분에 대해 Ω(∣P∣)\Omega(|P|) 또는 Ω(∣P∣2)\Omega(|P|^2) 스케일의 작업을 수행할 수 있도록 합니다.

평가 및 결과

RLM은 네 가지 다른 복잡도의 장문 컨텍스트 태스크에서 평가되었습니다:

  • S-NIAH (Single Needle-In-A-Haystack): O(1)O(1) 복잡도로, 특정 정보를 찾는 태스크입니다.
  • BrowseComp-Plus: 다중 홉(Multi-Hop) 질의응답으로, 여러 문서의 정보를 조합해야 합니다.
  • OOLONG: O(∣P∣)O(|P|) 복잡도로, 거의 모든 입력 라인을 사용하여 최종 응답을 형성하는 태스크입니다.
  • OOLONG-Pairs: O(∣P∣2)O(|P|^2) 복잡도로, 입력의 모든 쌍을 사용하여 최종 응답을 구성해야 하는 고밀도 정보 태스크입니다.
  • LongBench-v2 CodeQA: 코드 저장소 이해 태스크입니다.

주요 발견 사항은 다음과 같습니다:

  1. 10M+ 토큰 스케일 처리 및 성능 우위: RLM은 10M 토큰 이상의 긴 컨텍스트에서도 강력한 성능을 보이며, 기존 LLM이나 다른 스캐폴드(예: Compaction Agent, CodeAct) 대비 최대 2배 높은 성능을 달성하면서도 유사하거나 더 저렴한 비용을 유지합니다. 특히 OOLONG 및 OOLONG-Pairs와 같은 고밀도 정보 태스크에서 탁월한 성능 향상을 보였습니다.
  2. REPL의 필요성과 재귀적 서브-호출의 중요성: REPL 환경을 통한 Context Offloading는 모델이 컨텍스트 제한을 넘어설 수 있게 하는 핵심 요소입니다. 특히 OOLONG-Pairs와 같이 정보가 고밀도인 태스크에서는 프로그래밍 방식의 재귀적 LM 서브-호출이 필수적임을 입증했습니다.
  3. 입력 길이 및 문제 복잡도에 따른 LM 성능 저하 완화: Figure 1에서 보이듯이, 기본 LLM은 입력 길이와 태스크 복잡도가 증가함에 따라 성능이 급격히 저하되지만, RLM은 이러한 저하율이 현저히 낮아 더 긴 컨텍스트에서 지속적으로 우위를 보였습니다.
  4. 합리적인 추론 비용: RLM의 추론 비용은 다른 방법론과 비교할 때 유사하거나 더 저렴하며, 많은 경우 기본 LLM 호출 비용과도 견줄 만합니다.
  5. 긴 추론 능력(Longer Reasoning Capabilities) 활성화: LongCoT-mini와 같은 복잡한 추론 벤치마크에서 RLM은 기본 모델을 능가하며, 문제 분해(Decomposition) 힌트를 제공할 경우 더욱 성능이 향상되었습니다. 이는 RLM이 단순히 긴 컨텍스트를 처리하는 것을 넘어, 복잡한 다단계 추론 문제를 해결하는 데도 효과적임을 시사합니다.
  6. 학습을 통한 일반화 및 효율성 향상: 작은 규모의 데이터셋으로 RLM을 파인튜닝(Fine-tuning)한 RLM-Qwen3-8B 모델은 기본 Qwen3-8B 모델보다 크게 향상된 성능을 보였으며, 효율성(더 낮은 비용, 더 빠른 실행 시간)도 개선되었습니다. 이는 RLM 학습이 Length Generalization을 가능하게 하여, 학습 데이터보다 긴 시퀀스에도 잘 일반화됨을 보여줍니다.

결론적으로, RLM은 기존 LLM의 Context Window 한계와 Context Rot 문제를 효과적으로 해결하며, 복잡하고 정보 밀도가 높은 장문 컨텍스트 태스크에서 강력한 성능과 효율성을 제공하는 유망한 추론 패러다임입니다.