벤치마크 · agentic
τ-bench
τ-bench는 AI 에이전트가 고객 서비스 담당자로서 여러 차례의 대화를 진행하면서 사용자의 요청을 처리하기 위해 tools와 API를 호출하는 능력을 측정합니다. 점수는 에이전트가 올바르게 완료한 작업의 비율입니다.
자세히 보기
- 예시
- 소매나 항공 분야의 작업 — 예를 들어 사용자가 에이전트에게 주문을 취소하거나 변경해 달라고 요청하면, 에이전트는 필요한 정보를 물어본 뒤 해당 분야의 규칙과 정책을 지키면서 올바른 백엔드 API를 호출해야 합니다.
- 채점 방식
- 지표는 올바르게 해결된 작업의 비율이며, 대화가 끝난 뒤 데이터베이스나 환경의 최종 상태가 작업의 기대 결과와 일치할 때 그 작업은 해결된 것으로 간주됩니다. 결과는 보통 성공률(pass@1)로 보고되며, pass^k 변형은 반복 실행 시의 일관성을 측정합니다.
- 검증 방식
- 검증은 사람이 판단하지 않고 자동으로 이루어집니다. 대화가 끝나면 벤치마크는 시스템의 최종 상태(그리고 사용자에게 전달된 정보)를 미리 정해진 기대 결과와 비교하며, 객관적으로 일치할 때만 성공으로 집계합니다.
- 왜 중요한가
- 비즈니스 규칙 아래에서 사용자와 대화하면서 동시에 tools를 통해 실제로 작업을 수행해야 하는, 현실적이고 상업적으로 중요한 사용 사례를 반영하며, 한 번 성공한 모델이 같은 작업을 다시 시도하면 자주 실패하는 신뢰성 격차를 드러냅니다.
예제 풀이
문제
τ-bench의 retail(리테일) 도메인에서 시뮬레이션된 사용자가 에이전트에게 말합니다. 「안녕하세요, 주문 #W2611340을 취소하고 싶어요 — 실수로 주문했어요.」 매장 정책(오직 'pending' 상태의 주문만 취소 가능하며, 사유는 허용된 값이어야 함)에 따라 에이전트는 먼저 사용자를 인증하고, 주문을 확인하고, 사용자에게 확인을 받은 뒤 tool call로 주문을 취소해야 합니다.
해답
# 1) Authenticate the user (policy: verify identity before any action)
find_user_id_by_email(email="mia.li.3818@example.com")
# 2) Look up the order and confirm status == "pending"
get_order_details(order_id="#W2611340")
# 3) After the user confirms, cancel with an allowed reason enum
cancel_pending_order(order_id="#W2611340", reason="ordered by mistake")
풀이
정책은 'pending' 상태의 주문만 취소를 허용하고 사유를 두 개의 enum 값('no longer needed' / 'ordered by mistake')으로 제한하므로, 에이전트는 먼저 인증하고 상태를 확인하고 사용자 확인을 받은 다음에야 쓰기 호출을 합니다. τ-bench는 데이터베이스의 최종 상태를 주석된 목표 상태(이제 주문이 'cancelled')와 비교해 채점하고, 반복 시행에서 pass^k 신뢰도를 보고합니다.
이 벤치마크에 대해 아직 검증된 점수가 없습니다.