ThinkingBox 벤치마크는 507개의 비즈니스 워크플로우에서 AI 에이전트의 일관성 격차를 드러낸다
TL;DR
ThinkingBox는 이제 Hugging Face를 통해 이용 가능하며, AI 에이전트를 최종 데이터베이스 상태를 확인함으로써 평가한다. 이는 대부분의 에이전트가 단일 실행에서는 성공하지만 20번의 시도에서 일관된 결과를 반복하지 못하며, 12개의 LLM 간에 상당한 비용-일관성 트레이드오프가 있음을 드러낸다.
도구 호출은 결과가 아니다
에이전트는 유효한 도구 호출을 할 수 있지만 여전히 잘못된 데이터베이스 레코드를 생성할 수 있다.
- 12개의 LLM에 대해 121,680번의 실험에서 79,853번의 시도가 실행 검사를 통과하지 못했다.
- 그 실패 중 **67.24 %**는 정상적으로 종료되었으며, 도구 오류를 보고하지 않았지만 상태를 변경했다.
- 실패한 추적 중 **77.61 %**는 잘못된 필드 값을 가지며, **43.30 %**는 예기치 않은 부작용을 일으키고, **25.36 %**는 필수 효과를 놓쳤다.
"트랙토리(경로)는 주장이다. 데이터베이스 상태는 증거다. 반복은 신뢰의 시험이다."
따라서 이 벤치마크는 표면적인 대화나 도구 호출 횟수보다는 최종 백엔드 상태를 기준으로 에이전트를 평가한다.
한 번의 성공은 신뢰성과 같지 않다
각 작업을 20번 실행하면 에이전트가 얼마나 신뢰할 수 있는지 알 수 있다.
다음 세 가지 지표가 보고된다:
| 지표 | 측정하는 내용 | 답변하는 질문 |
|---|---|---|
| pass@1 | 성공한 시도의 비율 | 모델은 일반적으로 어떻게 수행되는가? |
| pass@20 | 20번의 시도 중 적어도 한 번 성공한 작업의 비율 | 한 번은 작업을 해결할 수 있는가? |
| Observed 20/20 | 모든 20번의 시도에서 성공한 작업 수 | 항상 올바르게 수행할 수 있는가? |
이 블로그는 Observed 20/20에 초점을 맞추며, 반복 시도에서 모두 성공한 작업의 실제 수를 다룬다.
에이전트 뒤의 모델을 신뢰할 수 있는가?
범위(pass@20)와 일관성(Observed 20/20)은 모델 간에 분리되어 있다.
- Kimi-K3는 적어도 한 번은 **93.89 %**의 작업을 해결하지만, **13.41 %**만이 20/20로 관측되었다.
- Claude Opus 5는 적어도 한 번 해결한 작업 비율이 적은 (79.09 %) 하지만 **47.53 %**의 20/20 관측률을 달성하여 가장 높은 일관성을 보였다.
- Claude Opus 5.5는 pass@1이 향상되었지만(67.16 % vs 66.50 %), 일관되게 올바른 작업 수는 증가하지 않았다(여전히 241개의 20/20 관측).
"실제 레코드에 영향을 주는 업무를 위해 모델을 선택한다면, pass@20는 보지 말아야 할 열이다."
일관성의 비용은?
성공한 작업당 비용은 OpenRouter 목록 가격 기준으로 토큰 사용량에서 계산된다.
- GPT-5.4: 507번의 시도에 $43.49 → 성공 작업당 $0.131
- GPT-5.6 Sol: 성공당 가장 낮은 비용으로 $0.127
- Claude Opus 5.5: 성공당 $0.276, 더 높은 정확도
파레토 비용 경계
세 모델이 경계에 위치함(다른 모델보다 더 저렴하면서도 더 정확한 모델은 없음):
- GPT-5.6 Sol – 성공당 가장 저렴함
- GPT-5.4 – 성공당 $0.004 더 비싸지만 적당한 정확도 향상
- Claude Opus 5.5 – 성공당 $0.276에 1.8 % 추가 정확도 향상
신뢰할 수 있는 작업당 비용 (20회 반복 일관성)
| 모델 | 20/20 성공 작업 수 | 추정 비용 (20회 실행) | 신뢰할 수 있는 작업당 비용 |
|---|---|---|---|
| GPT-5.4 | 128 (25.25 %) | $869.80 | $6.80 |
| GPT-6 Astra | 231 (45.56 %) | $1,720.60 | $7.45 |
| Claude Opus 5.5 | 241 (47.53 %) | $1,880.77 | $7.80 |
| … | … | … | … |
단일 정답에 가장 저렴한 모델은 일관된 정답에 가장 저렴한 모델이 아니다.
실패 서명
네 가지 진단 카테고리가 대부분의 실패를 설명한다.
| 서명 | 실패 비율 |
|---|---|
| 도구 사용 | 79.9 % |
| 잘못된 상태 업데이트 | 10.3 % |
| 사용자 해결 불완전 | 7.0 % |
| 상태 변경 작업 없음 | 2.9 % |
주된 문제는 모델 추론이 아니라 도구 처리 오류이다. 에이전트는 도구 호출이 실패하는 워크플로우 단계에 도달한 후 회복하지 못하는 경우가 많으며, 이는 더 나은 재시도 및 오류 복구 로직이 필요함을 시사한다.
작동 방식
ThinkingBox는 사전 환경과 벤치마크 데이터셋(ThinkingBox-Bench)을 제공한다.
- 작업 정의 – 초기 백엔드 상태, 사용자 목표, 사용 가능한 MCP 도구, 정책, 실행 가능한 검사
- 격리된 MCP 세션 – 20번의 반복 각각은 새 데이터베이스 스냅샷에서 시작
- 에이전트 실행 – 모델이 도구와 상호작용하고 상태를 업데이트하며 최종 응답을 생성
- 부작용 추출 – 실제 데이터베이스 변경 사항 기록
- 결정론적 심사관 – 추출된 상태를 요구된 최종 상태와 비교; 올바른 상태를 달성한 모든 경로는 통과
모든 평가 로직은 평가자 측에서 실행되며, 모델은 황금 상태나 평가 코드를 절대 볼 수 없다.
직접 실행해보기
ThinkingBox는 Hugging Face에 공개되었으며, OpenEnv와 완전 통합되어 있다.
사전 조건
- Linux/WSL, Python 3.11+,
uv, Docker - OpenEnv, thinkingbox-data의 고정된 릴리스를 클론하고
thinkingboxCLI를 설치
빠른 시작 (개요)
# OpenEnv + ThinkingBox 환경 클론 및 설치
git clone https://github.com/huggingface/OpenEnv && cd OpenEnv
uv sync --project envs/thinkingbox_env --frozen
# v1.0에서 데이터 리포지토리 클론
git clone https://github.com/microsoft/thinkingbox-data && \
git -C thinkingbox-data checkout thinkingbox-bench-v1.0
# CLI 설치
uv tool install "thinkingbox @ git+https://github.com/microsoft/thinkingbox"
그런 다음 블로그에 설명된 대로 Typesense, MCP 세션 프록시, OpenEnv 서버를 시작한다(세 개의 별도 터미널). 준비 상태 확인 후 단일 작업 평가:
echo "- sandbox_external_retail_group1.py:test_case_ST002_001" > one_task.yaml
uv run --project envs/thinkingbox_env thinkingbox-eval \
one_task.yaml \
--config "$PWD/thinkingbox.yaml" \
--output results.jsonl \
--repeat 1 --message-timeout 1800
CLI는 이진 성공/실패 보상과 재현 가능성을 위한 시스템 오류 로그를 반환한다.
앞으로의 방향
이 벤치마크의 주요 기여는 반복 가능성과 상태 기반 평가를 쉽게 채택할 수 있는 환경을 제공하는 것이다.
실무자들에게 권장사항:
- 실패 사례를 검토하라 – 최종 대화가 아니라 실제 데이터베이스 변경 사항을 보라.
- OpenEnv를 통해 자신의 모델로 작업을 재현하라.
- 반복 지표(예: best-of-k 또는 every-of-k)를 보고하고 집계 방법을 명확히 하라.
모든 코드는 오픈소스(샌드박스는 MIT, 데이터는 CDLA-Permissive-2.0). 벤치마크는 여전히 합성적이지만 실제 기업 에이전트 패턴을 반영한다.
자료
- ThinkingBox 환경:
https://huggingface.co/docs/openenv/environments/thinkingbox - ThinkingBox-Bench 데이터셋:
https://huggingface.co/datasets/microsoft/ThinkingBox-Bench - 논문:
arXiv:2608.19741 - GitHub 리포지토리:
microsoft/thinkingbox,microsoft/thinkingbox-data,microsoft/thinkingbox-training(RL 훈련은 향후 제공)