LLM 개발의 새로운 표준, '평가 우선' 방법론
- •소프트웨어 개발자 Vasyl은 LLM 기반 기능의 객관적인 품질 지표를 강제하기 위해 '평가 우선(eval-first)' 개발을 제안했다.
- •책 읽기 앱에서 스포일러 방지를 위해 프롬프트 지시어 대신 SQL 기반의 구조적 제약 조건을 도입하여 기술적 보장을 실현했다.
- •정량적 성능 목표를 달성하기 위해 벡터 검색과 전문 검색을 결합한 하이브리드 검색 방식을 채택했다.
소프트웨어 개발자 Vasyl은 대규모 언어 모델(LLM) 기반 기능을 구축할 때 시연에만 치중한 불안정한 출력물을 피하기 위해, 코드 작성 전 정량적 성능 지표인 '평가(evals)'를 먼저 정의해야 한다고 주장한다. 그는 '책 질문하기(Ask This Book)' 기능을 개발하며 스포일러 유출을 방지하기 위해 초기에는 프롬프트 엔지니어링에 의존했다. 하지만 확률에 기반한 프롬프트는 스포일러 차단을 확실히 보장할 수 없다고 판단했다. 이에 따라 프롬프트 지시 대신 SQL 논리를 활용한 검색 게이트(WHERE chapter_ord <= @maxChapterOrd)라는 구조적 제약을 구현하여, 미래 챕터 데이터가 컨텍스트 윈도우에 진입하는 것을 기술적으로 원천 차단했다.
그는 이 '평가 우선' 방법론을 검색 품질에도 적용하여, 정확한 구절이 검색 결과 상단에 위치하고 답변이 반드시 인용된 구절에 근거해야 한다는 두 가지 목표를 수립했다. 시스템 성능을 수치로 측정할 수 있게 됨에 따라, 단순 의미론적 검색을 넘어 벡터 검색과 전문 검색(Full-text search)을 결합한 하이브리드 방식을 채택했다. 이때 Reciprocal Rank Fusion을 활용하여 검색 순위를 재조정했으며, 이러한 아키텍처 변경은 주관적 선호가 아닌 사전 설정된 정량적 임계값을 충족하기 위해 이루어졌다.
정확성과 근거 수준을 평가하기 위해 Microsoft.Extensions.AI.Evaluation 라이브러리를 활용하고 있으며, 평가 로직은 기존 프레임워크를 사용하되 검색 및 융합 로직은 품질 판단의 투명성을 위해 직접 구현했다. Vasyl은 이 접근 방식이 전통적인 소프트웨어 공학의 테스트 주도 개발(TDD)과 유사하다고 강조한다. 그는 기존 코드에서 컴파일러와 타입 시스템이 안정성을 보장한다면, AI 시스템에서는 평가가 개발 완료 시점을 정의하고 단순히 그럴듯해 보이는 추측성 결과를 배포하지 않도록 하는 핵심 기제라고 설명한다.