ALTK-Evolve vs ACE:相同的經驗,更少的 Token
TL;DR
ALTK‑Evolve 實現了與 ACE 相同或更好的任務目標完成率,同時僅消耗約四分之一到七分之一的 Token,因為它在推論時僅提供最相關的指南,而不是總是餵入整個 playbook。
兩套系統的共同點
ACE (Agentic Context Engineering) 與 ALTK‑Evolve 都將代理(agent)過去的軌跡視為經驗(lessons),並以不壓縮的方式儲存。每條經驗都作為一個獨立的物件保留,並帶有表示產生該經驗之回合數的支持次數(support count)。這種設計避免了當模型被迫將大量經驗總結為少數通用規則時,所產生的*簡略偏誤(brevity bias)與上下文崩潰(context collapse)*問題。
"計算它們,而不是壓縮它們。" — ACE 的逐條計數器與 ALTK‑Evolve 的支持次數背後的共同原則。
兩套系統的差異
記憶構建
- ACE 透過 Generator → Reflector → Curator 迴圈構建單一且不斷演進的 playbook。近乎重複的經驗會被聚類並合併;倖存的項目會繼承合併後的支持次數,從而保留經驗的來源(provenance)。
- ALTK‑Evolve 創建了一組扁平的指南(guidelines),每條指南都有自己的支持次數。經驗不會被合併成單一文件;相反地,它們保持個別可檢索的狀態。
交付機制(Token 成本驅動因素)
- ACE 在每個推理步驟都會將整個 playbook 注入提示詞(prompt)中,無論模型大小或任務難度如何。
- ALTK‑Evolve 將交付視為一個可配置的旋鈕:始終包含一小部分高支持度的指南,並根據任務使用餘弦相似度(cosine similarity)或 LLM 引導的排名來選擇額外的指南。當模型擁有充足的上下文窗口時,可以使用完整的整合集;否則僅發送最相關的子集。
這種交付選擇直接解釋了下文報告的 Token 使用差距。
AppWorld 基準測試的實證比較
所有實驗均使用相同的 ReAct 程式碼代理基準與相同的任務拆分(AppWorld test_normal,168 個任務)。結果為單次運行(single-run)的 pass@1 分數。
| 模型 | 系統 | TGC ↑ | SGC ↑ | 每任務 Token 數 |
|---|---|---|---|---|
| DeepSeek‑V3.2 | ACE | 80.4 / 73.2 | 634 K | |
| ALTK‑Evolve | 89.3 / 80.4 | 263 K | ||
| gpt‑oss‑120b | ACE | 54.8 / 35.7 | 777 K | |
| ALTK‑Evolve | 56.0 / 37.5 | 116 K |
在較強的模型 (gpt‑oss‑120b) 上,ALTK‑Evolve 在僅使用 ACE 約 15% Token 預算的情況下達到了更高的 TGC。在較弱的模型 (DeepSeek‑V3.2) 上,它以約 40% 的 Token 成本達到了與 ACE 相同的準確度。
基於難度的細分
DeepSeek‑V3.2 (圖 1 右側面板)
- ALTK‑Evolve 在簡單 (Easy)、困難 (Hard) 和總體 (Overall) 表現上勝出。
- ACE 在中等 (Medium) 難度上略微領先。
gpt‑oss‑120b (圖 1 左側面板)
- ACE 在簡單與中等難度上領先,因為完整的 playbook 有助於強大模型執行通用指令。
- ALTK‑Evolve 在困難任務中佔據主導地位,在這些任務中,選擇正確的經驗比單純的數據量更重要,這種優勢提升了總體評分。
該圖說明了選擇性檢索有利於較難的任務,而完整的 playbook 對於較簡單、更通用的子任務可能更有利。
為何交付方式至關重要
Token 的差異完全源於交付階段。ACE 固定大小的注入迫使模型在每一步都處理整個 playbook,無論模型的上下文容量如何,都會膨脹提示詞長度。ALTK‑Evolve 的自適應檢索將提示詞縮減至模型實際能關注的範圍,在不犧牲(有時甚至能提升)性能的情況下降低了推論成本。
請嘗試 ALTK‑Evolve library 以使用提取、整合與檢索流水線,或閱讀 完整技術報告 以了解詳細的消融實驗。
相關資源與參考資料
- ALTK‑Evolve 介紹 – https://huggingface.co/blog/ibm-research/altk-evolve
- ACE (Agentic Context Engineering) – https://arxiv.org/abs/2510.04618
- AppWorld 基準測試 – https://appworld.dev/appworld
- ALTK‑Evolve 程式碼 – https://github.com/AgentToolkit/altk-evolve
- 完整技術報告 – https://arxiv.org/abs/2603.10600
方法論細節
- 基準測試: AppWorld
test_normal,涵蓋九個模擬應用程式的 168 個多步驟任務。 - 代理: ReAct 程式碼代理(Python 生成步驟,環境回傳輸出)。
- 指標: TGC (Task Goal Completion) 與 SGC (Scenario Goal Completion)。Token 依每個任務計算,包含所有提示詞內容。
- 記憶來源: 僅從訓練/開發集挖掘經驗;無人工標籤。
- 基準線差異: 兩個系統之間的 ReAct 提示詞模板不同,導致略有不同的無記憶基準線 (72.0 vs 79.8 TGC)。比較重點在於加入記憶後的相對增益,而非絕對基準線差距。
參考表格
DeepSeek‑V3.2 – test_normal
| 系統 | 指南數量 | TGC | SGC | 每任務 Token 數 |
|---|---|---|---|---|
| ReAct, 無記憶 | 0 | 79.8 | 64.3 | 148 K |
| ReAct + ACE | 106 | 80.4 | 73.2 | 634 K |
| ReAct + ALTK‑Evolve | 191 | 89.3 | 80.4 | 263 K |
gpt‑oss‑120b – test_normal
| 系統 | 指南數量 | TGC | SGC | 每任務 Token 數 |
|---|---|---|---|---|
| ReAct, 無記憶 | 0 | 39.9 | 21.4 | 110 K |
| ReAct + ACE (完整) | full | 54.8 | 35.7 | 777 K |
| ReAct + ALTK‑Evolve (選取) | ~29 | 56.0 | 37.5 | 116 K |
gpt‑oss‑120b – 難度細分 (TGC)
| 難度 | 基準線 | ACE | ALTK‑Evolve |
|---|---|---|---|
| 簡單 | 66.7 | 84.2 | 82.5 |
| 中等 | 35.4 | 60.4 | 56.2 |
| 困難 | 19.1 | 23.8 | 31.8 |
| 總計 | 39.9 | 54.8 | 56.0 |
總結
ACE 與 ALTK‑Evolve 都證明了代理記憶(agentic memory)——將代理自身的經驗轉化為可重複使用的經驗——可以在不進行任何權重更新的情況下,提升多步驟任務的表現。實際部署的決定性因素在於這些經驗是如何交付的:一個經過校準、具備任務感知能力的檢索策略 (ALTK‑Evolve) 可以在大幅削減推論 Token 消耗的同時,保持甚至提升準確度。
Sources
相關
- Dispatch
- Dispatch
- 專案
- Dispatch