Toolathlon-GYM: 面向工具使用代理的大規模長時程環境
503 個多工具任務,由本地 PostgreSQL 資料庫支援 — 無需外部 API

訓練和評估 LLM 代理在真實世界中的工具使用能力並不容易。現有大多數資料集要麼工具覆蓋面過窄,要麼規模太小,要麼依賴會隨時間變化的即時外部 API。我們推出 Toolathlon-GYM,一個大規模、自包含的環境,包含 503 個任務、25 個 MCP 伺服器,以及一個豐富的模擬資料庫。它完全在本地運行,評估時無需任何外部 API 呼叫。
Toolathlon-GYM 建立並延伸自 HKUST-NLP 的 Toolathlon 基礎架構。任務格式、評估框架、MCP 伺服器介面,以及資料庫 schema 設計都源自 Toolathlon 專案。這個資料集採用相同格式並擴大規模,生成了一個大得多、更多樣化的任務池,用於訓練與評估。每個任務都要求代理完成一個端到端目標,例如從模擬企業資料庫提取資料、製作試算表報告、安排日曆事件,以及發送摘要電郵,並使用一組固定的 MCP(Model Context Protocol)伺服器作為工具。
每個任務都完全自動化:preprocess/main.py 腳本會在執行前設定初始工作空間狀態,代理使用提供的工具執行任務,而 evaluation/main.py 腳本則會將輸出與參考 groundtruth 進行比對。整個過程不涉及人工評分者或即時外部服務。
這個資料集旨在壓力測試在實務中重要的代理能力:跨異質工具的多步規劃、讀寫結構化檔案格式、跨系統資料同步,以及在固定步數預算下完成長時程任務。我們亦提供一個使用 CAMEL-AI 框架構建的示例代理,用於在 Toolathlon-GYM 環境中執行。
任務結構
全部 503 個任務都位於 tasks/finalpool/。每個任務目錄都遵循一致的結構:
<task-name>/
├── task_config.json # 代理可使用哪些 MCP 伺服器
├── docs/
│ ├── task.md # 顯示給代理的任務描述
│ └── agent_system_prompt.md
├── evaluation/main.py # 自動化評估器
├── preprocess/main.py # 資料庫狀態設定(每個任務前自動執行)
├── initial_workspace/ # 預先載入代理工作空間的輸入檔案
└── groundtruth_workspace/ # 用於評估的參考輸出
任務描述(task.md)不會直接寫出工具或服務品牌名稱 — 像 "Notion"、"Google Calendar" 或 "Canvas" 這類工具會以更通用的描述遮蔽,例如 "knowledge base"、"shared calendar" 或 "learning management system"。這與原始 Toolathlon 專案採用的遮蔽慣例相同,可防止代理依靠關鍵字辨識走捷徑,並鼓勵真正的工具使用推理。
模擬資料庫
Connection: toolathlon_gym @ localhost:5432 (user: eigent, password: camel)
所有資料都由本地 PostgreSQL 資料庫提供,並從壓縮轉存檔(db/init.sql.gz,8.2 MB)初始化。執行時不會發出任何外部 API 呼叫。這使環境完全可控,並避免 API 速率限制、schema 變更或資料漂移等問題。
資料來源來自真實世界資料或基於真實世界資料模擬而成:用於學習管理系統資料的 Kaggle OULAD(Open University Learning Analytics Dataset)、用於企業人力資源資料的 Kaggle HR Analytics、用於金融資料的 Yahoo Finance API,以及結合 Kaggle Amazon product datasets 與 DummyJSON 的電商資料。
資料豐富的 schemas
| MCP 資料庫 | 說明 | 規模 |
|---|---|---|
| canvas | 學習管理系統 — 課程、使用者、註冊、作業、提交、測驗、評分標準、公告 | 22 門課、28,865 名使用者、32,663 筆註冊、206 項作業、173,912 份提交、77 個測驗 |
| snowflake | 企業資料倉儲 — 人力資源分析、銷售,以及客服中心領域 | 50,000 名員工、20,000 筆銷售訂單、31,588 張支援工單 |
| woocommerce | 電商 — 產品、訂單、客戶、優惠券、評價、送貨區域、稅率 | 82 個產品、150 筆訂單、50 位客戶、396 則評價 |
| yahoo_finance | 股票市場 — 股價、財務報表、新聞、期權、持有人 | 50 個 ticker、3,510 筆價格紀錄 |
| youtube | 影片平台 — 頻道、播放清單、影片、逐字稿 | 3 個頻道、2 個播放清單、135 支影片 |
| train | 鐵路系統 — 車站、列車、路線、座位 | 8 班列車、16 條路線 |
資料集統計
總計:503 個任務
MCP 數量分布
任務涵蓋 4 到 8 個 MCP 伺服器,大多數任務需要 4–7 個工具。更高的 MCP 數量代表需要更強的跨系統協調能力:代理必須在單一任務中編排更多異質工具、規劃更長的操作序列,並處理更複雜的跨服務資料流:
| 每個任務的 MCP 數 | 任務數量 |
|---|---|
| 4 | 123 |
| 5 | 133 |
| 6 | 105 |
| 7 | 126 |
| 8 | 16 |
以下是各層級的代表性例子,展示任務複雜度與協調需求如何隨 MCP 數量增加而上升。(由於原文過長,此處只展示任務摘要。)
4 MCPs — wc-customer-retention-email (woocommerce, excel, emails, filesystem)
識別網店中總消費金額最高的 10 位客戶。建立一份名為
VIP_Customer_Report.xlsx的 Excel 試算表,欄位包括 Rank、Name、Email、Orders_Count 和 Total_Spent,並按總消費由高至低排序。然後從vip-program@store.example.com向這 10 位客戶逐一發送個人化感謝電郵,以名字稱呼他們,並提及其總消費金額。
5 MCPs — 12306-beijing-shanghai-trip-notion-gcal-word (rail_12306, notion, google_calendar, word, emails)
規劃一個北京與上海之間的即日來回行程。查詢 2026 年 3 月 10 日雙向可用的高鐵班次,並根據時間安排選出最合適的去程與回程列車。把行程詳情記錄到團隊知識庫,建立一份包含三個部分(Outbound Journey、Return Journey、Booking Summary)的
Travel_Plan.docx,新增兩個涵蓋旅程時間的日曆事件,並向travel@consulting.com發送確認電郵。
6 MCPs — arxiv-conference-prep (scholarly, arxiv-latex, pptx, google_calendar, emails, filesystem)
為 RLHF Summit 2026 會議作準備。搜尋至少 5 篇有關 human feedback 強化學習的論文,然後閱讀其完整 LaTeX 原始碼以擷取方法細節。建立一份 PowerPoint 簡報,包含標題頁、RLHF 領域概覽、每篇論文一頁,以及綜合總結頁。為 2026 年 4 月 10 日的會議新增一個日曆事件,並把準備資料以電郵寄給協作者。
7 MCPs — arxiv-research-pipeline-notion-excel (scholarly, arxiv_local, terminal, excel, notion, filesystem)
建立一個關於大型語言模型的研究知識庫。搜尋有關 LLM、prompt engineering 和 in-context learning 的論文。使用 terminal 執行一個綜合腳本,讀取論文中繼資料與內容,計算相關性分數,並輸出結構化 JSON 摘要。建立一個包含三個工作表(Paper_Catalog、Method_Comparison、Research_Gaps)的 Excel 檔案,以及一個標題為 "LLM Research Hub" 的 Notion 頁面,內含研究儀表板,涵蓋領域概覽、方法比較與已識別的缺口。
8 MCPs — arxiv-research-workflow-pipeline (scholarly, arxiv_latex, terminal, word, google_calendar, emails, pdf-tools, filesystem)
建立一條文獻回顧流程:先搜尋近期有關 neural network architectures 的論文並下載其 PDF。解析這些論文的 LaTeX 原始碼,以擷取關鍵數學表述,並將其整理成結構化格式。根據收集到的材料,建立一份帶有正確學術引用的分類書目。接著產出一份 2,000 字的研究摘要,綜合主要趨勢、指出研究缺口,並概述未來潛在方向。最後,安排一次團隊審閱會議,發送附有摘要文件的日曆邀請,並把所有工作檔案儲存在集中位置,以便協作與日後參考。
MCP 伺服器覆蓋範圍
資料集共提供 25 個 MCP 伺服器,涵蓋檔案輸入/輸出、資料倉儲、辦公生產力工具、網頁互動,以及特定領域 API。下表顯示各伺服器被納入多少個任務,可了解哪些工具類別在環境中最常出現:

使用最頻繁的伺服器反映了這些任務偏重輸出的特性。filesystem 幾乎出現在每個任務中,作為代理讀取輸入檔案與寫入結果的工作空間。excel 和 emails 是最常見的兩個輸出渠道 — 大多數任務至少會產出一份結構化試算表並發送一則摘要訊息。terminal 則要求代理撰寫並執行程式碼腳本,用於資料轉換或統計分析,這些工作無法單靠其他工具完成。
snowflake 是企業工作流任務的主要資料來源,涵蓋三個領域:人力資源分析(50,000 名員工、薪酬、績效評分與任期資料)、銷售(跨地區與客戶分群的 20,000 筆訂單),以及客戶支援(31,588 張含 SLA 與解決資訊的工單)。任務通常會查詢一至兩個領域、計算彙總值或標示離群點,然後把結果寫入 Excel 或 Word。canvas 則同樣是 LMS 任務的核心,代理會從 22 門課與 173,912 份提交的資料集中,依課程篩選提交、計算成績分布,或找出有風險的學生。
playwright_with_chunk 和 fetch 都會從模擬本地伺服器擷取資料 — playwright 任務會爬取 HTML 頁面(例如競爭對手個人檔案或產品列表),而 fetch 任務則會呼叫 REST API 端點(例如產業薪酬資料集或庫存預測),再把結果與資料倉儲記錄串接。google_forms 任務更進一步:代理會以程式化方式建立結構化問卷,接著查詢訂單或註冊資料以找出合適的收件人,並發送個人化邀請。
howtocook 提供食譜與營養資料庫,用於餐飲、餐點規劃及營養分析任務。pdf-tools 既可作為讀取器(輸入提供的參考 PDF),也可作為寫入器(輸出格式化報告)。memory 讓多輪研究任務得以進行,代理必須在多次迭代中追蹤搜尋進度,並避免重複查詢已經取得的資料。youtube-transcript 會擷取影片錄音中的原始逐字稿文字,然後由代理進一步處理為結構化文件或問卷。
初始工作空間檔案類型
任務開始時提供給代理的初始工作空間檔案類型共涵蓋 11 種不同格式,囊括代理在真實企業工作流程中可能遇到的各類文件。其分布反映了真實的任務組成:Markdown 簡報與 PDF 參考文件最常見,其次是 JSON 與 Excel 等結構化資料格式,代理必須讀取、轉換並寫回:

以下是初始工作空間中最具代表性的檔案類型概覽:
Markdown (.md) 檔最常見,作為任務簡報、操作指南與規劃模板 — 例如 travel_guide.md(鐵路訂票任務的公司差旅政策)、analysis_methodology.md(銷售分析的統計方法),或 Research_Scope.md(文獻回顧的主題範圍)。
PDF (.pdf) 檔是代理在採取行動前必須解析的參考文件 — 如薪酬政策、投資組合指引、評量規準或稽核程序,其內容會直接決定正確輸出。JSON (.json) 檔包含參數化設定:旅程設定、篩選閾值、稽核準則、預算上限與團隊名單,讓任務可以在不改變任務描述的情況下變化。
Excel (.xlsx) 輸入則是預先填好的模板,附有預定欄位標題,代理必須補齊內容(例如 paper_notes_template.xlsx、approved_budget.xlsx)。CSV (.csv) 檔提供表格式參考資料,讓代理可與資料庫結果進行比對與串接 — 產業薪酬資料集、投資組合持倉、教師名錄或供應商聯絡清單。Text (.txt) 檔則提供輕量級的結構化內容:待下載的論文 ID 清單、電郵正文模板、季度銷售目標或升級處理政策規則。
Python (.py) 腳本是代理透過 terminal 完成並執行的起始模板,用來測試其讀懂既有程式碼、推斷意圖,並將腳本輸出整合到更大型工作流程中的能力。較少見的格式各自扮演特定角色:.pptx 輸入是現有簡報,代理是在此基礎上延伸而非從零建立;.docx 輸入是含有預設標題的文件骨架,供代理填入內容;唯一的 .bib 檔是種子書目,代理會以新發現的論文加以擴充;而唯一的 .gz 壓縮檔則必須先用 terminal 解壓,才能使用其中內容。
Toolathlon-GYM 的不同之處
規模與多樣性
Toolathlon-GYM 擁有 503 個任務、25 個 MCP 伺服器與 6 個資料領域,規模明顯大於此領域早期資料集,且工具多樣性也更高。這些任務的設計目標是要求真正的跨系統協調,而非單一工具查詢。
完全本地化且可重現
整個環境由單一 Docker Compose 檔案執行。評估時不需要任何資料服務的 API keys。PostgreSQL 轉存檔已版本化且具決定性,因此不同機器與不同時間點的結果都能重現。
真實的任務複雜度
這些任務來自真實企業工作流程模式:從人力資源資料庫拉取資料以產生薪酬分析試算表、將 Learning Management System 的提交記錄與日曆截止日期交叉比對、根據爬取的網頁資料生成簡報,以及類似的多步驟目標。大多數任務都需要 4–7 種工具才能正確完成。
致謝
Toolathlon-GYM 建立在以下項目的基礎架構與原始資料管線之上:
Toolathlon: Benchmarking LLM Agents on Real-World Tool-Use Tasks HKUST-NLP https://github.com/hkust-nlp/Toolathlon
模擬資料庫 schema 設計、MCP 伺服器介面,以及任務評估框架均源自 Toolathlon 專案。這個資料集在原始基礎上加入了額外任務與更大規模的模擬資料。
引用
如果您在研究中使用 Toolathlon-GYM,請引用:
@misc{toolathlon-gym,
author = {Puzhen Zhang and Weijie Bai and Wendong Fan and Guohao Li},
title = {{Toolathlon-GYM: Large-Scale Long-Horizon Environments for Tool-Use Agents}},
year = {2026},
url = {https://github.com/eigent-ai/toolathlon_gym}
}
聯絡
如欲聯絡我們,請發送電郵至 info@eigent.ai
Recent Posts

Qwen3.8-Max:阿里巴巴的 2.4T 開放權重編程模型
Qwen3.8-Max 是阿里巴巴面向編程及代理工作的 2.4T 參數開放權重模型。了解規格、定價、已確認資料及值得留意的後續發展。

Thinking Machines Inkling-Small:一個超越其更大兄弟的 276B 模型
Thinking Machines Lab 的 Inkling-Small 是一個 276B 開放權重 MoE,以四分之一的規模媲美 Inkling。規格、基準測試、定價及其重要性。

Augment Code 替代方案
從目前定價、共享用量、上下文品質、原始碼存取、自行託管部署、安全性與團隊適配度,比較大型程式碼庫的 Augment Code 替代方案。