에이전트 테스트하기

에이전트 테스트하기 (Test)

에이전트 기반 애플리케이션은 LLM이 스스로 다음 단계를 결정해서 문제를 풀도록 만들죠. 이 유연성은 강력하지만, 모델이 블랙박스라서 에이전트의 한 부분을 살짝 바꿨을 때 전체에 어떤 영향이 갈지 예측하기 어려워요. 프로덕션에 내놓을 만한 에이전트를 만들려면 충분한 테스트가 필수입니다. 에이전트를 테스트하는 방법에는 크게 세 가지가 있어요.

출처: LangChain 공식 문서 — Test

세 가지 테스트 접근법

접근법 무엇을 하는가 특징
단위 테스트 (Unit tests) 에이전트의 작고 결정적인 조각을 인메모리 페이크로 격리해서 실행 동작을 빠르고 결정적으로 단정(assert)
통합 테스트 (Integration tests) 실제 네트워크 호출로 에이전트를 테스트해서 컴포넌트가 함께 동작하는지, 자격 증명과 스키마가 맞는지, 지연 시간이 수용 가능한지 확인 구성 요소 간 협력 확인
Evals (평가) 이밸류에이터(evaluator)로 에이전트의 실행 궤적(trajectory)을 평가. 결정적 매칭 또는 LLM 판정 회귀(regression) 탐지에 유용

에이전트 애플리케이션은 여러 컴포넌트를 연결하고 LLM의 비결정적 특성 때문에 깜빡임(flakiness)을 다뤄야 하므로, 일반적으로 통합 테스트에 더 많이 의존해요.

시간에 따른 결과를 추적하고, 실험을 비교하며, 대규모로 평가를 실행하려면 LangSmith를 사용하세요. 시작하려면 LLM 애플리케이션 평가하기를 보면 됩니다.

각 접근법은 별도 페이지에서 더 자세히 다룹니다.

  • 단위 테스트 (Unit testing) – 채팅 모델을 모킹하고 인메모리 영속성을 사용해서 API 호출 없이 에이전트 로직을 테스트합니다.
  • 통합 테스트 (Integration testing) – 실제 LLM API로 에이전트를 테스트합니다. 테스트 구성, 키 관리, 깜빡임 대처, 비용 관리까지 다룹니다.
  • Evals – 결정적 매칭 또는 LLM-as-judge 이밸류에이터로 에이전트 궤적을 평가합니다.

더 알아보기 (Learn more)