畀LLM寫Code讀1000萬Token?RLM嘅運作原理
更大嘅上下文窗口唔會令AI更聰明。RLM透過畀LLM寫程式碼,從海量文件中選擇性讀取所需內容,徹底顛覆咗傳統思路。
「上下文窗口越大,AI就越聰明?」
答案係:唔係。事實上,輸入越長,模型表現反而越差。
Context Rot - 點解我哋需要RLM
LLM嘅運作原理係透過計算輸入token嘅概率分佈嚟預測下一個token。問題在於,當輸入越嚟越長,有用嘅資訊就會同噪音混埋一齊,準確計算變得越嚟越困難。
就算啲模型標榜自己有128K甚至1M嘅上下文窗口,實際上喺大約10K token左右先至最準確。超過100K之後,表現會急劇下跌。呢個現象叫做Context Rot(上下文腐爛)。
你可以噉諗:要回答一條問題,你需要讀一本500頁嘅說明書。但你真正需要嘅只係裏面嗰三段。而一個擁有巨大上下文窗口嘅LLM會試圖一次過消化晒成本書 - 真正有用嘅訊號就噉淹沒喺噪音之中。
核心理念 - 「唔好全部讀晒,淨係攞你要嘅」
RLM(Recursive Language Model,遞歸語言模型)採用咗根本性唔同嘅方法。佢唔會將1000萬個token一次過塞入LLM,而係將文本儲存喺Python變數入面,然後畀LLM自己寫code嚟選擇性讀取佢需要嘅部分。
簡單嚟講,佢將LLM當作CPU,將海量文本當作硬碟。模型每次處理大約5萬個相關token,就能夠從超過1000萬token嘅文件中準確提取答案。
呢個係範式嘅轉移:從「畀模型更多上下文」變成「畀模型自己決定需要咩上下文」。
三大核心組件
RLM Orchestrator(編排器)
成個系統嘅控制中心。佢管理訊息歷史、控制迭代循環,仲負責判斷幾時已經得到最終答案。每一輪之後,佢決定模型係需要再睇多一次數據,定係已經收集到足夠資訊可以回應。
LMHandler(語言模型處理器)
一個socket server,負責轉發LLM API請求。關鍵在於:呢個handler令到LLM喺執行程式碼嘅過程中都可以發起LLM呼叫 - 即係話,模型可以喺處理數據嗰陣問自己問題。
Environment / REPL(執行環境)
一個Python沙箱,海量文本儲存喺一個叫context嘅變數入面。最關鍵嘅函數係llm_query(),佢容許LLM喺執行過程中遞歸呼叫自己。呢個就係RLM入面「Recursive(遞歸)」嘅由來。
執行流程 - 探索、分解、聚合
RLM遵循一個結構化嘅循環嚟處理海量文件:
探索(Explore):模型先檢查數據結構 - 例如執行print(context[:500])嚟了解自己面對緊咩嘢。
分解(Decompose):將文本拆分成若干塊,用llm_query()對每一塊提出子問題。唔再係用一條巨型查詢掃過百萬token,而係用幾十條針對性查詢處理可管理嘅片段。
聚合(Aggregate):將子答案合併 - 可以透過Python邏輯(計數、篩選、排序),亦可以叫LLM從多個片段中綜合結果。
終止(Terminate):當模型收集到足夠資訊,呼叫FINAL(answer)返回最終回應。
呢個循環可以按需重複任何次數,每一輪迭代都建基於之前嘅發現。
Ralph Wiggum嘅連結 - 「失敗冇問題,繼續迭代就得」
最近爆紅嘅Claude Code插件Ralph Wiggum同RLM解決嘅問題唔同,但佢哋共享一種核心哲學。
Ralph Wiggum點樣運作
當Claude完成任務準備退出嗰陣,一個Stop Hook會攔截終止信號,重新注入原始提示。每一輪迭代中,Claude可以見到之前修改過嘅檔案同Git歷史,令佢能夠逐步啃走問題。
佢哋嘅共通點
兩種方法都係用迭代循環嚟處理單次LLM呼叫無法解決嘅問題。兩者都將失敗當作數據 - 每一輪迭代都參考之前嘅結果嚟改進。
佢哋嘅分別
RLM專注於超大規模文本處理,核心機制係喺程式碼執行過程中進行遞歸LLM呼叫。Ralph Wiggum專注於自主開發任務執行,透過攔截session終止嚟驅動持續改進。
實戰建議
批量處理:唔好對1000行逐行呼叫LLM。應該每次處理50行,分20次呼叫。噉做Token開銷同延遲都會大幅降低。
預篩選:喺呼叫llm_query()之前,先用regex縮小候選範圍。確定性嘅code可以處理嘅嘢,就唔好浪費token畀LLM做推理。
限制遞歸深度:深度1通常已經足夠。遞歸越深,錯誤累積越嚴重,反而會令準確度下跌。
歷史管理:用滾動窗口或者摘要方式嚟防止Context Rot喺迭代之間累積。
結語
RLM代表嘅係一個思路嘅轉變:從暴力擴大上下文窗口,到設計更聰明嘅數據讀取方式。模型唔再將所有嘢塞入單一prompt,而係自己寫code、執行、選擇性讀取,需要嘅時候遞歸呼叫自己。
呢種代理式推理 - LLM寫code執行code,自主搵到佢需要嘅資訊 - 正逐漸成為我哋構建AI系統嘅核心模式。未來唔係靠更大嘅上下文窗口,而係靠更聰明嘅存取方式。
訂閱通訊
獲取關於我最新項目、文章同埋 AI 和 Web 開發實驗嘅更新。