Agent KB:讓Agent越用越聰明!
這個工作講的是如何沉淀Agent過去的執行經驗,讓Agent性能越來越好。

- 論文:https://arxiv.org/pdf/2507.06229
- 代碼:https://github.com/OPPO-PersonalAI/Agent-KB
先看結果,提升很大。 分別在GAIA、SWE 上驗證了。

內容蠻簡單,但是細節很多。
沉淀Agent過去的執行經驗。 那首先得有個經驗庫把,經驗庫怎么構造,怎么召回。
有了經驗庫,他們又折騰了一個Multi-Agent的系統。然后每個Agent里邊又有一個Reason-Retrieve-Refine的流程。
對應到下左圖,構建經驗庫,右圖如何解決問題。

他們避開了Multi-Agent這個詞,用teacher 、 student 代替了。 teacher Agent、Student Agent 分別什么意思呢? 就類似于學生寫作業,老師評改作業,改完學生在修正這么個步驟。

Reason-Retrieve-Refine 這3個詞就是字面意思。
雖然又是teacher Agent又是Student Agent,然后還 Reason-Retrieve-Refine 。但是其實挺workflow的(測試了很多,實驗出這么個pipeline)。 原文有個消融實驗,證明了每個部分都有必要。

那到底要怎么去沉淀經驗庫呢?論文附錄有很長的一節講這個東西。

構造過程是一個結合了人工經驗和自動化生成的流程:
第一階段:人工制作高質量的“種子經驗”
- 團隊組建: 招募了三名熟悉GAIA基準和Agentic工作流的計算機專業的學生 。
- 日志分析: 他們審查了Agent在GAIA任務中成功和失敗的日志,總結出高效的、符合邏輯的行動序列和通用模式 。
- 編寫范例: 將這些成功的策略和對失敗的反思,手動編寫成高質量、標準化的自然語言指令式提示(Prompt) 。
- 測試和篩選: 通過測試,最終篩選出表現最好的80個手寫經驗作為種子。
第二階段:利用“種子經驗”進行自動化擴展
- Few-shot 學習: 使用第一階段產出的高質量“種子經驗”作為范例(Few-shot Examples),去提示大語言模型 。
- 批量生成: 讓大模型為來自多個不同數據集的大量新任務,自動生成格式統一的經驗條目 。

數據來源:
為GAIA構造的經驗庫,經驗來源于四個數據集:BrowseComp、HopRAG、HLE (text-based subset) 和 WebWalkerQA 。
為SWE-bench構造的知識庫,經驗則來源于三個數據集:RepoClassBench、SWE-Gym-Raw 和 RepoEval 。
經驗庫格式長什么樣子? 論文有個例子,翻譯了一下,放在下邊。
{
"question": "有一個獲得多項格萊美獎的知名人物……",
"true_answer": "St. John’s Health Center(圣約翰健康中心)",
"agent_planning": "1. 解析問題,提取所有關鍵約束條件:獲得多項格萊美獎,第一張專輯發行于1969年之前,有藥物依賴問題,20歲前被學校開除,第一位人生伴侶于1997年去世,曾作為軍裝人員服役,確定死亡地點/醫院。\n2. 概念性規劃:\n- 確定所有符合以上條件的藝人候選人。\n- 對每位候選人:\n a) 驗證首張專輯發行時間(1969年之前)\n b) 檢查格萊美獲獎歷史\n c) 檢索傳記資料,確認藥物依賴與教育背景\n d) 確認伴侶去世年份和軍裝服役信息\n e) 鎖定匹配人物的死亡日期和具體地點/醫院。",
"search_agent_planning": "1. 從代碼代理處獲得精確的人物身份,或利用傳記線索進行三角定位。\n2. 制定搜索查詢,確認人物身份及其具體去世醫院。\n3. 優先查找官方傳記、權威新聞媒體、格萊美官方記錄。\n4. 交叉核查關鍵信息點,確保人物匹配。\n5. 從訃告中提取死亡地點和醫院信息。",
"agent_experience": [
"將復雜多條件問題拆分為小型約束檢查",
"明確記錄并多渠道驗證傳記約束條件",
"優先選用高可靠性傳記和獎項數據來源",
"在早期將具體子查詢委托給搜索代理",
"通過依次回鏈所有事實,最終驗證答案"
],
"search_agent_experience": [
"將復雜查詢分解為連續的搜索細化步驟",
"為模糊身份設計高度具體的檢索關鍵詞",
"優先使用權威信息源而非娛樂/八卦內容",
"從多方獨立來源交叉驗證信息",
"直接引用和明確來源,規范化結果格式"
]
}本文轉載自??NLP前沿??,作者:NLP前沿

















