인도 소매 은행 고객 서비스를 시뮬레이션하는 에이전트 벤치마크: 평가 대상 모델은 은행 어시스턴트 역할을 하고, 다른 모델은 고객 역할을 하여 카드 분실 신고, 정기 예금 개설, 중도 해지 견적 등의 요청을 합니다. 어시스턴트는 기록을 조회하고, 은행 정책을 따르며, 순서대로 도구를 호출해야 합니다. 대화 종료 시 데이터베이스 상태만 보는 벤치마크와 달리, 이 벤치마크는 모든 규정된 단계가 수행되었는지, 고객이 요청하지 않은 변경 사항이 있었는지도 확인합니다.
좋아요 8 · 코드 스타 수 6
이유
- 일반적인 평가의 허점을 포착함: 저자들은 최종 기록만 볼 경우 모든 모델에서 6.5–12.0%의 세션이 성공으로 판정되지만, 실제로는 필수 단계를 건너뛰거나 불필요한 변경을 수행했다고 주장합니다.
- 규모와 엔지니어링이 모두 완비됨: 1000개의 작업, 50가지 시나리오, 33개의 은행 도구 및 1개의 인간 상담원 연결 도구, 944명의 시뮬레이션 고객, 24개의 지식 베이스 문서; 채점에는 평가 모델이 필요 없으며, 시계는 동결되고 참조 번호는 시드에 의해 결정되어 바이트 단위로 재현 가능합니다.
- README에는 6개의 오픈소스 모델에 대한 참고 점수(Qwen3.8-27B 및 Gemma 4 시리즈, 전체 1000개 문제 pass@1)가 제공되며, 순차적 실행, 엣지 케이스, 도구 사용 최소화, 대조군 등 4가지 범주로 분류되어 있습니다.
- tau2 명령으로 직접 설치하여 OpenAI 호환 엔드포인트나 litellm이 지원하는 관리형 API에 연결할 수 있습니다. 코드와 데이터는 MIT 라이선스이며, 데이터는 모두 합성 데이터입니다.
사용법
- 설치: Python 3.12/3.13, pip install -r requirements.txt → python scripts/fetch_data.py (Hugging Face의 NPCI/tau-indian-banking에서 데이터 가져오기) → pip install --no-deps -e . (uv도 지원).
- 실행: tau2 run --domain indian_banking --agent-llm openai/<평가 대상 모델> --user-llm openai/<고객 시뮬레이션 모델> --task-split-name base …; 참고 설정은 온도 0, 라운드당 최대 출력 토큰 8192, 최소 컨텍스트 32768입니다.
- 채점: python scripts/score.py data/simulations/<run>/results.json; 두 실행 결과를 비교하려면 --compare 옵션을 추가하고, tau2 view로 대화를 탐색합니다.
- 비용을 절감하며 먼저 테스트하려면 lite(200개 문제) 또는 --num-tasks 5을 사용하세요. README에서는 유료 API로 전체 데이터를 실행할 경우 비용이 단일 요청보다 훨씬 높을 수 있다고 특별히 경고합니다.
리스크
- 점수는 '평가 대상 모델 + 고객 시뮬레이션 모델 + 데이터 분할'의 전체 속성이므로, 고객 시뮬레이션 모델을 변경하면 비교할 수 없습니다. README에 따르면 동일한 구성으로 반복 실행할 경우 약 15–25%의 세션 결과가 뒤집히고, 평균 점수 변동은 약 ±1–2점입니다.
- 도메인은 가상의 인도 은행과 합성 데이터이므로, 다른 산업이나 실제 고객 서비스로 결론을 일반화할 수 있는지 검증되지 않았습니다.
- 참고 점수는 오픈소스 모델만 포함하며, 모두 동일한 고객 시뮬레이션 모델(MiniMax-M2.7)을 사용했습니다.
열기 · 코드 · Hugging Face 논문 페이지