RLM
Jak działa
Root LM otrzymuje wyłącznie zapytanie q i informację, że kontekst C istnieje jako zmienna w REPL. Środowisko (zwykle Python REPL / Jupyter) pozwala mu wykonywać dowolny kod nad tą zmienną — peek (odczyt pierwszych N znaków), grep (regex), partition + map (chunking + równoległe rekurencyjne wywołania LLM nad fragmentami), summarization (skondensowanie podzbiorów). Każde wywołanie rekurencyjne RLM_M(q̂, Ĉ) tworzy izolowaną instancję sub-RLM z własnym środowiskiem; jej wynik wraca do środowiska wywołującego. W referencyjnej implementacji autorzy ograniczyli głębokość do 1 (root może wołać LLM, ale nie inne RLM). Końcowa odpowiedź zwracana jest tagiem FINAL(...) (bezpośrednio) lub FINAL_VAR(nazwa_zmiennej) (z pamięci REPL).
Rozwiązany problem
Frontier LLM tracą jakość przy długim kontekście (zjawisko „context rot”), a sztywne okno (np. 272k dla GPT-5) blokuje obsługę korpusów rzędu milionów tokenów. Standardowe rozwiązania — RAG, ReAct z retrieverem, agentowe scaffoldy dekompozycji problemu — narzucają z góry strategię, podczas gdy RLM oddaje decyzję o dekompozycji kontekstu samemu modelowi.
Kluczowe mechanizmy
Mocne strony i ograniczenia
Komponenty
Główny model językowy (depth=0). Otrzymuje wyłącznie zapytanie q oraz informację o istnieniu kontekstu C w środowisku. Decyduje o strategii dekompozycji i emituje kod do REPL.
Oficjalna
Notebook Pythona (Jupyter-like) z kontekstem C załadowanym jako zmienna w pamięci. Pozwala root LM peek'ować, grepować, chunkować i wywoływać rekurencyjne LM jako wywołania funkcji.
Oficjalna
Sub-instancje LLM (depth=1) wywoływane z REPL nad fragmentami lub przekształconym kontekstem. W referencyjnym setupie GPT-5 lub GPT-5-mini; głębokość ograniczona do 1.
Oficjalna
Mechanizm terminacji: FINAL(answer) zwraca odpowiedź wprost; FINAL_VAR(var_name) zwraca zawartość zmiennej z pamięci REPL.
Implementacja
Referencyjna implementacja wykonuje każde rekurencyjne wywołanie LM blokująco i bez prefix caching, co rozciąga pojedyncze zapytanie z kilku sekund do kilku minut.
Maks. liczba iteracji ogranicza długość, ale nie gwarantuje twardego limitu API spend ani wall-clock — outlier-query mogą być bardzo drogie.
REPL wykonuje dowolny kod generowany przez LM nad danymi użytkownika — bez izolacji to ryzyko bezpieczeństwa (eksfiltracja, side effects).
Ewolucja
Październik 2025 — Alex Zhang publikuje koncept RLM na blogu MIT CSAIL wraz z pierwszymi wynikami na OOLONG i BrowseComp-Plus.
31 grudnia 2025 — pierwsza wersja papera na arXiv (2512.24601).
11 maja 2026 — wersja v3 z post-treningiem pierwszego modelu wyspecjalizowanego pod RLM: RLM-Qwen3-8B przewyższa bazowy Qwen3-8B o 28,3% i zbliża się do GPT-5 na trzech zadaniach long-context.
Szczegóły techniczne
Hiperparametry (konfigurowalne osie)
Ile poziomów wywołań RLM jest dozwolonych. Referencyjna implementacja używa depth=1 (root + jeden poziom sub-call). Większa głębokość daje silniejsze systemy, ale zwiększa koszt.
Limit kroków REPL wykonywanych przez root LM przed wymuszeniem terminacji. Kontroluje koszt i czas, ale nie gwarantuje twardego budżetu API.
Który LLM obsługuje sub-calle (np. GPT-5-mini dla taniego dekompozytora pod GPT-5 root). Mocno wpływa na koszt i jakość.
Co dokładnie jest dostępne dla root LM (REPL, baza wektorowa, system plików). Referencyjnie: Python REPL z kontekstem jako zmienną.
Złożoność obliczeniowa
RLM ewaluowano na czterech zadaniach. (1) OOLONG trec_coarse: zapytania dystrybucyjne nad ~3000–6000 wpisami (konteksty 132k i 263k tokenów). RLM(GPT-5-mini) pobił GPT-5 o ~114% przy 132k i ~49% przy 263k; ablacja bez rekursji (sam REPL bez sub-callów) spada o ~10%. (2) BrowseComp-Plus: 20 losowo wybranych multi-hop zapytań nad korpusem dokumentów (10–1000 dok.). RLM(GPT-5) jedyną metodą utrzymującą bliską perfekcji dokładność przy 1000 dok. (3) Cztery benchmarki long-context (pełna wersja papera v3): mediana +26% vs compaction, +130% vs CodeAct sub-calls, +13% vs Claude Code. (4) RLM-Qwen3-8B (post-training): +28,3% nad bazowym Qwen3-8B, zbliżony do GPT-5 na 3 z 4 zadań. Ważna uwaga: wyniki BrowseComp-Plus opierają się na 20 zapytaniach — autorzy wprost zaznaczają wstępny charakter tych liczb.
Paradygmat wykonania
Routing kontekstu jest emergentny — uczy się go z trajektorii lub jest improwizowany przez model w trakcie inferencji.
Root LM sam decyduje (przez generowanie kodu w REPL), które fragmenty kontekstu analizować i kiedy delegować do rekurencyjnego wywołania.
Równoległość
Rekurencyjne wywołania nad chunkami można uruchamiać równolegle (np. partition+map), ale referencyjna implementacja autorów jest blokująca (każde sub-call sekwencyjnie). Autorzy wskazują to jako duże low-hanging fruit do optymalizacji systemowej.
Wymagania sprzętowe
RLM to paradygmat inferencji nad istniejącymi LLM — niezależny od hardware'u modelu bazowego.