평가 소개¶
인공지능 에이전트를 개발했습니다. 데모에서는 정상적으로 작동합니다. 하지만 이제 수백 건의 실제 대화를 처리해야 하는데, 그 모든 대화를 분석할 수는 없습니다. 에이전트가 제대로 작동하고 있는지 어떻게 알 수 있을까요?
기존 소프트웨어 개발에서 테스트는 이진법(통과/실패)으로 나뉩니다. 하지만 AI에서는 출력값이 확률적 이며 매번 변합니다. 평가(Evaluation) 는 이러한 모호한 "좋은 동작"의 스펙트럼을 추적하고, 신뢰하고, 개선할 수 있는 점수로 체계적으로 변환하는 방법입니다.
평가의 세 가지 핵심 유형¶
1. 판사로서의 법학 석사(LLM)¶
한 언어 모델을 사용하여 다른 언어 모델의 출력 결과를 평가합니다.
가장 적합한 상황: 뉘앙스, 어조, 관련성 (예: “비서가 친절하고 도움이 되는 사람인가요?”)
강점: 코드로는 불가능한 방식으로 언어와 맥락을 이해합니다.
2. 프로그램 규칙¶
출력 결과를 대상으로 실행되는 결정론적 코드 기반 검사.
다음과 같은 경우에 가장 적합합니다: 형식, 길이 및 특정 데이터(예: “JSON에 ‘가격’ 필드가 포함되어 있습니까?”)
장점: 빠르고 저렴하며 100% 일관성이 있습니다.
3. 인간 참여형 시스템¶
수동 검토에서는 사람이 결과물을 평가합니다.
최적의 활용 분야: 시스템을 현실에 기반을 두고 제품의 핵심 목표를 명확하게 파악하는 데 적합합니다.
장점: 높은 정확도; 자동 판정 시스템의 "보정"에 사용됩니다.
전문가 팁: 종합 평가 > 대부분의 운영 시스템은 여러 유형을 하나의 종합 점수로 결합하여 품질을 360도 관점에서 파악할 수 있는 종합 평가를 사용합니다.이 과정에서는 단순히 이론만 다루는 것이 아닙니다. 독립 서점을 위한 AI 에이전트인 ‘더 북셀러(The Bookseller)’ 에 대한 완벽한 평가 시스템을 구축할 것입니다 . 우리는 이 시스템이 다음과 같은 기능을 수행하는지 평가할 것입니다.
실제 재고에서 책을 추천합니다.
품절 상품 요청을 처리합니다.
픽업 주문을 정확하게 처리합니다.
이 과정을 마치면 여러분은 에이전트가 효과가 있기를 “바라는” 단계에서 에이전트가 효과가 있다는 것을 “확신하는” 단계로 나아가게 될 것입니다.
일반 평가 vs 특정 대상 평가¶
일반적인 측정 기준의 함정¶
팀들이 평가를 시작할 때, 흔히 ‘틀에 박힌 생각이 아닌’ 방식, 즉 진실성, 일관성, 그리고 부정적인 요소만을 고려하는 경우가 많습니다. 이러한 요소들이 중요해 보이지만, 제품 개발에는 종종 무용지물입니다. 답변이 100% 진실하고, 100% 일관성이 있으며, 부정적인 요소가 전혀 없더라도 비즈니스에 완전히 실패 할 수 있기 때문입니다.
서점 사례: 고객이 스릴러 소설을 찾습니다. 당신의 에이전트는 아름다운 문체와 완벽한 문법을
갖춘 문학 소설을 추천합니다. 결과: 일반적인 평가에서는 합격점을 받았지만, 상담원이 구체적인 업무를 제대로 수행하지 못했기 때문에 고객은 결국 떠나갔습니다.
맞춤형 평가란 무엇인가요?¶
체계적인 평가는 이론에서 시작하는 것이 아니라 실천 에서 시작합니다 . 실제 운영 로그에서 나타나는 오류 패턴을 관찰하는 것에서 출발하는 것입니다.
일반적인 접근 방식에서 맞춤형 접근 방식으로 전환하는 방법¶
구체적인 평가 결과는 실행 가능합니다. “재고 확인” 평가가 실패하면 프롬프트 또는 도구 로직에서 무엇을 수정해야 하는지 정확히 알 수 있습니다.
워크플로우:
주석 달기: 사람이 실제 로그를 검토하고 실제로 효과가 있었던 부분을 표시합니다.
패턴 파악: 반복적으로 발생하는 “실수”
상황을 찾아보세요(예: “담당자가 책이 품절되었을 때 특별 주문을 제안하는 것을 자꾸 잊어버린다”). 코드화: 특정 패턴을 목표 지향적인 평가로 전환합니다.
이 과정에서는 일반적인 평가 도구를 하나만 만들지 않을 겁니다. 우리는 The Bookseller 에 실질적인 변화를 가져올 수 있는 평가 도구를 만들 것입니다 .
회귀 테스트 - 온라인 평가 vs 오프라인 평가¶
인공지능에서의 회귀 문제¶
기존 소프트웨어에서는 동일한 입력이 항상 동일한 출력을 생성합니다. 하지만 AI에서 LLM(학습 모델)은 확률적 입니다 . 즉, 동일한 프롬프트라도 매번 달라질 수 있습니다. 따라서 단순히 직감에 의존하여 변경 사항이 효과가 있는지 판단할 수 없습니다. 평가는 회귀 테스트 도구 역할을 하여 모델 교체나 프롬프트 수정이 실제로 시스템을 개선했는지 또는 악화시켰는지 알려줍니다.
두 가지 평가 방식¶
1. 오프라인 평가 (더 게이트)¶
오프라인 평가는 제품 출시 전에 골든 데이터셋을 대상으로 실행됩니다.
작동 방식: 엄선된 과거 입력값 및 “정상 작동” 출력값 세트를 사용하여 새 프롬프트 버전을 실행합니다.
목적: 일종의 관문 역할을 합니다. 점수가 떨어지면 배치하지 않고, 점수가 유지되거나 향상되면 진행합니다.
핵심 자산: 골든 데이터셋(다음 수업에서 다룰 예정)
2. 온라인 평가 (안전망)¶
온라인 평가는 실제 사용자가 상담원과 상호 작용하는 실시간 운영 트래픽을 대상으로 실행됩니다.
작동 방식: 자동화된 심사 시스템 또는 프로그램 규칙이 실시간 대화에 점수를 매깁니다.
목적: 실제 운영 환경은 테스트 환경보다 항상 더 복잡합니다. 온라인 평가는 예상치 못한 새로운 사용자 행동이나 골든 데이터셋에서 예측하지 못했던 예외 상황과 같은 "알 수 없는 미지의 요소"를 포착합니다.
주요 상태: 프롬프트의 "상태"를 모니터링하고 오류 발생률이 급증할 경우 경고를 발생시킬 수 있습니다.
실제 업무 흐름: 서점 운영 사례¶
서점 직원이 고객에게 픽업 주문을 더 적극적으로 제안하도록 안내 문구를 수정했다고 상상해 보세요.
오프라인 테스트: 새 프롬프트를 기준 데이터셋에 적용하여 실행합니다. 품질은 안정적으로 유지되고 픽업 제안이 개선됩니다. 결과: 배포.
온라인 모니터링: 온라인 평가가 시작되면 새로운 문제가 발생합니다. 이제 메시지가 너무 강압적으로 표시되어 단순히 둘러보는 사용자에게도 픽업을 제안합니다.
반복 과정: 이 문제를 초기에 발견하고, 프롬프트를 조정하고, 이러한 “탐색” 사례를 골든 데이터셋에 추가한 다음, 사이클을 다시 실행합니다.
결론¶
온라인 및 오프라인 평가가 모두 없다면 모든 프롬프트 수정은 도박과 같습니다. 하지만 이러한 평가를 통해 모든 실패 패턴을 추적할 수 있습니다. 이것이 바로 진화하는 AI 기능과 서서히 무너지는 AI 기능의 차이입니다.
평가의 3가지 데이터 핵심 요소¶
1. 생산 과정 (원자재)¶
추적 기록(또는 로그)은 사용자 상호 작용을 실시간으로 캡처한 것입니다. 여기에는 고객이 제목을 잘못 입력하거나, 모호한 질문을 하거나, 여러 요청을 결합하는 등의 “예상치 못한” 상황이 모두 포함됩니다.
왜 중요할까요? 바로 온라인 평가 의 기반이 되기 때문입니다 . 이러한 지표들은 에이전트가 실제로 어떻게 활용되고 있는지, 단순히 기대했던 대로 활용되고 있는지가 아니라 정확하게 보여줍니다.
문제는 추적 과정이 복잡하고 "정답"이 없다는 것입니다. 응답이 실제로 적절했는지 여부를 판단하려면 사람이 직접 주석을 달아야 합니다.
2. 골든 데이터셋(실제 데이터셋)¶
골든 데이터셋은 “좋은” 기준이 명확하게 정의된, 엄선되고 신호가 우수한 입력-출력 쌍의 모음입니다.
왜 중요한가: 오프라인 평가 의 핵심이기 때문입니다 . 고정된 기준점을 통해 변화를 측정할 수 있으므로, 변경 사항을 확실하게 테스트할 수 있습니다.
큐레이션 팁: 쉽게 성공할 수 있는 사례만 포함하지 마세요. 훌륭한 골든 데이터셋에는 예외적인 경우, 모호한 요청, 그리고 알려진 실패 패턴까지 모두 포함되어야 합니다.
투자: 구축 비용이 많이 들지만(수동 검토 필요), 더 빠르고 안전한 반복 작업을 가능하게 함으로써 투자 가치를 회수할 수 있습니다.
3. 합성 데이터 (공백 메우기)¶
합성 데이터는 AI가 생성한 테스트 데이터로, 적용 범위를 확장하는 데 사용됩니다.
왜 중요한가: 골든 데이터셋에 고객이 대량 주문이나 해외 배송에 대해 문의하는 등의 특정 시나리오가 누락된 경우, LLM을 사용하여 그러한 대화를 생성할 수 있습니다.
최적의 활용 사례: 빠르게 시작하거나 기존 데이터 분포의 부족한 부분을 채우는 데 매우 유용합니다.
데이터 선순환 구조는 어떻게 작동하는가¶
건전한 AI 개발 주기에서는 이 세 가지 유형이 서로 영향을 주고받습니다.
실제 작동 방식을 확인하려면 생산 과정을 추적하세요 .
오류 패턴을 찾기 위해 해당 추적 기록에 주석을 추가하세요 .
가장 우수하거나 어려운 예제를 골든 데이터셋 에 추가하세요 .
테스트에서 남은 공백을 메우기 위해 합성 데이터를 생성하세요 .
이 세 가지 요소의 균형을 유지함으로써 현실적이면서도 포괄적인 평가를 수행할 수 있습니다.