Test Run Comparisons
Quick Summary
LangChain은 LLM 애플리케이션 개선을 위해 테스트 실행 결과를 나란히 비교하고, 자동 평가 점수와 수동 검토를 함께 활용할 수 있는 LangSmith의 Test Run Comparisons 기능을 소개한다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
LangChain은 LLM 애플리케이션 개선을 위해 테스트 실행 결과를 나란히 비교하고, 자동 평가 점수와 수동 검토를 함께 활용할 수 있는 LangSmith의 Test Run Comparisons 기능을 소개한다.
📌 핵심 요약
- 글은 좋은 AI 연구자와 엔지니어가 많은 데이터를 직접 살펴보며 문제에 대한 직관을 얻고, 이를 빠르게 수행할 수 있는 인프라를 만든다는 관찰에서 출발한다.
- LLM 애플리케이션에서는 프롬프트, 체인, 에이전트 변경이 실제 성능에 어떤 영향을 주는지 정량적으로 평가하기 어렵고, LLM 보조 평가 역시 완전히 신뢰하기는 어렵다고 설명한다.
- LangSmith의 초기 버전은 테스트 실행과 LLM 보조 피드백 점수를 지원했지만, 각 테스트 실행이 고립되어 있어 이전 반복과 비교하기에는 부족했다.
- Test Run Comparisons는 같은 데이터셋에서 두 개 이상의 테스트 실행을 선택해 입력, 기준 출력, 실제 출력, 평가 지표, 실행 시간과 지연 시간을 나란히 비교하도록 설계됐다.
- 사용자는 행을 클릭해 특정 데이터포인트의 세부 실행 내용을 살펴보고, 열 필터를 이용해 한 실행은 맞고 다른 실행은 틀린 사례처럼 큰 차이가 나는 부분을 빠르게 찾아낼 수 있다.
🧩 주요 포인트
- 글은 좋은 AI 연구자와 엔지니어가 많은 데이터를 직접 살펴보며 문제에 대한 직관을 얻고, 이를 빠르게 수행할 수 있는 인프라를 만든다는 관찰에서 출발한다.
- LLM 애플리케이션에서는 프롬프트, 체인, 에이전트 변경이 실제 성능에 어떤 영향을 주는지 정량적으로 평가하기 어렵고, LLM 보조 평가 역시 완전히 신뢰하기는 어렵다고 설명한다.
- LangSmith의 초기 버전은 테스트 실행과 LLM 보조 피드백 점수를 지원했지만, 각 테스트 실행이 고립되어 있어 이전 반복과 비교하기에는 부족했다.
- Test Run Comparisons는 같은 데이터셋에서 두 개 이상의 테스트 실행을 선택해 입력, 기준 출력, 실제 출력, 평가 지표, 실행 시간과 지연 시간을 나란히 비교하도록 설계됐다.
- 사용자는 행을 클릭해 특정 데이터포인트의 세부 실행 내용을 살펴보고, 열 필터를 이용해 한 실행은 맞고 다른 실행은 틀린 사례처럼 큰 차이가 나는 부분을 빠르게 찾아낼 수 있다.
🧠 상세 정리
1. 수동 데이터 검토의 중요성
글은 제이슨 웨이의 인용문을 통해 뛰어난 AI 연구자들이 많은 데이터를 직접 살펴보는 일을 중요하게 여긴다고 소개한다. 단순히 수작업 검토를 많이 하는 데 그치지 않고, 그런 검토를 빠르게 할 수 있는 인프라를 만든다는 점을 강조한다. 수동 데이터 검토는 화려한 작업은 아니지만, 문제의 성격과 모델의 실패 양상을 이해하는 데 필요한 직관을 제공한다. 이 관점이 LangSmith의 Test Run Comparisons 기능을 설명하는 출발점이 된다.
2. LLM 애플리케이션 평가의 어려움
저자는 LLM 애플리케이션을 만들 때 평가가 여전히 가장 어려운 부분 중 하나라고 말한다. 프롬프트, 체인, 에이전트를 바꿨을 때 그 변화가 결과에 어떤 영향을 주었는지 정량적으로 판단하기가 쉽지 않기 때문이다. LangChain은 LLM 보조 평가에 긍정적인 입장이지만, 동시에 그런 평가를 완전히 신뢰하기 어렵다는 현실도 인정한다. 따라서 자동 점수만 보는 방식이 아니라, 사람이 실제 데이터포인트를 직접 확인할 수 있는 평가 흐름이 필요하다고 본다.
3. 기존 LangSmith 테스트 기능의 한계
LangSmith의 초기 릴리스에는 테스트 실행 기능과 LLM 보조 피드백을 통한 채점 기능이 포함되어 있었다. 그러나 당시에는 각 테스트가 독립적으로 실행되어, 특정 실행 결과를 이전 반복이나 다른 실험과 직접 비교하기 어려웠다. 사용 과정에서 두 가지 패턴이 드러났는데, 하나는 사용자들이 LLM 보조 피드백을 그대로 신뢰하는 데 조심스러워한다는 점이었다. 다른 하나는 단일 실행의 점수뿐 아니라 이전 실행과의 차이를 함께 보고 싶어 한다는 점이었다.
4. Test Run Comparisons의 설계 목표
Test Run Comparisons는 이러한 사용 패턴을 반영해 여러 테스트 실행을 나란히 비교할 수 있는 사용자 경험을 제공하는 것을 목표로 한다. 자동 평가, 정규식 기반 평가, 기타 평가 방식이 산출한 점수를 먼저 참고하되, 사용자가 그 결과를 바탕으로 개별 데이터포인트를 직접 탐색할 수 있도록 만든다. 즉, 이 기능은 자동 평가를 대체하거나 무조건 신뢰하게 만드는 도구가 아니라, 자동 점수와 수동 검토를 연결하는 인터페이스다. LangChain은 이를 통해 사용자가 모델 동작을 더 빠르게 이해하도록 돕고자 한다.
5. 비교 화면과 세부 탐색 방식
사용자는 먼저 데이터셋을 설정하고 테스트를 실행한 뒤, 데이터셋 안에서 두 개 이상의 테스트 실행을 선택해 Compare 버튼을 누를 수 있다. 비교 화면에서는 같은 입력에 대해 기준 출력, 각 테스트 실행의 실제 출력, 평가 지표, 실행 시간과 지연 시간을 함께 확인할 수 있다. 이 구조는 동일한 데이터포인트에서 서로 다른 실행이 어떻게 달라졌는지 빠르게 파악하도록 설계되어 있다. 특정 행을 클릭하면 사이드바가 열리고, 해당 데이터포인트에 대한 실행 세부 정보를 더 깊게 살펴볼 수 있다.
6. 필터를 통한 차이점 발견과 개선 방향
비교 화면에는 엑셀과 유사한 열별 필터가 추가되어 있어, 사용자는 원하는 기준에 따라 데이터포인트를 좁혀 볼 수 있다. 글에서 추천하는 시작 방식은 한 테스트 실행에서는 정답인 데이터포인트와 다른 테스트 실행에서는 오답인 데이터포인트를 필터링하는 것이다. 이렇게 하면 두 실행 사이에 의미 있는 차이가 발생한 지점을 빠르게 찾아낼 수 있고, 무엇이 바뀌었는지 더 쉽게 추적할 수 있다. 결론적으로 이 기능은 평가 데이터셋을 기반으로 실행 간 차이를 이해하고, LLM 애플리케이션을 개선하는 데 필요한 실질적인 관찰 과정을 지원한다.
🧾 핵심 주장 / 시사점
- LLM 애플리케이션 평가는 자동 점수만으로 끝내기 어렵고, 사람이 데이터포인트를 직접 들여다볼 수 있는 구조가 함께 필요하다.
- 테스트 실행을 고립된 결과로 보지 않고 이전 반복과 비교하면, 프롬프트나 체인 변경이 실제로 만든 차이를 더 명확히 찾을 수 있다.
- 좋은 평가 도구의 핵심은 평가를 완전히 자동화하는 것이 아니라, 자동 평가가 표시한 단서를 바탕으로 사람이 빠르게 판단하고 학습할 수 있게 하는 데 있다.
✅ 액션 아이템
- 같은 데이터셋에서 변경 전후 테스트 실행을 최소 2개 이상 골라 입력·기준 출력·실제 출력·평가 지표·실행 시간과 지연을 나란히 비교한다.
- 자동 점수의 신뢰 한계를 보완하려고 행을 클릭해 실행별 상세 내용을 직접 확인하고 오탐·미탐 패턴을 수동으로 판별한다.
- 열 필터를 활용해 한 실행은 맞고 다른 실행은 틀린 데이터포인트를 빠르게 찾아 변경 영향이 큰 사례부터 점검한다.
❓ 열린 질문
- LLM 보조 평가가 완전 신뢰되지 않을 때 어느 수준부터 수동 검토 결과를 우선 반영할 것인가?
- 프롬프트·체인·에이전트 변경 실험에서 같은 데이터셋 비교 시 어떤 기준으로 실행 쌍을 선택해 이전 반복 대비 성능 변화를 판단할 것인가?
- 한 실행은 맞고 다른 실행은 틀린 사례를 열 필터로 고를 때 정량 지표와 지연 지표 중 어디에 먼저 가중치를 둘 것인가?