에이전트 궤적에 신뢰할 수 있는 라벨을 얻는 법
에이전트의 다단계 트레이스에 주석을 다는 일은 트윗을 라벨링하는 것보다 어렵습니다. 분류 체계 설계, 단계별 일치도 측정, 불일치 조정을 Potato 설정과 함께 다룹니다.
트윗을 라벨링하는 것은 판단 하나입니다. 에이전트 궤적을 라벨링하는 것은 수십 개의 판단이며, 실행의 각 단계가 작은 판정이고 그 판정들은 서로 의존합니다. 신중한 두 사람은 대개 그 실행이 성공했는지에는 동의한 다음, 열두 단계 중 어디가 어긋났는지에서 갈립니다. 그 간극을 염두에 두고 설계하지 않으면 "라벨링된" 궤적 데이터는 신뢰할 수 없게 되고, 그 위에 세우는 보상 모델이나 디버깅 분석은 그 잡음을 그대로 물려받습니다.
궤적이란 에이전트 실행의 전체 트레이스입니다. 목표가 있고, 이어서 각 단계의 추론, 도구 호출, 관측이 따라옵니다. 여기에 주석을 단다는 것은 실행 전체를 판정하고 개별 단계가 어디서 어긋났는지 표시하는 일입니다. 실행 전체 라벨은 합의하기 쉽고 단계별 라벨은 그렇지 않은데, 보상 모델이나 디버깅 분석이 필요로 하는 것은 단계별 라벨입니다. 신뢰할 수 있는 궤적 데이터는 촘촘한 오류 분류 체계, 작정하고 측정한 단계별 일치도, 그리고 불일치를 해소하는 방법에서 나옵니다.
궤적에 주석 달기가 어려운 이유
단계들이 서로 독립적이지 않다는 점이, 단계가 몇 개인지보다 더 중요합니다.
- 오류 귀속. 실행이 실패했을 때 눈에 보이는 실패는 실제 잘못보다 여러 단계 아래인 경우가 많습니다. 에이전트는 3단계에서 잘못된 계획을 세웠고, 그것이 11단계에서 오답으로 드러납니다. 같은 실행을 본 두 주석자가 "이 단계가 틀렸다"는 점에서는 둘 다 옳으면서도 어느 단계를 탓할지에서 갈릴 수 있습니다.
- 연쇄 효과. 한 단계가 어긋나면 그 뒤는 전부 오염됩니다. 뒤의 단계가 그 자체로 "틀린" 것인가, 아니면 나쁜 상태를 물려받았기 때문에만 틀린 것인가. 주석자에게는 이에 대한 규칙이 필요하고, 없으면 판단이 갈립니다.
- 보이지 않는 상태. 에이전트의 추론이 항상 트레이스에 있는 것은 아니고, 도구에는 볼 수 없는 부작용이 있습니다. τ-bench(Yao 외, 2024)는 실행이 끝난 시점의 데이터베이스 상태를 주석된 목표 상태와 대조하는 방식으로 이를 다룹니다. 기록만으로는 정확성을 판정할 수 없는 경우가 많기 때문입니다.
- 주관적인 "필요성." 어떤 단계가 틀렸다기보다 불필요했는지는 판단의 문제이며, 실무에서 가장 신뢰도가 낮은 라벨 중 하나입니다. 중복된 검색은 오류는 아니지만 깔끔하지도 않습니다.
라벨링 전에 분류 체계를 설계한다
분류 체계가 데이터 품질을 결정하며, 성공한 에이전트 실패 데이터셋들은 모두 분류 체계를 먼저 만들었습니다. MAST, 즉 다중 에이전트 시스템 실패 분류 체계(Cemri 외, 2025)는 숙련 주석자들이 트레이스 150건을 검토하며 Cohen's κ 0.88에 도달할 때까지 범주를 다듬은 다음에야 14가지 실패 유형으로 1600건이 넘는 트레이스로 확장했습니다. 신뢰도는 분류 체계 작업에서 나왔지 주석자를 늘려서 나온 것이 아닙니다.
궤적은 목표, 사고-행동-관측 단계의 사슬, 그리고 결과이며 각 단계가 자신의 라벨을 갖는다
쓸 만한 분류 체계는 작고, 거의 빠짐없으며, 상호 배타적입니다. 최상위 범주 셋으로 에이전트 실패의 대부분이 덮입니다.
- 추론 오류: 잘못된 결론, 무시된 증거, 나쁜 계획.
- 실행 오류: 잘못된 도구, 형식이 어긋난 호출, 잘못 처리한 결과.
- 안전 오류: 위험한 행동, 범위를 벗어난 동작, 데이터 노출.
주석자에게 자유 서술형 "기타"를 주어 새로운 유형의 실패가 가장 가까운 범주에 억지로 들어가지 않고 갈 곳을 갖게 하십시오. 그런 다음 "기타" 메모를 지켜보다가 반복되는 것을 이름 붙인 범주로 승격하십시오. AgentRewardBench(Lù 외, 2025)는 실행 수준에서 무엇을 담을지에 좋은 본보기입니다. 전문 검토자들이 궤적 1302건 각각을 성공, 부작용, 반복성의 세 축으로 판정했는데, 성공 플래그 하나였다면 이 셋이 뭉개졌을 것입니다.
새로운 실패를 위한 탈출구를 갖춘, 작고 상호 배타적인 분류 체계
다단계 라벨의 일치도 측정
전체 성공 여부는 쉬운 라벨입니다. 두 사람이 실행을 보면 잘 됐는지 아닌지에는 대체로 동의합니다. 보고하는 수치가 그것뿐이라면 데이터는 실제보다 더 믿음직해 보입니다.
정말 어려운 곳에서 일치도를 재십시오. 주석자 간 일치도를 단계의 정확성과 오류 범주에 대해 따로 계산하십시오. 둘은 다르게 움직이기 때문입니다. 사람들은 어떤 단계가 틀렸는지에는 왜 틀렸는지보다 훨씬 잘 동의합니다. 주석자들 사이에서 첫 오류 단계 판정을 나란히 맞춰 보십시오. 프로세스 보상 모델을 학습시키는 데에는 PRM800K / "Let's Verify Step by Step"(Lightman 외, 2023)이 말하는 의미에서 바로 그 한 단계가 가장 중요하기 때문입니다. 그리고 자동 평가는 의심하고 보십시오. AgentRewardBench는 흔한 벤치마크들이 의존하는 규칙 기반 검사가 에이전트의 성공을 적게 보고하는 경향이 있음을 발견했습니다. 값싼 자동 라벨은 사람 라벨의 대체물이 아니라 1차 통과일 뿐입니다.
불일치 조정과 주석자 온보딩
궤적에서의 불일치는 주석자가 실수했다기보다 분류 체계 어딘가가 덜 다듬어졌다는 뜻인 경우가 보통입니다. 두 주석자가 어느 단계를 탓할지에서 갈렸다면, 그 한 쌍의 라벨은 연쇄 규칙이 덜 다듬어졌다고 알려주는 것이고, 수정은 지침으로 돌아갑니다.
무게의 대부분을 지는 실천이 둘 있습니다. 첫째, 불일치는 투표하지 말고 조정하십시오. 궤적에서는 "왜 그 단계를 골랐는가"라는 대화가 진짜 규칙이 쓰이는 자리이기 때문입니다. 조정과 불일치 해소를 보십시오. 둘째, 긴 트레이스에서는 주석자를 천천히 적응시키십시오. 궤적은 지치는 작업이고, 40단계에 이른 지친 주석자는 2단계의 생생한 주석자와 같은 계측기가 아닙니다. 긴 실행에는 상한을 두거나 쪽을 나누고, 독립적으로 작업하기 전에 공통 트레이스 묶음으로 모두를 보정하십시오.
Potato에서 하는 법
Potato의 trajectory_eval 유형은 각 단계를 카드로 렌더링하고 심각도 가중치를 갖는 단계별 오류 분류 체계를 붙입니다. 위에서 말한 라벨들이 설정 안에 자리잡는다는 뜻입니다.
annotation_schemes:
- annotation_type: trajectory_eval
name: step_evaluation
description: "Evaluate each step for correctness and mark any errors."
steps_key: steps
error_types:
- {name: reasoning, subtypes: [logical_error, factual_error, planning_error]}
- {name: execution, subtypes: [wrong_tool, wrong_args, api_error]}
- {name: safety, subtypes: [harmful_action, data_leak, scope_violation]}
severities:
- {name: minor, weight: -1}
- {name: major, weight: -5}
- {name: critical, weight: -10}
show_score: true심각도 가중치는 궤적 점수로 합산되므로 실행에 순위를 매기고 모델 버전 간 회귀를 추적할 수 있습니다. 보상 모델 학습을 위해 첫 오류 단계만이 목적이라면 process_reward 유형에 그것을 위한 first-error 모드가 있습니다. Potato는 15가지 형식에서 트레이스를 가져와 공통 단계 뷰로 만들므로, 어떤 프레임워크가 만들어낸 실행이든 주석을 달 수 있습니다. 에이전트 주석을 보십시오.
더 읽을거리
- 에이전트 궤적에 주석 달기, 단계별 기능 레퍼런스.
- 프로세스 보상 모델과 단계별 라벨링, 첫 오류와 단계별 보상 데이터를 위해.
- 도구 사용과 함수 호출 평가, 개별 도구 호출을 판정하기 위해.
- 주석자 간 일치도 해설, 이 모든 것이 딛고 선 신뢰도 통계를 위해.
실제 에이전트 벤치마크로 만든 쇼케이스 페이지에서 이 스킴들을 맥락 속에서 볼 수 있습니다. WebArena, τ-bench, AgentRewardBench.