058 · 用 RLM 化解大型程式碼庫的上下文問題
Superagentic 創辦人 Shashi 說明如何借助 RLM(遞迴語言模型)的概念,讓 coding agent 在大型程式碼庫裡有效管理上下文,並用自家開源工具 RLM code 做現場示範。
原標題:RLM: Recursive Language Models for Large Codebases - Shashi, Superagentic AI
重點摘要
- 大型 repo 的 context 難題coding agent 在小型專案表現不錯,但換成大型 monorepo,context 一拉長,表現就明顯下滑。
- 既有解法各有侷限全文搜尋、語意搜尋、上下文壓縮、記憶體方案是目前常見做法,但都只是治標,沒有真正解決大型程式碼庫的結構性問題。
- RLM 的核心主張把 context 管理外包給一個獨立、可程式化的執行環境,讓模型把整個 repo 當成資料來檢視、切片與運算,再把結果餵回主 context,也能當成 coding agent 的記憶層。
- 工程師接手新專案的類比資深工程師接手陌生 monorepo 時,會先看程式碼做筆記,遇到看不懂的地方就去問其他工程師;RLM 裡「去問另一個模型」(llm query)的這一步,就是「遞迴」名稱的由來。
- RLM code 是自家的開源實作Superagentic 推出的 RLM code 是一套參考實作與研究用 playground,跟 MIT 原始論文、Omar 的 DSPy 版本是各自獨立、但概念相通的專案,可以搭配本地或雲端模型,也能接進任何觀測平台。
- 應用場景與觀察講者認為 RLM 適合用在大型 repo 的 root cause 分析與陌生 repo 的 onboarding,也觀察到 Codex、Claude、Gemini 的代理型服務背後,都能看到類似 RLM 概念的影子。
時間軸
時碼點下去會跳到影片的那一段。
| 時碼 | 段落 | 重點 |
|---|---|---|
| 00:00 | 開場與主題 | 講者 Shashi 是 Superagentic 創辦人,這場要說明 RLM(遞迴語言模型)的概念,以及怎麼把它用在大型程式碼庫上。 |
| 00:44 | 大型 repo 的問題 | coding agent 在小型或單一 repo 上效果很好,但換成大型 monorepo,context 越大,表現就掉得越明顯。 |
| 01:19 | 既有解法侷限 | 全文搜尋、語意搜尋、上下文壓縮、市面上的記憶體方案,是目前常見的因應做法。 |
| 01:59 | RLM 核心主張 | 主張把 context 管理外包給一個獨立、可程式化的執行環境,讓模型把整個 repo 當成資料來檢視與運算。 |
| 03:02 | 工程師類比 | 把 RLM 的流程比喻成資深工程師接手陌生 monorepo:先看程式碼做筆記,遇到不懂的地方再去問別的工程師。 |
| 04:23 | 遞迴機制說明 | 「去問別的工程師」對應到 llm query,一輪一輪呼叫,直到湊齊足夠資訊、迴圈才會結束,這就是「遞迴」的來源。 |
| 06:09 | 自家開源工具登場 | 介紹 Superagentic 開源的 RLM code,是一個可以直接動手玩 RLM 概念的研究用 playground。 |
| 07:13 | 與其他實作的關係 | RLM 論文作者 Omar 同時也是 DSPy 的作者,DSPy 內建了自己的 RLM 實作,但跟 RLM code 是彼此獨立的專案。 |
| 08:08 | RLM mode 的彈性 | RLM code 忠於原始論文的概念,可以換用本地或雲端模型、接不同的觀測平台,也能搭配 Pydantic AI、Google ADK 等框架。 |
| 09:33 | 進入現場 demo | 準備用一個真實的程式碼庫,實地跑一次 RLM 的完整流程。 |
| 10:45 | CLI demo 結果 | 用 Gemini 跑出結果,可以看到 REPL 寫出的程式碼、llm query 的呼叫過程,以及這次執行用掉的 token 數量。 |
| 12:16 | 代理型終端示範 | 另一個實驗性、類似 coding agent 的終端介面,連上 Gemini、設定好預算後執行一次查詢。 |
| 13:34 | 觀測資料細節 | 研究用介面能看到執行的 reward、完整的 trajectory 與事件時間軸,方便匯出成 JSONL 給觀測平台使用。 |
| 15:07 | 實際應用場景 | 適合用在大型 repo 的 root cause 分析,或是不熟悉的 repo 的 onboarding。 |
| 15:43 | 產業觀察與結語 | 觀察到 Codex 的 harness 會寫 Python 程式碼來整理 context,Claude、Gemini 的代理型服務與多 agent 動態工作流背後,也都能看到類似 RLM 概念的影子。 |
值得記的話
名詞與人物
| RLM(Recursive Language Models) | MIT 團隊提出的概念,主張用遞迴呼叫語言模型的方式,處理超出單次 context window 的大型資料。 |
|---|---|
| RLM code | Superagentic 推出的開源 RLM 參考實作,附研究用 playground 與代理型終端介面。 |
| REPL | 這裡指模型可以寫程式、執行、拿回結果的可程式化環境,是 RLM 用來管理 context 的核心工具。 |
| llm query | RLM 迴圈裡用來呼叫另一個語言模型取得答案的步驟,也是「遞迴」名稱的由來。 |
| Omar | RLM 論文的作者之一,同時也是 DSPy 框架的作者。 |
| DSPy | Omar 開發的另一個熱門框架,內建了自己的 RLM 實作,但跟 RLM code 是各自獨立的專案。 |
| Superagentic | 講者 Shashi 創辦的公司,這場示範用的 RLM code 就是他們做的開源專案。 |
延伸
- 官方作者釋出的 rlm 與 rlm-minimal 實作,這場只提到名字,沒有展開說明。
- 提到可以把 RLM 概念接進 Pydantic AI、Google ADK 等框架,但沒有示範細節。
- 提到 Codex、Claude、Gemini 的代理型 harness 與多 agent 動態工作流背後疑似都用了 RLM 概念,但講者也說自己並不確定。