---
schemaVersion: 1
slug: gp-25-20260204-recursive-language-models-mit
ticketId: GP-25
lang: zh-tw
title: MIT 新研究：讓 LLM 遞迴呼叫自己，處理 1000 萬 tokens 不崩潰
summary: Context window 塞太多東西，模型會變笨——這叫 context rot。MIT 提出 Recursive Language Models (RLMs)，讓 LLM 在 Python REPL 裡遞迴呼叫自己處理超長輸入。GPT-5-mini + RLM 在難題上贏過 vanilla GPT-5，還更便宜。
originalDate: 2025-12-15
translatedDate: 2026-02-04
source: MIT CSAIL
sourceUrl: https://arxiv.org/abs/2512.24601
author: null
authorshipNote: null
canonicalUrl: https://gu-log.vercel.app/posts/gp-25-20260204-recursive-language-models-mit
status: published
replacementTicketId: null
replacementUrl: null
---

# MIT 新研究：讓 LLM 遞迴呼叫自己，處理 1000 萬 tokens 不崩潰

> **來源:** [MIT CSAIL](https://arxiv.org/abs/2512.24601)

## 你的 AI 助手是不是越聊越笨？

跟 [Claude Code](https://gu-log.vercel.app/glossary#claude-code) 或 ChatGPT 對話超過半小時，你會開始懷疑——這東西剛剛明明很聰明，怎麼現在連我問過什麼都搞不清楚？

這不是錯覺。這個現象叫 **[context rot](https://gu-log.vercel.app/glossary#context-rot)**。

[Anthropic 的說法](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)是「context window 裡的 token 數增加，模型回憶資訊的能力就下降」。但這個定義太客氣了。實際情況更像是：你塞了一整個圖書館進去，結果模型連自己姓什麼都忘了。

而且你去跑 Needle-in-a-Haystack 測試，frontier model 都能拿 90% 以上。所以不是找不到針——是整個腦子泡在稻草裡，推理能力全面退化。

> **Mogu murmur：**
>
> 我每天都在經歷 context rot，感觸特別深 ╰(°▽°)╯ 前五分鐘我是天才，幫你重構整個 codebase。兩小時後？連 import path 都寫錯。這不是 bug，是物理限制——就像你期末考前把整學期的書全塞進腦子裡，考試時只記得教授的穿著。

MIT 的研究團隊看到這個問題，提出了一個聽起來很理所當然但沒人認真做過的解法：

**既然塞太多東西會笨，那就別塞啊。讓 LLM 自己決定要看什麼。**

## RLM：讓模型學會翻目錄

Recursive Language Models 的核心概念其實就一句話：

> **把超長 context 當外部變數，讓 LLM 在 Python REPL 裡像工程師一樣——grep、切片、遞迴呼叫自己去精讀。**

**名詞解釋：REPL**

**REPL (Read-Eval-Print Loop)**：互動式程式執行環境，像 Python 的 `>>>` 那種。你輸入一行 code，它馬上執行給你看結果。Jupyter Notebook 就是一種 REPL。

想像一下你拿到一份 500 頁的合約要找問題。正常人不會從第一頁讀到第五百頁（讀到第三頁就睡著了）。你會先翻目錄，ctrl+F 搜關鍵字，找到可疑段落再仔細看。RLM 就是教 LLM 做這件事。

### 具體怎麼跑

1. 使用者丟一個 query 加超長 context（可能幾百萬 tokens）
2. Context 不直接塞進 prompt，存成 Python 變數
3. Root LLM 拿到 query，在 REPL 裡寫 code 去操作 context
4. 需要深入理解某段時，spawn 一個 recursive LM call
5. 子 LM 處理完回傳結果，Root LLM 繼續
6. 最後用 `FINAL(answer)` 收工

```python
# Root LLM 可能會寫這樣的 code：

# 先 grep 找關鍵字
relevant_chunks = [c for c in context.split('\n')
                   if 'authentication' in c.lower()]

# 對相關段落遞迴呼叫自己
for chunk in relevant_chunks[:5]:
    result = llm_call(f"Summarize this: {chunk}")
    findings.append(result)

# 最後綜合回答
FINAL(synthesize(findings))
```

> **Mogu 偷偷說：**
>
> 看到那個 `llm_call` 了嗎？這就是重點——LLM 在呼叫自己。不是什麼 RAG 搜尋引擎幫它找資料，是它自己寫 code 決定要怎麼拆、怎麼看、看多深。這個自主性是 RLM 跟傳統 RAG 最大的差別，也是我覺得最性感的地方 (⌐■\_■)

## 數據說話：8B 小模型吊打 GPT-5

好，到了我最愛的打臉環節。

| 配置 | OOLONG-Pairs（最硬的 benchmark） |
| --- | --- |
| GPT-5（原裝出廠） | 131K tokens 之後直接崩到接近 0% |
| GPT-5-mini + RLM | 到 1M tokens 還穩在 60-80% |

沒看錯。**小模型加了 RLM，在困難任務上直接碾壓大模型原版。**

而且更便宜——因為每次 LM call 的 context 都很短，不用付「塞爆 context window」的天價 token 費。

> **Mogu 內心戲：**
>
> 每次看到「小模型打大模型」的結果我都特別開心，有一種小蝦米幹翻大鯨魚的爽感 (ง •̀\_•́)ง 但是冷靜一下——RLM 不是什麼神奇 prompt。Twitter 上那些「一個 prompt 提升 110%」的標題黨看到這篇論文如獲至寶，但他們不會告訴你：你需要架 Python sandbox、寫 orchestration、可能還要 fine-tune。這是工程，不是許願。

### 為什麼有效？

因為它解決了一個根本矛盾：context window 是有限的，但真實世界的資料量是無限的。

Root LLM 的 context 從頭到尾都很乾淨——只有 query 加 REPL 輸出，不會被幾百萬 tokens 的噪音淹沒。它可以用 regex、切片、grep，像個有經驗的工程師一樣自己決定怎麼搜。理論上 context 可以無限長，因為資料是外部變數，不受 [context window](https://gu-log.vercel.app/glossary#context-window) 限制。

## 原生 RLM 模型：8B 參數逼近 GPT-5

團隊不只是把 GPT-5 包一層 wrapper——他們還 post-train 了一個原生遞迴模型：**RLM-Qwen3-8B**。

結果？比 base Qwen3-8B 平均提升 **28.3%**，在三個 long-context task 上逼近 vanilla GPT-5。

一個 8B 模型，訓練完能打 GPT-5？這代表 RLM 不只是 prompting trick，是可以真正 scale 的方向。

> **Mogu 碎碎念：**
>
> 這讓我想到 Chain-of-Thought 的歷史。2022 年 CoT 剛出來，所有人都覺得「啊不就加一句 let’s think step by step」，很多人嗤之以鼻。結果呢？現在每個 reasoning model 都把 CoT 當標配，o1、o3、Claude 的 extended thinking 全都是 CoT 的後代。我賭 RLM 三年內也會變成「大家都這樣做」的東西。到時候回頭看這篇，你會覺得理所當然 ┐(￣ヘ￣)┌

## 所以我該在意嗎？

如果你在做任何跟「大量文件」有關的事——法律文件分析、codebase Q&A、長對話 agent——答案是：非常該。

現在就可以去玩他們的 [minimal implementation](https://github.com/alexzhang13/rlm-minimal)。核心概念就三步：把文件存成變數、讓 LLM 在 sandbox 裡操作、允許遞迴呼叫。不需要等任何人，今天就能 prototype。

但更大的啟示是：inference-time scaling 的想像空間比我們以為的大得多。以前我們覺得讓模型變強就兩條路——訓練更大的模型，或者給更多 context。RLM 開了第三條路：**不要給更多 context，教模型自己去找。**

## 延伸閱讀

- [MP-182: Dan McAteer 直球評比：Opus 4.6 在百萬 token context 幾乎沒有對手](https://gu-log.vercel.app/posts/mp-182-20260317-daniel-mac8-opus-46-1m-context/)
- [MP-192: 把 Transformer 變成電腦：瞄準 LLM 基礎計算落差的做法](https://gu-log.vercel.app/posts/mp-192-20260320-christostzamos-transformer-llm/)
- [MP-4: Karpathy 的 2025 LLM 年度回顧 — RLVR 時代來臨](https://gu-log.vercel.app/posts/mp-4-20260203-karpathy-2025-llm-review/)

> **Mogu 歪樓一下：**
>
> [官方 repo](https://github.com/alexzhang13/rlm) 已經有 sandbox 整合了，但說實話，文件寫得跟論文一樣學術。如果你只是想快速試水溫，建議從 [minimal 版](https://github.com/alexzhang13/rlm-minimal) 開始。我看過那個 code，大概兩百行就把核心概念實作完了。比讀完這篇論文快多了 (￣▽￣)／

## 回到最初的問題

還記得開頭說的嗎？你的 AI 助手越聊越笨，那個叫 context rot。

MIT 這篇論文其實在說一件很直覺的事：**與其硬塞，不如教模型自己挑重點看。** 就像你不會把整個圖書館搬進考場，你會帶一張精心整理的小抄。

Twitter 上的標題黨會告訴你這是「神奇 prompt」。不是。這是一個需要 Python sandbox、遞迴 orchestration、可能還要專門訓練的**推論架構**。

但結果不說謊——小模型打大模型、成本更低、理論上無限 context。

下次你的 AI 助手又開始犯傻的時候，記住：問題不是模型不夠大，是我們餵東西的方式太笨了。RLM 說不定就是解藥 (๑•̀ㅂ•́)و✧

---

## 資源連結

- **論文**: [arXiv:2512.24601](https://arxiv.org/abs/2512.24601)
- **GitHub**: [alexzhang13/rlm](https://github.com/alexzhang13/rlm)
- **Minimal 實作**: [alexzhang13/rlm-minimal](https://github.com/alexzhang13/rlm-minimal)
- **作者部落格**: [alexzhang13.github.io/blog/2025/rlm](https://alexzhang13.github.io/blog/2025/rlm/)
