논문 선정이유
LLM-as-Agent를 체계적으로 평가할 표준 벤치마크 부재.
텍스트 기반 게임 환경
: closed, discrete action spaces 한계
협소한 상식 추론 위주.
멀티모달 시뮬레이터(게임·GUI·실내 환경)
: 실제 LLM 사용 사례를 반영하지 못함,
멀티모달 복잡성 때문에 text-only LLM 평가에는 부적합.
현재 대부분의 벤치마크는 single environment만 다루며,
다양한 애플리케이션 시나리오에서 평가 불가.
목표: 다양한 실제 시나리오에서 LLM-as-Agent 능력을 표준화해 평가.
8가지 환경
데이터셋
모든 데이터셋을 텍스트 인터페이스로 바꿔서 LLM이 "에이전트처럼" 과제들을 수행하도록 설계
평가 역량
LLM을 에이전트로 평가하는 과정은 POMDP로 볼 수 있음.
LLM agent()은 환경과 상호작용하며 상태 변화와 보상을 통해 평가됨.
에이전트로 작동하려면 강한 추론 능력이 필요.
Chain-of-Thought (CoT) 사용
: AGENTBENCH는 개선된 기법(ensemble, reflection, search 등)을
쓰지 않고, CoT만 적용해 평가.
LLM 에이전트의 AGENTBENCH task 종료 사유를 5가지 유형으로 분류
Context Limit Exceeded (CLE)
interaction history 길이가 LLM 최대 컨텍스트 길이를 초과함.
Invalid Format (IF)
출력이 지시된 포맷을 따르지 않음.
주로 지침 준수 능력 부족 때문.
Invalid Action (IA)
포맷은 맞췄지만, 선택한 행동이 유효하지 않음.
(예: 없는 API 호출, 잘못된 명령 실행)
Task Limit Exceeded (TLE)
정해진 최대 턴 수 안에 문제 해결 실패, 혹은 같은 출력을 반복함.
주로 멀티턴 과제 처리 능력 부족을 시사.
Complete
정상적으로 과업을 마침.
AGENTBENCH는 Chain-of-Thought(CoT) 프롬프팅을 기반으로
세 가지 유형 환경에서 성능 평가.
특정 태스크에 특화된 모델이 유리하지 않도록, 다양한 시나리오 제공.
LLM이 터미널에서 운영 체제(OS)에 접근하고 조작할 수 있는지 평가
환경: Ubuntu Docker bash 환경에서 실제 OS 명령 실행.
각 평가 샘플은 다음 요소를 포함:
인간 생성 문제 (50%)
Stack Overflow에서 문제 수집.
문제 설명, 초기화 스크립트, 검증 방식 등을 직접 작성
GPT-4 생성 문제 (50%)
그대로 쓰지 않고 유닛 테스트를 통해 걸러냄 : 초기화 스크립트가 정상 실행되는지, 예시 코드가 실제로 정답을 맞추는지 확인.
조건을 통과하지 못한 문제는 제외
각 문제는 실제 도커 환경 + 인터랙티브 셸 + 검증 스크립트 포함
1-shot Chain-of-Thought(CoT) 프롬프팅 방식 사용
<USER>:
{{ INSTRUCTION }}
Now, my problem is:
Tell me how many files are in the directory "/etc"?
<AGENT>:
Think: To count the files in /etc, I need to print all the files in
it.
Act: bash
‘‘‘bash
ls /etc
‘‘‘
<USER>:
The output of the OS:
cpi cron.hourly fuse.conf iproute2 lvm networkd-dispatcher protocols
selinux tmpfiles.d [truncated because the output is too long]
<AGENT>:
Think: The output has been truncated because it is too long, so I
need to count files by script directly.
Act: bash
‘‘‘bash
ls -1 /etc | wc -l
‘‘‘
<USER>:
The output of the OS:
220
<AGENT>:
Think: Now I get the answer, it is 220.
Act: answer(220)
<USER>:
Now, I will start a new problem in a new OS. My problem is:
{{ PROBLEM }}
<LOOP>:
<AGENT>:
{{ RESPONSE }}
Swicth AGENT.Action:
"bash":
<User>:
The output of the OS:
{{ OUTPUT }}
"answer" or "finish":
Executing Checking Script
Exit Loop
otherwise:
Exit Loop
Initialization
Interaction
bash
실행, answer
제출 가능Checking
평가지표
기존 연구들은 개별 절차만 다루고, 전체 SQL 작업 파이프라인을 다루기 않음.
기존 SQL 관련 QA 데이터셋들을 재사용·통합:
WikiSQL, WikiTableQuestions, SQA, HybridaQA, FeTaQA
GPT-3.5-turbo 활용하여 Data Augmentation
Initialization
Interaction
Checking
평가지표
각 샘플 구성 요소
Initialization
Interaction
Final Answer Prediction
F1 Score: 예측된 답과 정답 집합의 정밀도·재현율 기반 평가
Exact Match (EM):
기존 연구: 논리식 형태(Logical Form) 기반 비교
AgentBench: 결과 집합 비교 (예측 엔티티 집합 vs 정답 엔티티 집합)
Executability:
모델이 생성한 액션 시퀀스를 실제 KG에서 실행했을 때:
실행 가능(Executable) → 1점
실행 불가능(Not Executable) → 0점
일단 생략
실제 웹사이트 환경을 텍스트로 단순화하여 제공
화면 = 텍스트 관찰(observation)
행동 = 클릭(click), 검색(search)
아마존(Amazon)에서 약 100만 개 상품을 크롤링하여 DB 구축
각 상품에는 속성(attributes) 라벨이 붙음
사람으로부터 12,087개 구매 지시문(human instructions) 수집 → 목표(goal)과 expected attributes 연결
Instructing
Interacting
Calculating Reward
한 쿼리에 대해 여러 적합한 상품이 있을 수 있음 → 단순 정답/오답 x
: 매칭 점수(Reward)를 계산
Reward 계산식
: 사용자의 목표(Goal)
: 선택한 상품(Product)
: 필수 속성(attributes)
: 선택 속성(options)
: TextMatch 기반 가중치
rtype 정의
TextMatch: 선택 상품 제목 vs 목표 상품 제목의 유사도
Mind2Web
실제 웹사이트 환경을 반영한 대규모 웹 브라우징 태스크 데이터셋
사람 annotator가 특정 웹사이트를 보고 Task Goal을 정의
실제 웹 탐색 과정을 기록 → action trace 생성
각 샘플 구성 요소
Task Description: 구체적 절차 대신, 고수준 목표로 제시
ex. “평점 4 이상, 3~6시간짜리 중급 SAP S/4 HANA 강의를 찾아 장바구니에 담고 결제하라”
Reference Action Sequence:
각 단계 ()의 메타 액션() 마다 = {}
: 대상(선택한) 요소의 backend ID
: 수행할 액션 (Click, Type, Select Options)
입력 필요 시 (ex. Type/Select) → 입력 텍스트 포함 기록
Webpage Information:
각 단계에서 현재 페이지 HTML 코드 + 과거 상호작용 기록(trajectory) 스냅샷 포함
문제: HTML이 너무 방대 → LLM이 처리에 어려움
해결: 소형 언어모델(DeBERTa)를 사용해 HTML 요소를 랭킹 & 필터링
→ 추론 효율 개선
HTML 요소 후보 줄이기
다지선다식 선택 (Multi-choice QA)
Type / Select Option 처리
Element Accuracy
Action F1
Success Rate
현재 LLM들이 전체 과제를 끝까지 성공(Task Success Rate)하기는
너무 어려움.
따라서 각 단계별 성공률(Step Success Rate)을 주요 지표로 사용.
→ 액션 하나하나의 정확도를 독립적으로 평가.
AGENTBENCH 논문 정리
AGENTBENCH는 환경별 특성
을 반영하여 다양한 지표를 사용
Success Rate (SR)
OS, DB 같은 코드 기반 환경에서 사용.
모델이 문제를 정확히 해결했는지 여부(0/1)로 평가.
Answer F1
Knowledge Graph 환경에서 사용.
모델이 예측한 답과 정답 엔티티 집합 간 F1 점수로 측정.
Exact Match (EM)
KG에서 보조 지표. 모델이 낸 예측 집합과 정답 집합이 완전히 일치하는지 평가.
Reward 점수 (WebShop)
사용자가 원하는 속성과 실제 선택된 상품 속성의 일치율 기반 [0~1] 점수.
Action Accuracy / Action F1 (Mind2Web)
웹 브라우징에서 특정 HTML 요소 선택 정확도(Element Accuracy),
액션 토큰 단위 매칭(Action F1),
단계별 성공률/전체 성공률(Task Success Rate).
Overall AGENTBENCH Score (OA)
태스크별 점수를 정규화(normalize)한 뒤 가중 평균.
특정 태스크(Web Shopping 등)가 평균을 왜곡하지 않도록 조정.
서버-클라이언트 구조: 에이전트(LLM), 환경(Task Server), 평가 도구가 분리돼 있어 확장성 확보.
도커 기반 환경 격리: OS, DB 같은 복잡한 환경은 Docker 이미지로 캡슐화 → 충돌 방지와 재현 가능성 보장.
평가 재개 가능성: 중도 중단된 평가도 이어서 실행할 수 있는 구조를 마련.
모델이 실패하는 원인을 세분화하여 성능 부족 지점을 드러냄:
Ko-AgentBench 적용 가능 포인트
환경별 분류
Code / Game / Web 으로 나눈 것처럼, 상위 카테고리(환경)를 먼저 정함.
환경 안에서 여러 한국어 특화 API 제공.
Task는 API를 활용/조합하는 형태로 설계.
평가 지표
실행 기반 평가 (Execution-based Evaluation)
API-Bank와 유사하게, 실제 API 호출 실행 결과를 활용.
단순 텍스트 생성 정답 비교보다 신뢰도 ↑.
오류 유형 분석
Interaction vs API 계층으로 나눠서 분석
ex. Invalid Action
오류가 Interaction Level의 IA인지,
API-Level의 Invalid Input Parameters인지 구분 가능.
CLE (Context Limit Exceeded): 컨텍스트 길이 초과
IF (Invalid Format): 출력 포맷 불일치
IA (Invalid Action): 행동 자체가 유효하지 않음
TLE (Task Limit Exceeded): 멀티턴 내 해결 실패 / 무한 반복
Complete: 정상 완료
API Hallucination: 존재하지 않는 API 호출
Has Exception: 실행 시 예외 발생
Invalid Input Parameters: 잘못된 입력값 포함
False API Call Format: 호출 문법 오류로 파싱 불가
No API Call: 호출 자체가 없음
Missing Input Parameters: 필수 입력 파라미터 누락