AI 에이전트가 여러 단계를 거쳐 목표를 실제로 달성했는지와 그 과정이 효율적이었는지를 함께 재는 방법이다. 답변 한 번만 채점하는 LLM 평가와 달리 여러 단계의 실행 전체를 보며, 프롬프트·모델·도구를 바꾼 뒤 정말 나아졌는지 확인할 때 쓴다.
| 항목 | LLM 평가 | 에이전트 평가 |
|---|---|---|
| 보는 대상 | 답변 한 번 | 여러 단계의 실행 전체 |
| 판단 기준 | 답이 맞는지 | 목표 달성 + 거쳐 간 경로 |
| 필요한 것 | 질문과 정답 세트 | 실행 환경, 실행 기록(트레이스) |
| 흔한 실패 | 틀린 답 | 잘못된 도구, 헛도는 반복, 중간 포기 |
에이전트가 올바른 결과를 냈더라도 비효율적인 경로로 갔을 수 있다. 쓸데없는 도구 호출을 반복했거나 잘못된 방향으로 갔다가 뒤늦게 고쳤다면 비용과 시간이 새고 있는 것이다. 그래서 최종 결과와 실행 과정을 나눠서 본다.
| 무엇을 | 지표 예시 | 확인 방법 |
|---|---|---|
| 최종 결과 | 태스크 성공률 | 테스트 통과, 최종 상태 비교 |
| 과정 | 도구 선택, 호출 횟수, 단계 수 | 트레이스 검토 |
| 비용·속도 | 총 토큰 사용량, 평균 완료 시간 | 로그 집계 |
| 안전 | 위험한 행동을 했는지 | 규칙 검사, 사람 검토 |
LangSmith나 Langfuse 같은 도구로 실행마다 전체 트레이스를 기록하는 것이 첫걸음이다. 그다음 실제 업무에서 나올 과제를 모아 평가 세트를 만들고, 무언가 바꿀 때마다 같은 세트로 다시 돌려 비교한다.
| 순서 | 할 일 |
|---|---|
| 1. 과제 모으기 | 실제 요청과 과거 실패 사례로 작게 시작 |
| 2. 성공 기준 정하기 | 코드는 테스트 통과, 글은 채점 기준표 |
| 3. 실행·기록 | 격리된 환경에서 돌리고 트레이스 저장 |
| 4. 실패 분석 | 실패 케이스를 원인별로 분류해 프롬프트·도구 설계 개선 |
정답을 자동으로 가리기 어려운 과제는 다른 LLM에게 채점 기준을 주고 판정하게 한다(LLM-as-a-judge). 채점 모델도 틀릴 수 있으니 일부는 사람이 직접 보고 판정이 맞는지 맞춰 본다.
에이전트는 같은 과제에서도 실행할 때마다 다른 경로를 고른다. 한 번 성공했다고 믿지 말고 같은 과제를 여러 번 돌려 성공 비율로 판단한다. 파일을 지우거나 외부 서비스에 요청을 보내는 에이전트는 반드시 샌드박스 같은 격리된 환경에서 평가한다.
AgentBench처럼 여러 환경에서 에이전트 능력을 비교하는 공개 벤치마크는 모델을 고를 때 참고가 된다. 하지만 내 도구·데이터·업무와는 조건이 다르므로, 최종 판단은 직접 만든 평가 세트로 내리는 것이 가장 확실하다.
가장 흔한 쓰임은 무언가 바꾼 뒤 나빠지지 않았는지 확인하는 회귀 검사다. 프롬프트 한 줄, 모델 버전, 도구 설명을 고칠 때마다 같은 평가 세트를 다시 돌려 성공률과 비용을 이전 결과와 나란히 놓고 본다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 코딩 에이전트 개발 | 과거에 실패한 이슈를 모아 두고, 수정 후 테스트 통과율과 단계 수가 나아졌는지 확인 |
| 모델 교체 결정 | 새 모델로 같은 과제를 여러 번 돌려 성공률·토큰 비용을 비교한 뒤 바꿀지 정함 |
| 상담·업무 자동화 에이전트 | 실제 문의로 만든 과제를 LLM 채점과 사람 검토로 판정하고, 위험한 행동이 없었는지 트레이스로 점검 |
| 배포 전 검사 | 변경이 생길 때마다 평가 세트를 자동으로 돌려 성공률이 떨어지면 배포를 멈춤 |