Transformers Agents 2.0 release notes / what's new

Hugging Face 發佈了 Transformers Agents 2.0,這是一個模組化框架,可讓大型語言模型 (LLMs) 使用工具並根據過去的觀察進行迭代,以解決複雜的任務。此次更新引入了具備多步推理能力的新型代理 (agent) 類型,這使得一個開源的 Llama-3-70B-Instruct 代理在 GAIA 排行榜上超越了數個基於 GPT-4 的代理。

Core Design Philosophy

Transformers Agents 2.0 建立在兩個主要的設計目標之上:清晰度與模組化。該框架將抽象化程度降至最低,以確保錯誤日誌和屬性保持透明且易於檢查。它在概念上將代理系統 (the vehicle) 與 LLM 引擎 (the power source) 分開,允許用戶使用任何底層的 LLM 來創建任何類型的代理。

Key Framework Elements

  • Tool: 一個用於實現特定動作的類別。它由一個可調用的 forward 方法和包括 name, descriptions, inputs, 以及 output_type 的屬性組成,這些屬性用於為 LLM 的提示詞 (prompt) 動態生成使用手冊。
  • Toolbox: 一組預先實例化的工具,提供給代理,以避免在代理設置期間重新初始化工具的開銷。
  • CodeAgent: 一個基礎代理,它將動作生成為單個 Python 代碼塊,而沒有迭代先前觀察結果的能力。
  • ReactAgent: 遵循 "Thought → Action → Observation" 循環的代理。這有兩種變體:ReactCodeAgent (生成 Python blobs) 和 ReactJsonAgent (生成 JSON blobs)。

Agent Workflows and Execution

代理透過以下特定流程運作:在提示詞中提供工具使用資訊,從 LLM 輸出中解析工具調用 (via code or JSON),執行這些調用,並為迭代型代理維護先前工具調用和觀察結果的記憶,從而讓 LLM 能夠利用工具。

Self-Correcting Retrieval-Augmented Generation (RAG)

Transformers Agents 2.0 可用於構建自我修正的 RAG 系統。透過為代理提供一個接受動態參數(例如特定的知識庫來源)的檢索工具 (retriever tool),代理可以根據觀察結果調整其搜索策略。例如,如果受限的搜索返回了沒有文件,一個 ReactJsonAgent 可以自動決定擴展搜索範圍至所有來源以尋找所需的資訊。

Multi-Agent Orchestration for Web Browsing

複雜的任務可以透過將專業化的代理作為工具提供給更高層級的代理來解決。Hugging Face 展示了這一點,透過創建一個專業的 "web surfer" 代理(由 Cohere 的 Command-R+ 提供動力)來處理網頁導航的複雜性。這個 web surfer 隨後被封裝在一個 SearchTool 中,並提供給一個主要的任務解決代理(由 Llama-3-70B-Instruct 提供動力),從而讓高層級代理可以委派任務給專家,同時專注於細節的最終推理與計算。

Performance and Benchmarking

LLM Engine Comparison

使用 agents_reasoning_benchmark(它在 HotpotQA, GSM8K, 和 GAIA 数据集上使用計算器和基礎搜索工具),Hugging Face 比較了幾個引擎:

  • Llama-3-70B-Instruct: 表現與 GPT-4 Turbo 持平,並在開源模型中領先。由於其強大的編碼能力,它在 ReactCodeAgent 中表現尤為強大。
  • Mixtral-8x7B: 在基於 Code 的代理中,表現不如基於 JSON 的代理,因為它更頻繁地失敗於生成有效的代碼。

GAIA Leaderboard Results

為了應對全量 GAIA benchmark,Hugging Face 實現了一個使用 ReactCodeAgent 並由 Llama-3-70B-Instruct 提供動力的多模態代理。該代理配備了一個工具箱,包括 SearchTool (web browser), TextInspectorTool (document reader), SpeechToTextTool (使用 distil-whisper), 以及 VisualQATool (使用 Idefics2-8b-chatty)。

此配置在 GAIA 排行榜上獲得了第四名,超越了許多基於 GPT-4 的代理,並確立了其作為開源類別中的頂尖競爭者地位。

Future Roadmap

Hugging Face 計劃透過以下發展來擴展該框架:

  • 透過 Hub 進行完整代理的推送與加載(擴展到目前的工具共享)。
  • 增強圖像處理工具。
  • 高級長效記憶管理。
  • 改善多代理協作能力。

*Note: transformers.agents 已升級為名為 smolagents 的獨立庫。

Sources

相關

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch