번역 자료 / / 2025. 5. 19. 12:49

Pytest/Vitest와 LangSmith로 ReAct 에이전트 테스트하기

이 튜토리얼에서는 Pytest, Vitest/Jest 등 인기 있는 테스트 도구와 LangSmith의 통합을 활용해 LLM 애플리케이션을 평가하는 방법을 안내합니다.
공개 주식에 대한 질문에 답하는 ReAct 에이전트를 만들고, 이를 위한 종합적인 테스트 스위트를 작성합니다.


환경 설정(Setup)

이 튜토리얼에서는 LangGraph(에이전트 오케스트레이션), OpenAI GPT-4o, Tavily(검색), E2B(코드 인터프리터), Polygon(주식 데이터 조회)을 사용합니다.
다른 프레임워크, 모델, 도구로도 약간의 수정만으로 적용할 수 있습니다.
Tavily, E2B, Polygon은 무료로 가입할 수 있습니다.

설치(Installation)

Python

pip install -U langgraph langchain[openai] langchain-community e2b-code-interpreter

TypeScript

yarn add @langchain/openai @langchain/community @langchain/langgraph @langchain/core @e2b/code-interpreter @polygon.io/client-js openai zod

테스트 프레임워크 설치:

Pytest

# langsmith>=0.3.1 필요
pip install -U "langsmith[pytest]"

Vitest

yarn add -D langsmith vitest

Jest

yarn add -D langsmith jest

환경 변수(Environment Variables)

export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY=<YOUR_LANGSMITH_API_KEY>
export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
export TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>
export E2B_API_KEY=<YOUR_E2B_API_KEY>
export POLYGON_API_KEY=<YOUR_POLYGON_API_KEY>

앱 생성(Create your app)

LangGraph/LangGraph.js로 에이전트를 정의하고, LangChain으로 LLM과 도구를 연결합니다.

도구 정의(Define tools)

  • Tavily 검색 도구
  • E2B 코드 인터프리터 도구
  • Polygon 주식 정보 도구

(각 도구의 Python/TypeScript 예시는 원문 참고)


테스트 작성(Write tests)

테스트 1: 오프토픽 질문 처리

  • 에이전트가 관련 없는 질문에 도구를 사용하지 않는지 확인

테스트 2: 간단한 도구 호출

  • 예: "Apple의 주가가 얼마야?" → 올바른 ticker("AAPL")를 검색하는지 확인

테스트 3: 복잡한 도구 호출

  • 예: "2024년 FAANG 주식의 평균 수익률은?" → 코드 실행 도구를 활용하는지 확인

테스트 4: LLM-as-a-judge

  • LLM을 평가자로 활용해 답변이 근거 문서에 기반하는지 자동 평가

각 테스트는 Pytest, Vitest, Jest 등에서 실행할 수 있습니다.
테스트 코드 예시는 공식 문서에서 확인할 수 있습니다.


테스트 실행(Run tests)

작성한 테스트를 실행하여 에이전트의 동작과 품질을 자동으로 검증할 수 있습니다.


참고 코드(Reference code)

  • 에이전트 정의 및 테스트 전체 예제는 공식 문서에서 확인하실 수 있습니다.

이 번역은 [Cursor 웹사이트 번역 가이드]의 규칙을 준수하여 작성되었습니다.


참고:

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유