본문으로 건너뛰기

monday.com의 AI 에이전트 평가 기반 개발 프레임워크 구축 사례

monday.com이 LangGraph와 LangSmith를 활용해 AI 에이전트의 성능을 오프라인과 온라인에서 체계적으로 평가하고 관리하는 프레임워크를 구축하여 개발 속도와 품질을 동시에 확보한 사례를 소개한다.

섹션별 상세

01
AI 에이전트의 추론 체인 특성상 발생하는 연쇄적인 오류를 방지하기 위해 오프라인과 온라인 평가의 이중 구조를 설계했다. 오프라인 평가는 '안전망' 역할을 하며 골든 데이터셋을 기반으로 도구 호출, 검색 정확도 등을 테스트하고, 온라인 평가는 '모니터' 역할을 하며 실제 프로덕션 트레이스를 실시간으로 분석한다.
monday.com의 서비스 워크포스 에이전트 아키텍처 다이어그램
Diagram에이전트 클라이언트(Gmail, Slack 등)로부터 입력을 받아 LangGraph 기반 에이전트가 지식 베이스와 티켓 시스템을 활용해 응답하며, 모든 트레이스가 LangSmith로 전송되는 전체 흐름을 보여준다.
02
개발자 경험을 개선하기 위해 Vitest와 LangSmith를 통합하여 평가 프로세스를 병렬화하고 최적화했다. CPU 집약적인 작업은 Vitest의 'forks' 풀을 사용해 병렬 처리하고, I/O 대기 시간이 긴 LLM 호출은 'ls.describe.concurrent'를 통해 동시성을 확보함으로써 전체 평가 시간을 162초에서 18초로 단축했다.
LangSmith의 데이터셋 및 실험 관리 화면 스크린샷
Screenshot사용자 정보, 서비스 컨텍스트, 기밀성 등 다양한 테스트 케이스별로 구성된 데이터셋과 각 데이터셋에 대해 수행된 수백 건의 실험 이력을 관리하는 UI를 보여준다.
Vitest를 활용한 오프라인 평가 병렬 처리 플로우차트
DiagramJSONL 데이터셋을 N개로 분할하여 Vitest 풀을 통해 병렬로 실행하고, 각 실행 내에서 LLM 평가 함수를 동시적으로 호출하여 성능을 최적화하는 과정을 상세히 설명한다.
03
평가 함수는 결정론적 검증과 LLM 기반 평가의 두 단계로 구성된다. 하드 어설션을 통해 응답 스키마와 상태 유지를 확인하는 동시에, OpenEvals와 AgentEvals 같은 라이브러리를 활용해 답변의 정확성과 지식 베이스 근거 유무를 수치화하여 객관적인 지표를 산출한다.
04
평가 로직을 코드로 관리하는 'Evaluations as Code(EaC)' 개념을 도입하여 평가자(Judge)를 TypeScript 객체로 정의한다. 이를 통해 프롬프트 수정 시 코드 리뷰를 거치게 하며, 커스텀 CLI를 통해 CI/CD 파이프라인에서 LangSmith 플랫폼으로 자동 배포 및 동기화하는 워크플로우를 구현했다.
typescript
// conversation-analysis.ts
export const conversationAnalysis = new MultiSignalEvaluationPrompt({
  name: 'conversation-analysis',
  variables: ['all_messages'],
  modelConfig: {
    model: 'gpt-5.2-pro',
    reasoning: {
      effort: 'high'
    }
  },
  extractionFields: [
    new ExtractionField({ key: 'human_handoff', type: 'boolean', includeComment: true }),
    new ExtractionField({ key: 'meaningful_interaction', type: 'boolean', includeComment: true }),
    new ExtractionField({ key: 'is_automated_resolution', type: 'boolean', includeComment: true }),
    // ... additional atomic signals
  ],
  systemPrompt: `You are an expert conversation analyst...`,
  humanPrompt: `Analyze the following conversation: {{{all_messages}}} `,
});

평가 로직을 코드로 관리하는 Evaluations as Code(EaC) 방식의 TypeScript 정의 예시

05
프로덕션 환경에서는 LangSmith의 'Multi-Turn Evaluator'를 사용하여 개별 응답이 아닌 전체 대화의 흐름을 평가한다. 사용자 만족도, 톤, 목표 달성 여부 등 고차원적인 비즈니스 신호를 측정하며, 비활성 창 설정을 통해 세션 종료 시점을 판단하고 샘플링을 통해 비용을 최적화한다.
LangSmith의 평가자 생성 메뉴 화면
Screenshot멀티턴 대화 평가(Evaluate a multi-turn conversation)를 포함하여 LLM 기반, 코드 기반, 복합 평가자 등 다양한 유형의 평가 도구를 선택할 수 있는 인터페이스를 보여준다.
멀티턴 평가자 설정 상세 화면
Screenshot대화 세션의 종료를 판단하는 유휴 시간(Thread Idle Time) 설정과 샘플링 비율 등을 조정하여 프로덕션 환경에 적합한 평가 규칙을 정의하는 과정을 보여준다.

용어 해설

랭그래프(LangGraph)
LangChain에서 제공하는 상태 기반 멀티 에이전트 설계 프레임워크로, 복잡한 제어 흐름을 순환 그래프 형태로 표현하여 에이전트의 행동을 정교하게 제어할 수 있게 한다. 에이전트의 상태를 유지하고 단계별 추론 과정을 관리하는 데 필수적이다.
리액트 에이전트(ReAct Agent)
Reasoning(추론)과 Acting(행동)을 결합한 프롬프팅 기법이자 에이전트 패턴이다. 모델이 문제를 해결하기 위해 계획을 세우고, 외부 도구를 실행하며, 그 결과를 관찰하여 다음 행동을 결정하는 과정을 반복하며 자율성을 발휘한다.
판사로서의 LLM(LLM-as-a-Judge)
사람이 직접 결과물을 평가하는 대신, 고성능 LLM(예: GPT-4o)을 평가자로 사용하여 다른 모델의 응답 품질, 정확성, 안전성 등을 자동으로 채점하는 기법이다. 대규모 데이터셋에 대한 빠르고 일관된 평가를 가능하게 한다.
골든 데이터셋(Golden Dataset)
전문가에 의해 검증된 질문과 정답(Ground Truth) 쌍으로 구성된 고품질 데이터셋이다. 모델의 성능을 측정하는 기준점(Benchmark)으로 사용되며, 오프라인 평가에서 모델의 정확도와 회귀 여부를 판단하는 핵심 자산이다.
멀티턴 평가(Multi-Turn Evaluation)
단일 질문에 대한 응답만 평가하는 것이 아니라, 여러 번의 대화가 오가는 전체 세션의 맥락과 흐름을 평가하는 방식이다. 대화의 일관성, 사용자 만족도, 최종 목표 달성 여부 등 고차원적인 품질 측정이 가능하다.

기술

  • LangGraph
  • LangSmith
  • Vitest
  • TypeScript
  • OpenEvals
  • AgentEvals

활용 사례

  • AI 고객 서비스 에이전트 성능 평가
  • CI/CD 파이프라인 내 LLM 평가 자동화
  • 프로덕션 환경 대화 품질 실시간 모니터링

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 02. 18.수집 2026. 02. 21.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.