LangSmith 평가
LangSmith 평가 (Evaluation)
에이전트의 품질이 괜찮은지 어떻게 확인해야 할지 고민될 때가 많아요. LangSmith의 평가 도구는 에이전트 품질을 측정하고, 프롬프트를 반복 개선하며, 실시간으로 디버깅하는 과정을 한데 묶어줘요. 평가는 테스트의 핵심으로, 데이터셋과 기준에 맞춰 에이전트의 출력을 점수화해서 버전 간 벤치마크, 회귀(regression) 포착, 시간에 따른 품질 추적을 가능하게 해줘요.
한 번 봤던 실패를 놓치지 않는 방법이 있어요. 실제 trace를 데이터셋에 추가해 두면, "한 번 보였던 실패"가 "매번 실행하는 테스트"로 바뀌거든요.
오프라인 평가와 온라인 평가
LangSmith는 평가가 실행되는 시점과 장소에 따라 두 가지 유형을 지원해요.
- 오프라인 평가(Offline Evaluation) — 출시 전에 테스트해요. 개발 중에 큐레이션된 데이터셋으로 평가를 돌려 버전을 비교하고, 성능을 벤치마킹하며, 회귀를 잡아요.
- 온라인 평가(Online Evaluation) — 프로덕션에서 모니터링해요. 실제 사용자 상호작용을 실시간으로 평가해 실서비스 트래픽에서 이슈를 감지하고 품질을 측정해요.
두 평가 유형의 차이를 더 자세히 알고 싶다면 Evaluation concepts 페이지를 참고해요.
계정 준비
smith.langchain.com에서 가입하고(신용카드 불필요), Google·GitHub·이메일 중 원하는 방식으로 로그인해요. 그다음 Settings > API Keys > Create API Key에서 키를 만들어 안전하게 저장해요. 계정과 API 키가 준비되면 첫 평가 실행으로 넘어가면 돼요.
평가 워크플로
오프라인 평가 흐름은 네 단계로 나눠요.
- 데이터셋 만들기 — 수동 큐레이션 테스트 케이스, 과거 프로덕션 trace, 합성 데이터 생성으로 examples(입력과 참조 출력을 가진 개별 테스트 케이스)를 담은 dataset을 만들어요.
- 평가자 정의하기 — 성능을 점수화할 evaluators를 만들어요. 사람 검토(Human), 코드 규칙(Code), LLM-as-judge, 쌍 비교(Pairwise) 중 골라요.
- 실험 실행하기 — 데이터셋에서 애플리케이션을 실행해 experiment(특정 애플리케이션 버전을 데이터셋에서 평가한 결과)를 만들어요. 반복·동시성·캐싱을 설정해 실행을 최적화할 수 있어요.
- 결과 분석하기 — 실험을 비교해 벤치마킹·단위 테스트·회귀 테스트·백테스팅에 활용해요.
온라인 평가 흐름도 네 단계로 이어져요.
- 애플리케이션 배포 — 각 상호작용이 참조 출력 없이 run(입력·출력·중간 단계를 포함한 단일 실행 trace)을 만들어요.
- 온라인 평가자 구성 — 안전 검사, 형식 검증, 품질 휴리스틱, 참조 없는 LLM-as-judge 등 자동 실행될 평가자를 프로덕션 trace에 설정해요. 필터와 샘플링 비율로 비용을 조절해요.
- 실시간 모니터링 — 평가자가 run이나 thread(관련 run의 모음, 다중 턴 대화)에 자동 실행돼 실시간 모니터링·이상 감지·알림을 제공해요.
- 피드백 루프 구축 — 실패한 프로덕션 trace를 dataset에 추가하고, 맞춤 평가자를 만들고, 오프라인 실험으로 수정을 검증한 뒤 재배포해요.
시작 포인트
- 평가 퀵스타트 — 오프라인 평가로 시작
- 데이터셋 관리 — UI 또는 SDK로 평가용 데이터셋 생성·관리
- 오프라인 평가 실행 — 평가 유형·기법·프레임워크 탐색
- 결과 분석 — 결과 보기·실험 비교·데이터 필터·결과 내보내기
- 온라인 평가 실행 — Observability 탭에서 프로덕션 품질 실시간 모니터링
- 튜토리얼 — 간단한 챗봇부터 복잡한 에이전트 평가까지 단계별 학습
- Studio — 에이전트를 개발·디버깅하는 인터랙티브 환경