////
Search
🏗️

LLM as a Judge를 활용한 CodeBuddy 성능 평가

날짜
2025/03/08
태그
LLMasaJudge
파일과 미디어
https://tech.kakao.com/posts/690

들어가며

최근 AI 모델의 성능을 비롯해 다양한 유형의 콘텐츠나 응답을 평가하는 방법으로 LLM as a Judge 접근법이 활발히 논의되고 있습니다. 카카오의 AI 코드 리뷰 서비스인 CodeBuddy 역시 이 방식을 활용해 사용 중인 LLM의 성능을 평가했습니다.
LLM as a Judge를 적용함으로써, 규모가 크고 복잡한 PR 기반 코드 리뷰 태스크의 성능 평가를 수행할 수 있었으며, 평가 과정에서 사람의 개입 없이 다양한 모델과 복잡한 태스크를 신속하고 일관되게 평가할 수 있다는 점을 확인했습니다. 하지만 여러 차례 모델 튜닝과 성능 평가를 진행하는 과정에서 LLM as a Judge 활용 시 고려해야 할 점, 편향(Bias) 등의 한계도 발견되었습니다.
이번 글에서는 LLM as a Judge의 개념과 실제 활용 경험을 공유하고자 합니다.

LLM as a Judge

LLM as a Judge는 LLM을 활용해 응답의 정확성, 일관성, 창의성 등 다양한 측면을 평가하는 방법입니다. 이 방식의 가장 큰 장점은 사람의 개입 없이 자동 평가가 가능하다는 점이며, 주관성을 최소화하면서 일관된 평가 기준을 유지할 수 있다는 점입니다.
뛰어난 성능의 최신 LLM을 평가자로 활용하면 인간의 선호도와 유사한 수준의 결과를 얻을 수 있어, 확장 가능하고 설명 가능한 평가 방식으로 주목받고 있습니다. 물론 Chatbot Arena와 같은 인간 평가 방식이 더 정확할 수 있지만, 사람을 동원한 평가는 시간과 비용이 많이 들고 확장성이 제한된다는 단점이 있습니다. 또한, 단순한 질의응답(Q&A) 수준이 아닌 복잡한 태스크의 경우, 사람이 직접 평가하는 것이 쉽지 않습니다.
CodeBuddy는 GitHub PR(Pull Request) 기반의 코드 리뷰 태스크를 평가하는 과정에서 LLM as a Judge 방식을 적극적으로 활용했습니다. PR의 프롬프트 크기는 수천~수만 토큰에 달하며, 핵심 컨텍스트도 코드 패치(diff) 형태로 제공되기 때문에 사람이 일일이 확인하며 평가하는 것은 매우 어려운 작업입니다. 게다가 PR의 개발 언어나 도메인에 대한 전문성이 부족한 경우, 평가의 정확도가 떨어질 가능성이 큽니다.
이러한 한계를 극복하기 위해 CodeBuddy는 LLM을 활용하여 코드 리뷰 태스크의 성능을 평가했고, 이를 통해 복잡한 코드 변경 사항을 보다 효율적으로 분석하고 비교할 수 있었습니다.