AI Agent落地必讀:深度解讀OpenAI 姚順雨 的T-bench,如何評測智能體的“真功夫”
大家好,我是HxShine,今天繼續來分享OpenAI 姚順雨 的一篇文章,這篇文章探討了Agent實際落地時該如何評測,他在the second half里面也提了這篇文章,是Agent真正落地到客服等領域必須要進行的一些評測工作,推薦給大家~
論文名字是Title: T-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains(T-bench:一個用于真實世界領域中工具-智能體-用戶交互的基準測試)。
現有基準大多不測試智能體與人類用戶的動態交互能力,也忽略了其遵循特定領域規則的能力,而這兩點對于智能體在真實世界中的應用至關重要。T-bench 通過模擬用戶與語言智能體之間的動態對話來解決這些問題。在這個環境中,智能體需要使用領域特定的API工具和遵循政策指南來完成任務。該方法的核心亮點包括:
1.高仿真交互:利用大型語言模型(LLM)來模擬真實人類用戶,使得對話流程更加動態和真實,能夠有效測試智能體的應變和信息收集能力。
2.強調規則遵循:智能體必須根據提供的“領域政策”文件來行動,這直接考驗了模型在復雜約束下的推理和決策能力。
3.客觀且高效的評估:通過比較任務結束時數據庫的最終狀態與預設的“目標狀態”,實現對智能體決策能力的客觀評估,避免了主觀判斷。
4.全新的可靠性度量:提出了一個新的度量標準 ??pass^k??,用于評估智能體在多次獨立試驗中持續成功完成同一任務的可靠性,這對于衡量商業應用的穩定性至關重要。
實驗結果表明,即便是像GPT-4o這樣的頂尖模型,在T-bench上的任務成功率也不足50%,并且在多次測試中表現出顯著的不一致性,這揭示了當前智能體技術在可靠性和規則遵循方面仍有巨大的提升空間。
一、概述
?Title: T-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains
?URL:?? https://arxiv.org/abs/2406.12045??
?Authors: Shunyu Yao, Noah Shinn, Pedram Razavi, Karthik Narasimhan
?Institution: Sierra
?Code:?? https://github.com/sierra-research/tau-bench??
1.Motivation
?現有基準過于簡單,脫離實際(缺乏環境交互,人類多輪交互):當前的語言智能體基準大多是簡化的指令遵循任務,智能體在獲得所有信息后自主與環境交互,缺乏與人類用戶的動態、多輪互動。
?現有基準與真實世界應用不太match:在現實世界(如客服、預訂系統)中,智能體必須能夠(1)通過與用戶的持續對話逐步收集信息;(2)嚴格遵守復雜的領域特定政策和規則;(3)在大量交互中保持行為的一致性和可靠性。現有基準未能有效評估這些能力。
?現有評測方法缺乏對智能體可靠性的衡量:一次性的成功并不意味著智能體可以被可靠地部署。需要有方法來評估智能體在面對對話中的微小變化時,是否能穩定地達成相同的結果。
2.Methods
T-bench 的核心思想是創建一個模塊化的評估框架,該框架包含三大核心組件:一個由LLM驅動的用戶模擬器,一套領域特定的API工具和數據庫,以及一份智能體必須遵守的領域政策文檔。智能體的任務是在這個環境中,通過與模擬用戶的對話和調用API工具,最終達成用戶的目標,同時確保所有操作都符合政策規定。評估過程是自動化的,通過檢查任務結束時數據庫的狀態是否與標準答案一致來判定成功與否。

?航空領域軌跡示例說明: 右側圖展示了一個具體的交互案例。用戶想要“更改航班”,智能體首先調用??get_reservation_details?? 工具查詢后發現,該機票是“basic_economy”(基礎經濟艙),根據政策無法更改。于是,智能體向用戶解釋了這一點,并提出了一個符合政策的替代方案:“因為還在24小時內,我可以為您取消并重新預訂”。這個例子生動地說明了T-bench如何測試智能體在與用戶交互中理解并應用復雜規則的能力。
Q1: 用戶模擬器是什么意思,是會主動模擬用戶提問,來測試agent的能力和效果嗎?他的魯棒性,穩定性如何?
答:是的,用戶模擬器會主動來請求agent,所以會有一定的波動。
Q2: 待評測的Agent平臺能看到instruction指令嗎?
答:不能,instruction讓user模擬器按照指令來模擬提問,從而測試agent的能力。

詳細方法和步驟:
1.模塊化環境構建:T-bench 的每個領域(如論文中實現的 ??τ-retail??? 零售和 ??τ-airline?? 航空)都由三個部分構成:
?數據庫和API:使用JSON格式構建貼近真實世界的數據庫(如用戶、產品、訂單),并提供Python實現的API工具供智能體進行讀寫操作。
?領域政策:一份Markdown格式的文檔,詳細說明了智能體在該領域內必須遵守的規則(例如,某種類型的機票不能改簽,退貨需要用戶確認等)。這份文檔會作為系統提示(System Prompt)的一部分輸入給智能體。
?用戶模擬器:使用一個大型語言模型(如GPT-4)來扮演用戶。該模擬器根據一個隱藏的、預設的任務指令(包含用戶身份、意圖和偏好)與智能體進行自然的對話。由于語言模型的生成具有隨機性,即使任務指令完全相同,每次對話的過程也可能不同,這為測試智能體的魯棒性提供了基礎。
2.任務實例設計:每個任務實例都包含一個給用戶模擬器的指令和一份“標準答案”。這個指令被精心設計,以確保在遵守領域政策的前提下,只有一個唯一正確的最終數據庫狀態。這使得評估可以客觀進行。
3.評估機制:
?獎勵計算:一個任務是否成功,取決于兩個條件:(1)最終的數據庫狀態是否與標準答案完全一致;(2)智能體在對話中是否向用戶提供了所有必要的信息。
?pass^k 可靠性度量:為了衡量智能體的一致性,論文提出了??pass^k??? 指標。它定義為“在對同一個任務進行 k 次獨立的隨機試驗后,所有 k 次試驗全部成功的概率”。這與傳統的??pass@k???(k次試驗中至少有1次成功)不同,??pass^k?? 更能反映智能體在實際部署中的可靠程度。
4.基準構建流程:作者們采用了一個三階段流程來創建T-bench的數據和任務:
?階段一:手動設計:手動設計數據庫結構、API功能和領域政策,確保邏輯自洽且具有一定的真實性。

?階段二:自動數據生成:利用LLM輔助生成大量的數據庫條目(如用戶信息、航班數據等),再進行少量人工修正。

?階段三:手動任務標注與驗證:手動編寫初始的用戶指令,然后通過GPT-4智能體進行試運行,反復迭代和修正指令,直到確保任務解的唯一性,最終形成高質量的測試任務。
通過這個框架,T-bench能夠在一個動態、受控且可重復的環境中,對智能體的對話能力、工具使用、規則遵循和行為一致性進行全面的評估。
3.Conclusion
?頂尖模型仍有巨大差距:即使是當前最先進的GPT-4o模型,在T-bench上也表現不佳,零售領域的成功率約為61%,而在規則更復雜的航空領域成功率僅為35.2%。這表明在復雜的真實場景中,當前模型的能力還遠遠不夠。

?智能體行為缺乏一致性:??pass^k??? 指標的測試結果顯示,隨著測試次數 k 的增加,智能體持續成功的概率急劇下降。例如,在零售領域,GPT-4o的單次成功率超過60%,但連續成功8次的概率??pass^8?? 下降到不足25%。這說明模型在處理對話中的細微變化時非常脆弱。
?失敗的主要原因被識別:通過對失敗案例的分析,論文指出了當前智能體失敗的三個主要原因:(1.)復雜的數據庫推理失敗(如提供了錯誤的參數或信息);(2.)錯誤的決策(未能理解或遵循領域規則);(3.)未能完整解決復合請求(用戶提出多個需求時,只解決了部分)。

4.Limitation
?用戶模擬器的局限性:由LLM模擬的用戶雖然動態,但仍有其局限性。例如,模擬器可能無法完全理解領域知識,或者其自身的推理和記憶能力有限,這與真實用戶的多樣性和復雜性仍有差距。
?任務創建中的潛在偏見:由于在任務創建過程中使用了GPT-4智能體來迭代和驗證用戶指令,這可能會無形中引入偏向于GPT-4模型“思維方式”的偏見。
?評估指標的局限性:雖然基于數據庫狀態的評估是客觀的,但它可能無法捕捉到交互質量的所有方面(例如,智能體的禮貌程度、解釋清晰度等)。一個任務成功(reward=1)是智能體表現良好的必要條件,但可能不是充分條件。
三、總結

本文轉載自??NLP PaperWeekly??,作者:NLP PaperWeekly

















