
영상 링크: Evals 101 — Doug Guthrie, Braintrust
채널명: AI Engineer
Evals 101 — Doug Guthrie, Braintrust 핵심 요약
- ‘Evals(평가)’는 대형언어모델(LLM) 기반 애플리케이션의 품질, 신뢰성, 정확성 등을 정량적으로 관리할 수 있게 해 주는 구조화된 테스트 체계로, Braintrust 플랫폼에서 이를 쉽게 구축하고 운영할 수 있도록 지원함
- Braintrust는 개발자들이 LLM 앱을 만들 때 오프라인(개발 단계)과 온라인(운영 단계) 모두에서 평가를 적용해 품질 개선의 ‘플라이휠 효과’를 만들 수 있도록 설계됨
- 평가를 시작하려면 최소한 ‘Task(테스트할 프롬프트/워크플로)’, ‘Dataset(입출력 예시)’, ‘Score(채점 로직)’ 세 가지 구성 요소가 필요함
- Score는 코드 기반(TypeScript/Python 개발) 혹은 LLM as a Judge(생성된 결과를 LLM이 기준에 따라 분류)로 만들 수 있으며, 빠른 시작을 위한 자동평가(Auto Evals) 패키지도 탑재
- Braintrust 플랫폼과 SDK(주로 Python/TypeScript)를 통해 UI상 실험(playground)·버전 관리·코드 연동·자동화(CI/CD) 연동 등 다양한 워크플로 방식을 지원함
- 실제 사용자 및 자동화된 모니터링을 통해 운영 중인 모델 로그와 평가 결과를 실시간으로 수집, 문제 상황 신속 탐지 및 품질 회귀(Alert) 방지 가능
- ‘Human in the Loop’로서 개발자, 제품 매니저, 실제 유저 또는 전문가가 평가에 직접 참여해 정성·정량적 피드백을 남기고, 이는 오프라인 평가 데이터셋으로 재활용되어 품질 개선 선순환을 촉진함
- 실제 고객 사례에서는 고품질 모델을 채점에, 상대적으로 저렴한 모델을 실서비스에 활용하는 등 유연한 운영 사례가 보고되며, 반복적 실험/비교/자동보고도 가능
- SDK로 실험 데이터, 데이터셋, 로그, 점수 등 각종 정보를 외부 대시보드/툴로 추출할 수 있어 유연한 통합환경 구축이 용이함
- 오프라인 평가(출시 이전 신뢰도 증진), 온라인 운영 중 다수 모델 AB 테스트, 인간 평가자 간 점수 편차 관리, 평가 기준 래버릭(rubric) 통일 등 실전 운영 고민에 대한 실질적 팁도 포함
세부 요약 - 주제별 정리
Braintrust 플랫폼은 LLM 애플리케이션 품질 평가를 위한 통합 솔루션을 제공함
- Braintrust는 AI 제품 개발자들을 위한 엔드-투-엔드 플랫폼으로, LLM 관련 애플리케이션의 ‘평가(Eval)’, 품질관측(Observability), 실험 및 피드백 수집 등 개발~운영에 필요한 모든 기능을 제공함
- Anker Goyle CEO가 몇 차례 회사 창업에 참여하며 현장 화두로서 ‘평가 플랫폼’ 필요성에 착안, Braintrust를 시작함
- 현재 여러 기업들이 실제로 Braintrust를 프로덕션에 도입해 사용 중임(고객사 명단 언급)
‘평가(Eval)’는 LLM 개발에서 품질 보증 및 개선 전략의 핵심 도구임을 주장함
- LLM 특성상 출력이 비결정적이기(Non-deterministic) 때문에, 기존 소프트웨어 테스트(유닛테스트 등)만으로는 충분한 품질·신뢰성 보장이 어려움
- 모델, 프롬프트, 워크플로 등 내부 요소를 변경할 때 “성능이 개선/악화되었는가”에 대해 객관적 근거가 필요하며, 이를 체계화하는 수단이 Eval임
- 단순 ‘방어적’ 테스트(실패 탐지)가 아니라 ‘공격적(적극적) 개발’의 도구로, 지속적 품질 향상을 위한 핵심 역할을 한다고 강조
- 비즈니스적으로는 오프라인-온라인 평가를 반복해 활용함으로써 실제 사용자 경험을 개발 개선에 반영하는 ‘플라이휠 효과’를 구현 가능
- 실제 고객사들은 개발 속도, 생산 투입 AI기능 수, 어플 품질 측면에서 Braintrust 도입 이후 개선 효과를 얻었다고 보고됨
오프라인(개발·테스트 단계)과 온라인(운영중 실시간 평가) 평가의 역할과 차이를 명확히 설명함
- 오프라인 평가는 모델 배포 전(Pre-production) 단계에서 이뤄지며, 신규 프롬프트·논리 및 평가 로직을 반복 실험·개선하는 데 사용됨
- 데이터셋, 평가 기준, 기대 출력 등을 정의해 “기준선(baseline)”을 만들고, 반복적으로 상대 비교 방식으로 발전시킴
- 온라인 평가는 실제 프로덕션(an actual production)에서 운영 중인 LLM 인스턴스의 각종 입력/출력, 중간 스텝(도구 호출, 응답, 이력 등) 실시간 로깅·분석에 활용됨
- 실시간 메트릭(비용, 토큰, 지연시간 등) 뿐 아니라, 품질·신뢰성 이슈 감지, Latency 관리 등도 지원
- 온라인 평가의 결과 역시 오프라인 데이터셋으로 환류(Feedback loop)할 수 있음
평가 시스템(Eval)은 Task, Dataset, Score 세 가지 핵심 구성 요소로 이루어짐
- Task: 평가 대상 프롬프트, 또는 다중 단계·에이전트 기반 워크플로 등 (단, 필수 조건은 입력/출력이 정의되어야 함)
- Dataset: 실제 테스트에 사용할 입력 및(선택적으로) 기대 출력 집합; 메타정보(유저 정보 등)도 포함해 필터링·분석 가능
- Score: 평가 로직. LLM as Judge(LLM이 기준에 따라 평가)와 코드 기반 점수(바이너리/헤우리스틱) 모두 지원
- LLM as Judge: 기준에 따라 탁월함/보통/미흡 등 LLM이 1·0.5·0 등 점수화
- 코드 기반: TypeScript/Python 등으로 커스텀 로직도 작성 가능
- Levenshtein 거리 등 기본 점수 제공, 더 고도화 필요시 커스텀 가능
반복적 실험과 데이터셋/기준선 구축은 “작게 시작, 점진적 개선” 전략으로 추진할 것을 권장함
- 황금 데이터셋(golden dataset) 구축에 집착하지 말고, 작은 기준선부터 시작해 점진적으로 개선하는 것이 현실적임을 강조
- 예: 출력은 괜찮은데 점수가 낮으면 평가 기준 개선, 결과는 나쁜데 점수가 높으면 평가 로직 개선 등 판단 매트릭스를 활용
- 다양한 테스트 타입을 통해, 애플리케이션 개발자가 빠르게 방향성을 잡을 수 있도록 실질 데이터 기반 의사결정 지원
Braintrust 플랫폼에서는 Playground·Experiments 등 실험 기반 개발이 가능함
- Playground: 개발자, PM, 의료기관의 의사 등 다양한 역할의 사용자가 프롬프트/데이터셋/점수/에이전트 등 연동해 반복 실험
- 실시간 결과 요약, 다양한 비교 레이아웃 제공(기존 세팅 vs. 변경 세팅, 정확성·완성도·포맷 등 점수별 상세 비교)
- Experiments: 특정 시점(스냅샷) 실험 결과 저장 및, 시간 경과에 따른 변화·추이 분석(각종 모델/프롬프트/버전 비교)
- 실험 저장, 여러 실험 결과 병렬 비교, 즉각적 피드백이 가능
SDK를 통한 코드 중심 개발 및 CI/CD, 외부 대시보드 연동 워크플로도 쉽게 지원함
- Python, TypeScript 외 Go, Java, Kotlin 등 다양한 SDK 제공
- 코드베이스 내에서 프롬프트, 데이터셋, 점수 정의 후 UI로 푸시 및 버전 관리 가능
- CI/CD (GitHub Action 등) 파이프라인 연동하여 자동화된 오프라인 평가 완료/실패 체크로 품질 안전망 강화
- 운영 메트릭, 실험 데이터 등을 SDK를 통해 외부 시스템/대시보드로 손쉽게 추출 및 통합 활용 가능(타사 사례 언급)
운영 환경에선 로그 수집 및 다양한 스팬 단위 평가, 사용자·인간 리뷰 등 다차원 피드백 루프가 구현됨
- LLM 클라이언트/도구 호출 등 함수별 래핑·트레이싱으로 로그 구조화 및 세분화 가능
- 운영 중인 각종 Task/Span(부분 프로세스)마다 지정 점수, 평가 기준, 샘플링 비율(10%, 20% 등)로 평가 룰 유연 설정 가능
- 품질 지표 임계값 하락 시, 자동으로 Regression Alert 생성(AI 성능 회귀 경고)
- 로그/평가 필터링 기능(예: 유저피드백=0) 및 커스텀 뷰로, 정밀 디버깅 및 ‘히트-앤드-픽스’ 실무 적용
인간 평가자(개발자, PM, 전문가 등, Human in the Loop)의 역할과 설정법을 상세히 안내함
- 실제 인력(예: 엔지니어, PM, LLM스페셜리스트, 전문가·의사 등)이 리뷰에 참여할 수 있음
- Human Review 모드에서 로그별 손쉬운 입력/출력 검토 및 커스텀 점수(텍스트, 숫자 등) 추가 가능
- 리뷰 기준 및 점수 채점자별 편차 문제는 ‘루브릭(rubric)’을 미리 문서화·공유해 통일성 확보 권고
- 기업 규모·조직 특성에 따라 다양한 Human in the Loop 운영 전략 가능(노션 사례 등 언급)
- 실제 유저의 피드백(버튼 클릭, Text 입력 등)도 정량·정성평가로 연계, 필터링하여 품질 개선 루프로 환류
반복적 활용 및 합리적 평가 기준 적용을 위한 실제 노하우와 테크팁이 포함됨
- 채점에선 서비스 모델은 비용 저렴한 모델, 채점은 더 고품질 모델(Ex. GPT-4 등) 추천
- 채점 기준은 여러 항목(정확성/형식/정합성 등)별로 쪼개어, 각각 독립적으로 평가/개선할 것
- 평가 프롬프트/채점 기준은 Playground에서 미리 검증 후 도입 권고
- 과도한 문맥/입력 확장은 피하고, 꼭 필요한 입력/출력에 집중
- 버전관리(실험/평가/코드 모두) 및 조직 내 협업 플로우도 지원함
AB 테스트 및 멀티모델 실험, 평가자간 채점 편차 등 실무 운영 기준도 상세히 다룸
- 실제 운영(프로덕션) 중 여러 모델(AB테스트) 동시 비교, 각 모델별 성능 추적·비교 가능
- 평가자별 점수 차이에 대해선 로그별 ‘누가’ 채점했는지 확인 가능, 필요시 통계분석 등 외부 도구 연계 활용 가능(별도 내장 뷰는 언급 없음)
- 운영 중 반복 데이터, 주요 로그는 오프라인 데이터셋으로 바로 환류 가능(적합 사례만 복사 등)
- 정부기관 등 출시 전 신뢰도 보장 요구 시, 전문가 집단이 대규모 질문 리스트 생성·평가 후 기준점(Accurcay 등) 달성 확인 → 출시에 활용 가능(출시 전 검증 플로우)
플랫폼의 유연성과 외부 연동성은 실전 환경에서도 충분히 입증되고 있음
- SDK를 통해 각종 실험, 데이터셋, 점수·로그 등 원본 정보 추출이 가능해, 조직마다 자체 대시보드/시각화 환경 구축 사례 존재
- 전체 워크플로 중 어디서 시작(코드, UI, 데이터 등)하든 자유롭게 선택 가능, 다양한 유형의 팀·조직에 적합
인간 피드백 및 실험 기반 ‘플라이휠 효과’가 AI 품질 개선과 신뢰도 구축의 핵심임을 재차 강조함
- 실시간 운영/사용자/인간평가자의 피드백이 신속히 데이터셋과 평가에 반영되는 선순환(플라이휠 효과)이, AI 애플리케이션의 지속적 품질 향상에 핵심
- 복수 평가자 및 유저피드백 기반의 리뷰/개선 루프는 실제 신뢰도 확보 및 서비스 품질 유지에 직접적 영향을 미침
- 오프라인/온라인/인간/자동평가 등 다층적·지속적 품질관리가 가능한 것이 Braintrust의 차별화 포인트임