RLM: Recursive Language Models for Large Codebases - Shashi, Superagentic AI
三句話摘要
RLM(遞迴語言模型)在大型代碼庫中的應用概念與實現方式。 ## RLM 透過外部化上下文管理和遞迴 LLM 查詢,將大型代碼庫從被動的文本轉變為可編程的結構化數據,是解決代碼代理在大型項目中性能衰減的關鍵設計模式。 傳統方法的限制:grep 搜尋、語義搜尋、上下文壓縮等方法在大型單倉庫中性能遞減。RLM 改變思路——不是被動讀取整個代碼庫,而是讓模型主動編寫代碼來檢查、切片和計算相關片段。
重點整理
重點- 1
傳統方法的限制:grep 搜尋、語義搜尋、上下文壓縮等方法在大型單倉庫中性能遞減。RLM 改變思路——不是被動讀取整個代碼庫,而是讓模型主動編寫代碼來檢查、切片和計算相關片段。
- 2
核心機制:外部化上下文管理:把上下文管理從模型內部移到可編程的執行環境(REPL)。模型先寫代碼提取相關上下文,若需更多資訊就透過 LLM 查詢詢問另一模型,這樣遞迴地獲取信息直到得出答案。
- 3
工程師工作流比喻:資深工程師接手大型項目不會逐行讀代碼,而是檢查結構、做筆記、查依賴、遇疑惑就問同事。RLM 模型也是這樣運作的,用 REPL 「做筆記」,用 LLM 查詢「請教專家」。
- 4
業界廣泛應用:Anthropic 託管代理、Google Gemini、GitHub Copilot 等已採用 RLM 概念。動態工作流讓一個代理可生成多個子代理各自操作,展現 RLM 的可擴展性。
- 5
##
實用技巧與重點
乾貨- 理論基礎
- MIT 發布的 RLM 論文(Omar 等作者)
- 相關框架:DSPy(含 RLM 實現)、Pydantic.ai、Google ADK
- 工具與實現
- RLM Code:SuperAgentR 開發的開源參考庫
- 地址:RLM Code 官方網站、GitHub 開源倉庫
- 支持模型:本地模型、Gemini、可接入任何觀測平台
- 提供介面:CLI 命令行、代理風格的實驗框架、TUI 終端用戶界面
- 上下文管理技術
- 傳統方法:grep 搜尋、語義/本地搜尋、上下文壓縮、記憶持久化
- RLM 核心:REPL 代碼執行→邊界觀測→LLM 查詢遞迴→最終合成結果
- 觀測與追蹤
- 輸出格式:JSONL 格式追蹤數據
- 記錄內容:REPL 代碼執行、LLM 查詢調用、事件時間戳、遞迴深度、令牌使用量
- 可視化:Research Lab 界面展示執行軌跡、花費、獎勵
- 實際應用場景
- 根本原因分析(RCA)
- 大型倉庫上線(Onboarding)
- 陌生代碼庫導航
- 業界實現案例
- Codex:Python REPL 代碼生成來提取上下文
- Anthropic 託管代理、Google Gemini 託管代理
- 動態工作流系統(多代理協作沙箱)
- ##
結論
結論“RLM 透過外部化上下文管理和遞迴 LLM 查詢,將大型代碼庫從被動的文本轉變為可編程的結構化數據,是解決代碼代理在大型項目中性能衰減的關鍵設計模式。”
完整解析
詳細大型代碼庫對傳統代碼代理構成了重大挑戰。隨著倉庫規模增長,將整個上下文塞入模型會導致性能迅速下降,尤其是在處理複雜單倉庫時更為明顯。現有解決方案包括基於 grep 等工具的文件系統搜尋、語義搜尋來策展上下文、壓縮長上下文為摘要,以及持久化的記憶層。這些方法各有應用場景,但無法根本解決大型項目中模型上下文的核心矛盾。
RLM(遞迴語言模型)引入了全新的思維方式。其核心創新是將上下文管理外部化到可編程的執行環境中。與其讓模型被動地讀取和理解代碼,RLM 讓模型主動成為一位「程式設計師」——它會編寫 REPL(Python 等)代碼來檢查、切片和計算相關的代碼片段。整個工作流遵循一個遞迴循環:首先模型讀取代碼並寫入 REPL 代碼,獲得邊界觀測結果;如果這些結果不足以回答問題,模型就通過 LLM 查詢向另一個模型系統提問,取回結果後繼續循環,直至獲得最終答案。這個過程完全可以類比為資深軟體工程師接手大型項目的思考方式:不是逐行讀代碼,而是先檢查項目結構、目錄組織、依賴關係和測試框架,做出筆記,遇到疑惑時請教同事或查閱文件,最後綜合所有信息得出結論。
SuperAgentR 團隊開發的 RLM Code 是這一概念的開源參考實現。該庫嚴格遵循 MIT 論文的核心思想,支持本地模型或雲端模型(如 Gemini),並允許接入任意觀測平台。RLM Code 提供了多種介面:CLI 模式用於簡單查詢,代理風格的實驗框架則更靠近實際的代碼代理應用,TUI 終端界面讓用戶可以互動式地探索和實驗。用戶可以輸入提示詞、指定預算上限,系統會返回詳細的執行信息,包括遞迴深度、模型調用次數、令牌消耗等。所有執行過程被完整地記錄為 JSONL 格式的追蹤數據,不僅展示最終答案,還展示了中間的 REPL 代碼執行步驟、LLM 查詢內容、事件發生的時間戳,方便開發者導入到任何觀測或分析平台進行深度檢查。
RLM 概念已被業界廣泛採納。Anthropic 和 Google 的託管代理系統、GitHub Copilot 的 Codex 引擎都在實踐這一模式——在沙箱環境中執行代碼來提取和過濾上下文。更進一步的應用是動態工作流,其中一個代理可以根據任務生成多個子代理,每個子代理擁有獨立的沙箱環境,相互協作完成複雜任務。這些實踐都證明了 RLM 作為一個通用模式的實用性和可擴展性。實際應用中,RLM 特別適合以下場景:在進行根本原因分析時快速定位問題所在、為開發者上線到陌生的大型倉庫、導航複雜的代碼關係。開發者可以根據自己的業務需求設計定製化的執行框架和觀測機制,從而實現高效、可控、完全可觀測的大規模代碼操作。
##
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


