工具增強型語言模型透過結合外部可執行技能來擴充套件小型語言模型的能力,但這種方法在擴充套件工具庫時面臨一個雙重挑戰:一方面,工具庫必須隨著規劃器的進化而更新,以納入新的可重用子程式;另一方面,從不斷增長的工具庫中檢索合適工具的過程必須保持在固定的上下文預算內。現有的大多數工具使用和技能庫方法通常將工具視為扁平化或文本索引的記憶,這導致提示成本隨庫大小線性增長,並且掩蓋了可執行程式碼的型別化組合結構。
為了解決這一問題,研究人員提出了CoCoDA(Co-evolving Compositional DAG)框架。該框架透過一種單一的原生程式碼結構——組合式程式碼有向無環圖(DAG)——來實現規劃器和工具庫的協同進化。在這個DAG中,節點代表原始工具或複合工具,邊編碼了呼叫依賴關係。每個節點都儲存了型別化簽名、描述、前置/後置條件規範以及工作示例。這種結構使得工具庫不僅是儲存工具的集合,更是一個動態的可進化系統。
在推理階段,CoCoDA使用型別化DAG檢索技術。該過程首先透過符號簽名統一來修剪候選工具集,然後按描述對倖存者進行排序,接著透過行為規範進行過濾,最後用示例消除歧義。這樣,昂貴的上下文具體化操作只在逐步縮小的候選集上執行,從而大大降低了檢索成本。在訓練階段,成功的軌跡被摺疊為經過驗證的複合工具,同時規劃器透過DAG誘導的獎勵進行更新,該獎勵根據原始展開大小對複合工具進行信用分配。
理論分析表明,CoCoDA在檢索成本降低、亞線性檢索時間、在塑造獎勵下的組合優勢、保守更新下的單調協同進化以及DAG良構性方面具有優勢。在數學推理基準GSM8K和MATH、表格分析以及程式碼任務上的實驗結果顯示,CoCoDA使一個80億引數的學生模型能夠達到或超過一個320億引數的教師模型的效能,並且持續優於其他強大的工具使用和庫學習基線方法。
CoCoDA為工具增強型智慧體提供了一種可擴充套件且高效的正規化,有望推動小型模型在複雜任務中的應用,同時保持較低的計算成本。