【Code Agent Benchmark】論文分享No.15:TAU-Bench

論文名稱:τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains

論文:https://arxiv.org/abs/2406.12045

機構:Sierra

Github 鏈接:https://github.com/sierra-research/tau-bench#

簡介

相比于Swe-bench而言,大家可能對TAU-bench并不是很熟悉,但2月份Claude 3.7發布的時候,Anthropic官方就曾用過TAU-bench來展示Claude As Agent的效果,說明這個benchmark還是得到了官方的認可,值得介紹一下。

在這里插入圖片描述

TAU-bench是Sierra團隊推出的評估 AI Agent在復雜的現實任務中與用戶和工具交互的能力,主要是設計了兩個垂直領域的場景評測:

  • Retail(零售場景):構建模擬零售環境,含數據庫、API 工具和政策規則,讓Agent處理訂單、退換貨等任務,測試其遵循規則、信息處理和任務執行能力。

  • Airline(航空場景):創建航班數據庫、API 工具和復雜政策,Agent處理航班預訂等任務,評測其應對復雜規則和多跳推理的能力。

這兩個場景的任務都足夠復雜,其中會有Agent與用戶的多輪對話,也會有使用工具獲取信息、解決問題的環節,所以比較適合用來評估一個Agent運行所需要的推理、指令遵循、長下文理解、工具調用等能力。

為什么跟AI Coding強相關呢?因為這些任務所要用到的工具跟代碼強相關,算是一個AI Coding Agent近似實戰的測試環境。

數據構造

在這里插入圖片描述

TAU-Bench的數據構造采用模塊化方式,以零售場景的case為例,具體如下:

  • JSON數據庫:如圖2a,數據庫采用JSON格式,存儲任務相關數據,如訂單信息等,對Agent和用戶隱藏,Agent通過API工具間接訪問。

  • Python API工具:如圖2b,用Python實現,用于對數據庫進行讀、寫操作,其函數形式為tool_name(**kwargs),執行動作時數據庫狀態轉移是確定性的。

  • Markdown域策略:如圖2c,以Markdown格式描述,解釋域數據庫、任務流程和限制條件,部分限制在API中實現為檢查,部分需Agent根據策略遵循。

  • JSON任務實例:如圖2d,包含用于用戶模擬的指令和真實數據庫寫操作的注釋,指令設定用戶身份、意圖和偏好,保證在域策略下只有一個可能結果。

使用方法

在這里插入圖片描述

準備工作

確定測試場景(零售或航空等),明確對應領域的數據庫、API工具和政策規則 。將領域政策告知Agent,讓其知曉規則,并將用戶的指令給到Agent設定用戶身份、意圖等 。

交互過程

  • 用戶指令下達:模擬用戶向Agent提出任務指令,如在航空場景中更改最近的預訂航班目的地

  • Agent操作:Agent依據接收到的指令和領域政策,調用API工具與數據庫交互。例如在航空場景中,先調用get_reservation_details獲取預訂詳情,再根據規則判斷能否更改,如需取消則調用cancel_reservation

  • 多輪交互:過程中Agent與模擬用戶可能有多輪對話,確認需求、反饋操作情況等 。

結果評估

對話結束后,將數據庫最終狀態與標注的目標狀態對比 ,使用如pass^k等指標評估Agent行為的可靠性、一致性,判斷其任務完成情況 。

評價指標

pass^1

顧名思義,不贅述了。

pass^k

因為Agent真正使用時,比如讓它去訂機票、處理退換貨,如果執行失敗會讓人有很大的挫敗感,所以它的成功率穩定性很重要,這個benchmark定義了pass^k的指標,也就是對一個測試case連續執行k次,每次都成功,才能算任務成功。

總結

TAU-Bench 也是用來評估LLM As Agent的能力,并將其限定在了代碼->航空/零售領域,任務設計上比較接近生活中的實際問題,是一個比較不錯的benchmark。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81206.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81206.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81206.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux下 使用 SSH 完成 Git 綁定 GitHub

文章目錄 1、檢查 SSH2、生成 SSH key3、添加 SSH key4、驗證綁定是否成功 1、檢查 SSH Git Bash 中輸入ssh命令,查看本機是否安裝 SSH: 2、生成 SSH key (1)輸入 ssh-keygen -t rsa 命令,表示我們指定 RSA 算法生…

Java 8 Stream 流操作全解析

文章目錄 **一、Stream 流簡介****二、Stream 流核心操作****1. 創建 Stream****2. 中間操作&#xff08;Intermediate Operations&#xff09;****filter(Predicate<T>)&#xff1a;過濾數據****1. 簡單條件過濾****2. 多條件組合****3. 過濾對象集合****4. 過濾 null 值…

Java——設計模式(Design Pattern)

設計模式&#xff08;Design Pattern&#xff09;是軟件開發中針對常見問題的經典解決方案&#xff0c;由 GoF&#xff08;Gang of Four&#xff09;在《設計模式&#xff1a;可復用面向對象軟件的基礎》一書中歸納為23 種模式&#xff0c;分為三大類&#xff1a;創建型模式、結…

python語法學習

1.python的類的定義 class Memory_Manager: 2.__init__ 方法 __init__ 是類的構造方法&#xff0c;用于初始化類的實例。 self 是類實例的引用&#xff0c;用于訪問類的屬性和方法。 3.方法定義 類中的方法是類的功能實現&#xff0c;通過 def 定義。 4.if __name__ __ma…

如何屏蔽mac電腦更新提醒,禁止系統更新(最新有效方法)

每次打開Mac電腦時&#xff0c;頻繁的系統更新提醒可能會對我們的工作和使用體驗造成干擾。為了屏蔽這些更新提醒并禁止系統自動更新&#xff0c;我們可以通過修改Hosts文件來實現。以下是詳細步驟和方法&#xff0c;幫助你徹底屏蔽macOS的更新提醒。 系統關閉了自動更新也是…

windows10重裝ssh無法下載

問題 windows10重裝之后&#xff0c;ssh每次都是由于連接的是流量計數的網絡無法下載。 解決方法 https://www.cnblogs.com/zhg1016/p/17353348.html

解決 cursor 中不能進入 conda 虛擬環境

【問題】 遇到一個小問題&#xff0c;我創建的conda 環境在 cmd、powershell中都可以激活&#xff0c;但在pycharm、cursor中卻不能激活&#xff1f; 看圖 cmd中正常&#xff1a; cursor中不正常&#xff1a; 【解決方法】 cursor 中&#xff0c;打開終端&#xff0c;輸入&a…

跨平臺三維可視化與圖形庫.VTK圖形庫.

1. 科學數據可視化 體繪制&#xff08;Volume Rendering&#xff09; 用于醫學影像&#xff08;如CT、MRI&#xff09;、氣象數據&#xff08;如云層、流體模擬&#xff09;的三維渲染&#xff0c;支持透明度、光照和顏色映射。 等值面提取&#xff08;Iso-Surfacing&#xff…

【螢火工場GD32VW553-IOT開發板】ADC電壓的LabVIEW采集

【螢火工場GD32VW553-IOT開發板】ADC電壓的LabVIEW采集 &#x1f50b; 本文介紹了螢火工場 GD32VW553-IOT 開發板通過串口中斷查詢的方式采集 ADC 電壓及溫度轉換數據&#xff0c;并進一步結合LabVIEW上位機實現數據自動采集和實時監測的項目設計。 項目介紹 串口中斷查詢&a…

視頻監控管理平臺EasyCVR結合AI分析技術構建高空拋物智能監控系統,筑牢社區安全防護網

高空拋物嚴重威脅居民生命安全與公共秩序&#xff0c;傳統監管手段存在追責難、威懾弱等問題。本方案基于EasyCVR視頻監控與AI視頻分析技術&#xff08;智能分析網關&#xff09;&#xff0c;構建高空拋物智能監控系統&#xff0c;實現24小時實時監測、智能識別與精準預警&…

Python----循環神經網絡(LSTM:長短期記憶網絡)

一、RNN的長期依賴問題 可以看到序列越長累乘項項數越多&#xff0c;項數越多就可能會讓累乘結果越小&#xff0c;此時對于W 的更新就取決于第一項或者是前幾項&#xff0c;也就是RNN模型會丟失很多較遠時刻的信息而 更關注當前較近的幾個時刻的信息&#xff0c;即沒有很好的長…

【跨端框架檢測】使用adb logcat檢測Android APP使用的跨端框架方法總結

目錄 Weex 跨端框架使用了uni-app的情況區分使用了uni-app還是Weex 判斷使用了Xamarin判斷使用了KMM框架判斷使用了 ??Ionic 框架判斷使用了Cordova框架判斷使用了Capacitor 框架使用了React Native框架使用了QT框架使用了Cocos框架使用了Electron 框架使用了flutter 框架使用…

以加減法計算器為例,了解C++命名作用域與函數調用

************* C topic: 命名作用域與函數調用 ************* The concept is fully introducted in the last artical. Please refer to 抽象&#xff1a;C命名作用域與函數調用-CSDN博客 And lets make a calculator to review the basic structure in c. 1、全局函數 A…

AIGC小程序項目

一、文生文功能 &#xff08;1&#xff09;前端部分 使用 Pinia 狀態管理庫創建的聊天機器人消息存儲模塊&#xff0c;它實現了文生文&#xff08;文本生成文本&#xff09;的核心邏輯。 1.Pinia狀態管理 這個模塊管理兩個主要狀態&#xff1a; messages&#xff1a;存儲所…

Axios中POST、PUT、PATCH用法區別

在 Axios 中&#xff0c;POST、PUT 和 PATCH 是用于發送 HTTP 請求的三種不同方法&#xff0c;它們的核心區別源自 HTTP 協議的設計語義。以下是它們的用法和區別&#xff1a; 1. POST 語義&#xff1a;用于創建新資源。 特點&#xff1a; 非冪等&#xff08;多次調用可能產生…

[爬蟲知識] Cookie與Session

相關實戰案例&#xff1a;[爬蟲實戰] 爬取小說標題與對應內容 相關爬蟲專欄&#xff1a;JS逆向爬蟲實戰 爬蟲知識點合集 爬蟲實戰案例 一、引入場景 在http協議中&#xff0c;瀏覽器是無狀態&#xff08;即無記憶&#xff09;的&#xff0c;對于請求與響應的產生數據&#…

怎樣改變中斷優先級?

在STM32中改變中斷優先級可以通過STM32CubeMX配置和代碼中設置兩種方式來實現。以下以STM32F1系列為例進行說明: 使用STM32CubeMX配置 打開工程:在STM32CubeMX中打開你的工程。進入NVIC配置:在Pinout & Configuration選項卡中,點擊NVIC進入中斷向量控制器配置界面。選…

科學計算中的深度學習模型精解:CNN、U-Net 和 Diffusion Models

關鍵要點 模型概述:卷積神經網絡(CNN)、U-Net 和 Diffusion Models 是深度學習中的核心模型,廣泛應用于科學計算任務,如偏微分方程(PDE)求解、圖像分割和數據生成。科學計算應用:CNN 可用于高效求解 PDEs,U-Net 擅長醫學圖像分割和材料分析,Diffusion Models 在生成合…

解決Docker無法拉取鏡像問題:Windows系統配置鏡像加速全指南

問題背景 在使用 Docker 時&#xff0c;你是否遇到過以下報錯&#xff1f; Unable to find image ‘mysql:latest’ locally docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: dial tcp 128.242.250.155:443: i/o timeout. 這類問題通常是由于…

Spring AI 使用教程

Spring AI 使用教程&#xff08;2025年5月24日更新&#xff09; 一、環境搭建與項目初始化 創建Spring Boot項目 使用IDEA或Spring Initializr創建項目&#xff0c;選擇JDK 17或更高版本&#xff08;推薦21&#xff09;。勾選依賴項&#xff1a;Spring Web、Lombok&#xff0c;…