KeyFrame內部研究專用

RLM: Recursive Language Models for Large Codebases - Shashi, Superagentic AI

AI Engineer·7月12日週日·17 min英文

三句話摘要

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 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Everything Goldman Sachs Taught Me About AI (In 10 minutes)
AI 技術英文8月24日

Everything Goldman Sachs Taught Me About AI (In 10 minutes)

Nate Herk

  • 驗證優於相信:看起來完整的AI輸出不等於正確答案,需在提示中要求模型重新檢查數字、引用來源,並對無把握的部分標記。
  • 區分AI與自動化:確定步驟且答案已知的任務用傳統自動化更便宜快速;只在需要判斷力、靈活性或處理複雜資訊時才用AI,兩者結合效果最佳。
  • 以問題驅動選型:先寫清楚「要解決的問題是什麼、成功的樣子是什麼」,再決定用什麼工具,許多失敗項目是從技術而非問題出發。
Mu: a self-hosted personal agent where the interface is an email address you can write to
AI 技術英文8月23日

Mu: a self-hosted personal agent where the interface is an email address you can write to

GitHub Awesome

  • Mu 是自主代理人系統,具有實際網址與獨立伺服器,用戶可透過多種方式與其互動——網頁應用、電子郵件或程式化介面。
  • 架構完整覆蓋日常工作流程的多個層面,整合郵件收發(SMTP/IMAP)、檔案管理、行事曆、新聞聚合、市場數據與搜尋功能於一個 Go 伺服器內。
  • 支援自帶模型與多種通訊協定,用戶可選擇不同的 AI 模型,並透過 MCP、HTTP API 或命令列工具整合到其他系統。