본문으로 건너뛰기

© 2026 Molayo

LangChain헤드라인2026. 05. 21. 03:42

LangSmith를 활용한 회귀 테스트 (Regression Testing)

요약

LLM 애플리케이션의 성능을 지속적으로 추적하고 개선하기 위한 회귀 테스트(Regression Testing)의 중요성과 LangSmith의 접근 방식을 설명합니다. AI 테스트는 전통적인 소프트웨어 테스트와 달리 성능 추적과 실행 결과 간의 데이터 포인트 비교가 핵심이며, LangSmith는 이를 위해 비교 뷰와 지표 기반의 자동 강조 표시 기능을 제공합니다.

핵심 포인트

  • AI 애플리케이션 테스트는 100% 통과를 목표로 하는 전통적 테스트와 달리 성능의 변화 추적과 데이터 포인트 비교가 필수적임
  • 효율적인 AI 엔지니어링을 위해서는 데이터를 빠르게 수동으로 검사할 수 있는 인프라 구축이 중요함
  • LangSmith의 비교 뷰를 통해 여러 실험 결과를 동시에 확인하고 지연 시간 등 다양한 디스플레이 옵션을 제어할 수 있음
  • 기준 실행(Baseline run) 대비 평가 지표가 변동된 데이터 포인트를 자동으로 강조하여 심층 분석을 용이하게 함

LLM (Large Language Model) 애플리케이션을 빠르고 신뢰성 있게 평가할 수 있는 능력은 AI 엔지니어가 확신을 가지고 반복 작업 (Iterate)을 수행할 수 있게 해줍니다. 우리가 목격한 가장 빠르게 움직이고 성공적인 팀 중 다수는 효율적인 테스트 및 실험 프로세스를 갖추고 있습니다. 이는 일반적으로 (1) 입력 데이터셋과 (선택적으로) 기대되는 출력 데이터셋을 설정하고, (2) 몇 가지 평가 기준을 정의하는 과정을 포함합니다. 이를 통해 다양한 프롬프트 (Prompts), 모델 (Models), 인지 아키텍처 (Cognitive Architectures) 등을 평가할 수 있습니다.

이러한 유형의 테스트와 전통적인 소프트웨어 테스트 사이에는 몇 가지 주요한 차이점이 있습니다. 가장 큰 차이점 중 하나는, AI 애플리케이션을 테스트할 때 평가 데이터셋에서 완벽한 점수를 얻지 못할 수도 있다는 점입니다. 이는 테스트가 항상 통과할 것으로 기대하는 소프트웨어 테스트와 대조적입니다. 이러한 차이는 두 가지 연쇄적인 영향을 미칩니다. 첫째, 시간이 지남에 따라 테스트 결과를 추적하는 것이 중요해집니다. 소프트웨어 테스트는 항상 100% 통과하기 때문에 이것이 필수적이지 않지만, AI 엔지니어링에서는 성능이 개선되고 있는지 확인하기 위해 시간이 지남에 따른 성능 추적이 필요합니다. 둘째, 두 개(또는 그 이상)의 실행 결과 사이에서 개별 데이터 포인트 (Datapoints)를 비교할 수 있는 능력이 중요합니다. 모델이 이전에는 맞혔지만 지금은 틀리는 데이터 포인트가 무엇인지(또는 그 반대)를 확인하고 싶기 때문입니다.

제가 관찰한 한 가지 패턴은, 뛰어난 AI 연구자들은 많은 데이터를 수동으로 검사할 의지가 있다는 점입니다. 게다가 그들은 데이터를 빠르게 수동으로 검사할 수 있는 인프라 (Infrastructure)를 구축합니다. 화려하지는 않지만, 데이터를 수동으로 조사하는 것은 문제에 대한 귀중한 직관을 제공합니다.

Jason Wei의 이 인용구는 데이터를 살펴보는 것의 중요성과, 그것을 가능하게 하는 인프라의 중요성을 완벽하게 설명합니다. LangSmith에서 우리는 그러한 인프라를 구축하기 위해 노력하고 있으며, 이는 우리의 회귀 테스트 (Regression Testing) 흐름에 큰 개선을 가져왔습니다.

그렇다면 우리는 그 인프라가 무엇으로 구성된다고 생각할까요?

첫째, 비교를 위해 여러 실험 (experiments)을 선택할 수 있어야 합니다. 최소 두 개가 필요하며, 세 개 또는 네 개를 동시에 볼 수 있는 기능이 있으면 매우 유용합니다. 이를 가능하게 하기 위해 우리는 비교 뷰 (Comparison View)를 구축했습니다. 이를 통해 원하는 만큼의 실행 (runs)을 선택하여 모든 결과를 동시에 볼 수 있는 뷰로 열 수 있습니다.

둘째, 이 비교 뷰에 대해 많은 제어 권한이 필요합니다. 찾고자 하는 내용에 따라 정보를 다양한 방식으로 보고 싶을 수 있습니다. 예를 들어, 어떤 때는 높은 수준의 개요 (high level overview)만 보고 싶을 수도 있고, 어떤 때는 모든 텍스트를 보고 싶을 수도 있으며, 또 어떤 때는 각 호출의 지연 시간 (latency)을 보고 싶을 수도 있습니다. 우리의 디스플레이 옵션 (Display options)을 사용하면 보고 싶은 정보를 쉽게 선택할 수 있습니다.

셋째 — 그리고 가장 중요한 점은 — 두 실행 사이에서 다르게 동작한 데이터 포인트 (datapoints)를 빠르게 심층 분석 (drill into)할 수 있어야 한다는 것입니다. 만약 다르게 동작했다면, 그곳에는 흥미로운 무언가가 일어나고 있는 것입니다! 그렇다면 우리는 이를 어떻게 구현했을까요?

우선, 기준 실행 (baseline run)을 설정합니다. 그런 다음 사용자가 계산한 평가 지표 (evaluation metrics) 중 하나를 가져와, 기준 대비 해당 지표가 증가하거나 감소한 데이터 포인트를 자동으로 강조 표시합니다. 이렇게 하면 일부 셀이 녹색 또는 빨간색으로 음영 처리됩니다.

하지만 그게 전부가 아닙니다! 열 상단의 토글을 선택하여 증가/감소한 데이터 포인트만 쉽게 필터링할 수 있습니다. 데이터 포인트가 많을 경우, 이를 통해 가장 흥미로운 데이터에 빠르게 집중할 수 있습니다.

마지막으로, 관심 있는 행을 식별했다면 해당 행을 쉽게 확장하여 해당 데이터 포인트에 대한 더 총체적이고 구체적인 뷰와 각 실행이 해당 포인트에서 어떻게 성능을 냈는지 확인할 수 있습니다.

이러한 기능들은 여러 평가 실행 (evaluation runs)에 걸쳐 데이터를 탐색하는 것을 쉽게 만들어 줍니다. 이러한 유형의 탐색은 빠르게 반복 (iterate)할 수 있는 능력을 갖추는 데 매우 중요합니다. 여러 실행을 비교하는 이 개념은 AI와 소프트웨어 테스트 사이에서 차이를 보이는 현상이며, 우리는 이를 더욱 쉽게 만들어 줄 몇 가지 기능들을 (곧 출시될 예정입니다!) 준비하고 있습니다!

AI 자동 생성 콘텐츠

본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0