AI News HubLIVE
站内改写

深度代理中的解釋器:工具調用與沙盒之間的代碼

深度代理現在支持解釋器:小型嵌入式運行時,代理可在其中編寫代碼以協調工具、保持工作狀態,並決定哪些內容進入模型上下文。解釋器提供了一種介於串行工具調用和完整沙盒之間的中間地帶,使代理能夠表達多步驟工作、將中間狀態保留在模型上下文之外,並以更可預測的方式執行代碼和操作。

文章情報

工程師進階

要點

  • 解釋器位於串行工具調用和完整沙盒之間,代理可以在受限能力上獲得代碼級組合,而無需繼承整個環境。
  • 解釋器狀態是第三種上下文表面:消息歷史用於模型當前推理,文件系統用於持久工件,解釋器狀態用於尚不需要進入模型輸入的實時工作值。
  • 程序化工具調用作為中間件插入:允許列表中的工具以工具命名空間形式出現在解釋器內,可與任何模型配合使用,在早期測試中某些任務可減少多達35%的令牌。

為甚麼重要

這條新聞值得關注,因為解釋器位於串行工具調用和完整沙盒之間,代理可以在受限能力上獲得代碼級組合,而無需繼承整個環境。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

深度代理(Deep Agents)現在加入瞭解釋器特性:一種小型嵌入式運行時,代理可以在其中編寫和執行代碼。這為代理提供了介於逐個工具調用和完整沙盒之間的中間地帶,使其能夠表達多步驟工作,將中間狀態保留在模型上下文之外,並以更可預測的方式執行代碼和操作。

什麼是解釋器? 解釋器是一個小型嵌入式運行時,代理在工作時可以針對其編寫代碼。從功能上講,這類似於給代理提供一個Python或Node REPL:它可以定義變量、檢查值、編寫輔助函數,並在多次調用中重用狀態。

目前,許多代理已經通過向主機或沙盒環境發出命令來執行代碼。當任務是環境級工作(如運行命令、安裝依賴或操作文件系統)時,這非常有用。解釋器則針對不同的層次:代理編寫的代碼在代理循環內運行,用於協調委派、組合工具調用、轉換結構化數據,以及決定哪些信息應返回給模型。

解釋器的定位 當你考慮代理時,通常會想到附加工具。最簡單的代理形式是模型在循環中使用工具:模型調用一個工具,觀察結果,然後決定下一步。這種一步接一步的風格易於調試和評估,許多工作流程確實需要即時觀察結果。沙盒在此基礎上通過提供一個bash工具來運行命令、安裝依賴和處理文件。但兩種方式都有缺點:沙盒可以處理局部過程,但可能難以擴展;純串行工具循環在中間步驟主要服務於下一步時顯得笨拙。

解釋器正好填補了這兩者之間的空白。它為代理提供了對受限能力的代碼級組合,而無需給予整個環境。模型可以編寫一個小程序來表達對現有能力的控制流,同時由控制台決定哪些能力可用。

有意限制的設計 我們稱其為解釋器而非簡單的代碼運行時,因為它是故意受限的。默認情況下,它不具備正常編程環境中的API:沒有文件系統、網絡、shell、包安裝,也沒有實時訪問。代理從基本的控制流和對象操作開始:對象、數組、映射、JSON等小型語言運行時。

這些能力通過明確的主機運行時橋接暴露。如果代理需要調用工具、讀取限定的文件系統API、獲取URL或委派給子代理,控制台必須有意地暴露這些能力。例如,只有當我們顯式地將fetch、read_file和task工具橋接到解釋器時,以下腳本才能工作。

主機運行時(與控制台相同)包含代理使用解釋器可以執行的所有操作,並明確決定哪些操作可以被解釋器代碼調用。解釋器是代理在該邊界上的可編程側。

解釋器的優勢 解釋器狀態作為一種上下文表面:代理控制台已在多個表面上組織上下文。消息歷史是模型立即可用的上下文,但代價高昂且受注意力限制。文件系統為代理提供存儲持久工件、筆記、中間文件和長期工作記憶的地方,但強制代理將工作狀態序列化為文件後再重建。解釋器狀態為代理提供了另一個選項:值可以保留在運行時中,作為數組、對象、映射、計數器、隊列和輔助函數。模型無需將每個中間值視為提示文本,但仍可要求解釋器檢查或重用這些值。

程序化工具調用:Anthropic的程序化工具調用(PTC)是此模式的另一個版本:工具調用從代理編寫的代碼內部發生,而不是作為模型中介的一系列操作。在深度代理中,PTC作為中間件實現,而非模型提供者行為。開發者傳入允許列表,允許列表中的工具出現在全局tools命名空間下,每個工具作為異步函數暴露,解釋器可以使用await調用。這意味着你可以為任何模型啓用PTC,包括開源模型。在早期測試中,這種調用風格在某些任務上使用的令牌減少了多達35%。

處理大型數據集:對於文檔密集型任務,解釋器版本看起來不同。模型可以編寫代碼,在運行時中保持文檔和搜索狀態,通過編程方式迭代批次,評分或過濾候選,僅在選定切片上調用子代理。解釋器返回一個緊湊的證據集,而不是將每個中間結果返回給模型。

遞歸編排:另一個相關概念是遞歸語言模型(RLMs),它將長提示視為外部REPL環境的一部分。

總結:解釋器為深度代理提供了新的能力層次,使其在工具調用和沙盒之間靈活表達複雜工作流程,同時保持控制和安全。