AI 에이전트 평가 — pass@k와 trajectory eval로 다단계 추론을 검증하는 법
단일 응답 LLM은 정확도 한 숫자로 평가하면 됩니다. 도구를 쓰고·여러 단계를 거치는 에이전트는 그게 안 통합니다. pass@k·trajectory eval·tool-use 정확도까지 합쳐 다단계 추론을 검증하는 법, 마케팅 에이전트 운영에 그대로 가져갈 평가 도구.
마케팅 리포트 자동화 에이전트가 한 보고서를 만들 때, 안에서 BI 쿼리 5번·외부 API 3번·계산 도구 2번을 호출합니다. 최종 답이 그럴듯해 보여도 중간에 잘못된 쿼리·잘못된 도구·잘못된 추론이 섞여 들어갈 수 있습니다. 단일 응답 LLM 평가 프레임으로는 잡히지 않는 자리. AI 에이전트는 다른 평가 도구가 필요합니다. pass@k·trajectory eval·tool-use 정확도의 결합 운영을 정리합니다.
1. 단일 응답과 에이전트의 평가가 다른 이유
단일 응답 LLM 평가는 단순합니다 — 입력 → 출력의 정확도 한 숫자.
AI 에이전트는 그렇게 단순하지 않습니다. 에이전트의 한 응답은 보통 다음 흐름을 가집니다.
- 사용자 요청 받음
- 어떤 도구를 쓸지 계획(plan)
- 도구 호출 — BI 쿼리, 외부 API, 계산기, 검색
- 도구 결과 해석
- 다음 단계 결정 (반복)
- 최종 답 생성
이 흐름에서 평가해야 할 자리가 여러 개입니다.
- 최종 답의 정확도
- 중간 도구 사용의 정확도
- 도구 사용 효율(불필요한 호출 없음)
- 추론 흐름의 합리성
- 실패 모드(stuck loop·hallucinated tool call)
단일 평가 점수 한 숫자로는 이 모든 자리가 안 잡힙니다. 잘못된 트레이스가 우연히 정답을 내거나, 깔끔한 트레이스가 우연히 오답을 내는 경우가 흔합니다.
2. pass@k — 다중 시도 정확도
pass@k는 OpenAI Codex 논문(2021)에서 정착한 평가 metric입니다. 단순한 한 줄 정의:
같은 문제를 번 풀게 했을 때, 적어도 한 번 정답을 내는 비율.
코드 생성에서 출발했지만 에이전트 평가에 그대로 적용됩니다. AI 에이전트는 stochastic하게 동작 — 같은 입력에 다른 trajectory를 만들 수 있습니다. 한 번 시도로는 운이 좋고 나쁘냐가 결과를 흔듭니다.
수식으로:
여기서 은 한 문제당 시도 수, 는 그 중 정답 수. 운영적으로는 단순합니다 — 같은 문제 5번 풀게 하고 1번 이상 맞춰내면 pass@5 정답.
운영 의사결정에 적합한 자리:
- pass@1 — 한 번에 맞춰야 하는 자리 (사용자 직접 응답)
- pass@5 — 후처리·필터링 가능한 자리 (생성 후 best 1 선택)
| pass@k | 의미 | 마케팅 자리 |
|---|---|---|
| pass@1 | 한 번에 정답 | 챗봇 직접 응답 |
| pass@3 | 3번 중 1번 정답 | 카피 후보 추리기 |
| pass@10 | 10번 중 1번 정답 | 광고 소재 풀 채우기 |
3. Trajectory eval — 흐름 자체를 평가
pass@k는 최종 답만 봅니다. 트레이스 안의 도구 사용·추론 단계는 안 봅니다. trajectory eval이 그 자리를 채웁니다.
3-1. 평가 layer
| Layer | 무엇을 보나 | 메트릭 |
|---|---|---|
| Final answer | 최종 답 | 정확도, LLM-as-judge |
| Plan quality | 계획의 합리성 | LLM-as-judge |
| Tool selection | 적절한 도구 선택 | golden trajectory와 일치율 |
| Tool input | 도구 입력의 정확도 | 정확 매칭, fuzzy |
| Step efficiency | 불필요한 호출 없음 | step 수, redundant call 비율 |
3-2. Golden trajectory
도메인 전문가가 한 문제에 대해 “이상적인 trajectory”를 미리 정의합니다 — 어떤 도구를 어떤 순서로, 어떤 입력을 줘서 호출할지.
평가 시 에이전트의 trajectory를 golden과 비교:
- 도구 선택 일치율
- 도구 입력 유사도(string 유사도 또는 LLM-as-judge)
- 단계 수의 ±20% 안 (너무 많거나 적으면 비효율)
def trajectory_score(agent_traj, golden_traj): tool_match = sum(a.tool == g.tool for a, g in zip(agent_traj, golden_traj)) / len(golden_traj) input_sim = sum(fuzzy_match(a.input, g.input) for a, g in zip(agent_traj, golden_traj)) / len(golden_traj) step_eff = 1 - abs(len(agent_traj) - len(golden_traj)) / len(golden_traj) return 0.5 * tool_match + 0.3 * input_sim + 0.2 * step_eff이게 본문에 박는 유일한 코드입니다. 단순한 가중 평균. 운영에서는 가중치를 도메인에 맞게 조정.
4. Tool-use 정확도 — 별도 측정
도구 사용은 에이전트의 가장 흔한 실패 자리입니다. 별도 평가 layer로 빼두면 디버깅이 쉽습니다.
자주 보이는 tool-use 실패:
- Hallucinated tool — 존재하지 않는 도구 호출
- Wrong arguments — 도구는 맞는데 인자 형태 틀림
- Premature stop — 도구 결과 받기 전에 답 생성
- Tool loop — 같은 도구를 무한 호출
각 실패 모드의 비율을 별도 메트릭으로 매주 추적합니다. 한 모드의 비율이 갑자기 올라가면 에이전트 시스템·도구 변경의 신호.
5. 마케팅 에이전트의 표준 평가 셋
마케팅 운영에서 자주 쓰이는 에이전트 자리:
- 마케팅 리포트 자동 생성 (BI 쿼리 + 차트 + narrative)
- 캠페인 분석 에이전트 (성과 데이터 + 인사이트)
- 광고 운영 어시스턴트 (입찰가·예산 추천)
- 고객 응대 에이전트 (RAG + tool calling)
각 자리에 골든셋 50~100개 정도. 한 셋의 구조:
- 입력 — 사용자 요청
- Golden trajectory — 이상적 도구 호출 순서·입력
- Golden answer — 기대 최종 답
- 평가 메트릭 — pass@k + trajectory score + tool-use accuracy
이 골든셋을 운영 환경의 새 에이전트 버전·새 모델에 매번 돌려 회귀 테스트 같은 형태로 운영.
6. 마케팅 실무 케이스 3개
6-1. 마케팅 리포트 에이전트의 회귀 평가
새 모델 버전(GPT-4 → 4o)으로 갈아탈 때 같은 골든셋 50개에 대해 trajectory + final answer 평가. 정확도가 안 떨어지고 도구 호출 효율(평균 step 수)이 좋아지면 안전한 갈아타기.
6-2. 광고 운영 어시스턴트 — pass@5로 운영
입찰가 추천을 한 번에 한 값만 주는 게 아니라 5개 후보로. 운영자가 그 중 최선 선택. pass@5 평가 — 5개 중 1개라도 좋은 추천이면 정답.
6-3. RAG + tool calling 챗봇 — tool-use accuracy 모니터링
매일 운영 trajectory에서 tool-use 실패 비율 측정. 기준치(예: 5%)를 넘으면 알람. 보통 도구 인터페이스 변경·모델 업데이트의 신호.
7. 에이전트 평가가 깨질 때 — 흔한 함정 3가지
7-1. Final answer만 평가
trajectory가 잘못됐는데 우연히 정답이 나오면 평가가 통과. 다음 운영에서 같은 trajectory가 오답을 만듭니다. final + trajectory 같이 평가해야 합니다.
7-2. Golden trajectory가 너무 엄격
“정확히 이 도구를 이 순서로”가 너무 엄격하면, 더 효율적인 새 trajectory가 평가에서 떨어집니다. 도구 선택만 매칭하고 순서는 ±1 허용 같은 유연성이 필요.
7-3. tool-use 실패 모드 분리 안 함
“틀렸다”의 한 라벨로만 보고하면 어떤 종류의 실패인지 안 보입니다. hallucinated tool·wrong args·loop 같은 모드별 분해가 디버깅에 핵심.
8. 마치며 — 시리즈 마무리, AI 운영 도구상자
이 시리즈 5편을 통해 AI 운영의 도구상자를 다음처럼 채웠습니다.
- LLM-as-judge — 모델이 모델을 평가
- 임베딩 운영 — drift·차원·metric 운영
- RAG 비용·latency — 인프라 최적화
- 프롬프트 자동 최적화 — 사람이 안 만지는 프롬프트
- AI 에이전트 평가 — pass@k·trajectory eval
5편이 합쳐 마케팅 자리에 AI 도구를 안전하게 굴리기 위한 운영 인프라를 그립니다. 정확도·비용·평가의 3축이 같이 따라 가야 운영이 단단해집니다.
다음 시리즈는 perf-marketing 도메인의 빈 자리(Bayesian budget·incrementality test design·creative testing 등)를 채우는 방향으로 가는 게 자연스러울 것 같습니다.
참고
- Chen et al. (2021), Evaluating Large Language Models Trained on Code — pass@k 원전 (Codex 논문)
- Yao et al. (2023), ReAct: Synergizing Reasoning and Acting in Language Models, ICLR — 에이전트 trajectory 표준 패턴
- Liu et al. (2023), AgentBench: Evaluating LLMs as Agents — 에이전트 평가 벤치마크
- LangSmith — Trajectory eval 운영 도구 — 산업 표준 적용
- OpenAI Evals — 평가 프레임워크 — 골든셋·메트릭 표준
- huny.log 내부 글: LLM 에이전트 마케팅 리포트, LLM-as-judge, RAG 평가
AI·LLM 카테고리의 다른 글
전체 보기 →-
2026·05·16
LLM 운영 비용 폭주를 막는 6가지 guardrail — 마케팅 자동화의 cost·latency·품질 동시 관리
LLM을 운영에 올리면 어느 날 갑자기 비용이 10배로 튑니다. retry storm·프롬프트 폭증·모델 자동 승격·context 누적 등 폭주 패턴 6가지와 그것을 막는 guardrail을 정리합니다.
-
2026·05·10
LLM evaluation harness — 분기마다 챗봇 품질을 자동 평가하는 공장
챗봇·에이전트가 운영에 들어가면 한 번 평가가 아니라 분기 자동 평가가 필요합니다. 골든셋·regression·hyperparameter A/B를 묶는 evaluation harness 설계와 마케팅 자리에서의 적용.
-
2026·05·09
Context engineering — 200k 토큰 컨텍스트의 설계 원칙 5가지
컨텍스트 창이 200k 토큰까지 커졌지만 단순히 다 넣으면 lost-in-the-middle·비용 폭발·정확도 하락이 옵니다. 마케팅 자동화에 적용하는 5가지 컨텍스트 설계 원칙.
-
2026·05·09
Function calling 설계 패턴 — LLM이 도구를 부를 때 마케터가 점검할 것
LLM이 광고 API·BigQuery·Slack을 직접 부르기 시작하면, 답변 품질보다 "어느 도구를 언제 부를지"가 운영 사고의 진앙이 됩니다. function calling의 한 줄 직관과 마케터가 점검할 5가지.