
LangSmith Engine 소개
요약
LangSmith Engine은 에이전트 개발 라이프사이클을 자동화하여 운영 환경의 실패 사례를 클러스터링하고 근본 원인을 진단합니다. 사용자는 Engine이 제안하는 수정 사항과 평가기 초안을 검토 및 병합함으로써 에이전트의 성능을 지속적으로 개선할 수 있습니다.
핵심 포인트
- 운영 환경의 트레이스를 분석하여 실패 패턴을 자동으로 클러스터링하고 이슈화함
- 코드 기반의 근본 원인 진단 및 수정 사항(PR)과 평가기(evaluators) 초안 작성 지원
- 실패한 트레이스를 오프라인 평가 데이터셋으로 자동 변환하여 회귀 방지
- 기존 LangSmith 인프라 및 리포지토리와 즉시 연동 가능
핵심 요약 (Key Takeaways)
에이전트 개발 라이프사이클 (lifecycle)이 이제 더 빨라집니다. LangSmith Engine은 트레이스 (traces)를 읽고, 패턴을 찾아내고, 수정 사항을 작성하는 수동적인 사이클을 지속적인 작업으로 대체합니다. 즉, 운영 환경의 실패 사례를 이름이 지정된 이슈 (issues)로 클러스터링하고, 코드를 바탕으로 근본 원인을 진단하며, 검토를 위한 PR (Pull Request) 및 평가기 (evaluators) 초안을 작성합니다.
해결된 모든 이슈는 평가 스위트 (eval suite)를 더욱 강력하게 만듭니다. Engine이 수정 사항을 제시할 때, 맞춤형 온라인 평가기 (online evaluator)를 제안하고 실패한 트레이스를 오프라인 평가 데이터셋 (offline eval dataset)으로 가져옵니다. 이를 통해 배포 후 동일한 실패가 조용히 재발하는 것을 방지할 수 있습니다.
기존의 LangSmith 설정 위에 구축되었습니다. Engine은 현재 사용 중인 트레이싱 (tracing) 프로젝트, 평가 결과, 리포지토리 (repositories)에 바로 연결되므로 새로운 인프라가 필요하지 않습니다. 프로젝트를 연결하고 선택적으로 리포지토리를 연결하면, 운영 환경의 이슈를 자동으로 찾아내기 시작합니다.
오늘 우리는 LangSmith Engine을 출시합니다.
지금까지 에이전트를 개선하는 것은 트레이스를 읽고, 패턴을 찾고, 평가 (evals)를 작성하고, 수정 사항을 만드는 수동적인 과정이었습니다. 이제 LangSmith Engine이 이 사이클을 대신 수행할 수 있습니다. Engine은 운영 환경의 트레이스를 모니터링하고, 실패 사례를 이름이 지정된 이슈로 클러스터링하며, 코드를 바탕으로 근본 원인을 진단하고, 회귀 (regressions)가 재발하지 않도록 수정 사항과 평가 커버리지 (eval coverage)를 제안합니다. 사용자는 개선 사항을 검토하고 병합 (merge)하기만 하면 됩니다.
LangSmith Engine은 현재 퍼블릭 베타 (public beta)로 이용 가능합니다.
모든 에이전트 팀은 동일한 사이클을 반복합니다
전형적인 에이전트 개발 사이클은 다음과 같습니다:
- 에이전트가 무엇을 하고 있는지 이해하기 위해 트레이싱 (trace) 수행
- 실패 패턴이나 기능적 공백 식별
- 프롬프트 (prompts), 도구 (tools), 로직 (logic) 또는 구조 변경
- 운영 환경의 트레이스로부터 그라운드 트루스 (ground truth) 데이터셋 생성
- 개선 사항을 확인하고 회귀 (regressions)를 점검하기 위한 실험 실행
- 배포 및 반복
LangSmith는 이미 각 단계를 지원하기 위한 트레이스 뷰 (trace views), 빠른 데이터셋 생성, 실험 기능을 제공하고 있습니다. 하지만 우리는 고객들로부터 동일한 마찰 지점 (friction points)에 대한 이야기를 계속 들어왔습니다:
- 개별 트레이스 (trace) 검토만으로는 패턴을 파악할 수 없기 때문에 무엇을 수정해야 할지 아는 것이 어렵습니다.
- 대규모 환경에서 오류가 트레이스 전반에 걸쳐 얼마나 자주 재발하는지 확인하기가 어렵습니다.
- 프로덕션 (production) 데이터로부터 오프라인 평가 (offline evals)를 위한 정답 (ground truth) 예시를 만드는 과정은 지루하며 생략하기 쉽습니다.
- 수정 사항이 배포된 후에는, 동일한 문제가 다시 발생했을 때 이를 포착할 수 있는 타겟팅된 평가기 (evaluator)가 마련되어 있지 않은 경우가 많습니다.
Engine은 전체 사이클에 걸쳐 작동합니다. 팀은 우선순위가 지정된 목록에서 클러스터링된 실패 사례를 확인하고, 수정 사항을 자동으로 초안 작성하며, 테스트 스위트 (test suite)를 위한 오프라인 평가 예시를 제안받습니다.
실제 이슈 사례
당신의 에이전트 (agent)가 고객 지원 봇이라고 가정해 봅시다. Engine은 사용자들이 구독 취소에 대해 문의하는 트레이스 클러스터를 감지합니다. 에이전트가 응답을 하지만, 온라인 평가 (online evals)는 해당 응답을 실패로 점수 매기고 있으며 사용자 피드백도 부정적입니다. 지연 시간 (latency)은 정상적이므로 시스템 경고는 발생하지 않았습니다.
Engine은 이를 "에이전트가 구독 취소 요청을 정확하게 처리하지 못함"이라는 이름의 단일 이슈로 표면화합니다. Engine은 심각도 (이번 주 지원 세션의 12%에 영향을 미침), 타임라인 (4일 전 시작되었으며 최근 배포와 상관관계가 있음), 그리고 증거로서의 특정 트레이스 링크를 보여줍니다.
저장소 (repository)가 연결되어 있으면, Engine은 관련 코드를 읽고 근본 원인 (root cause)을 식기합니다. 취소 도구 (tool)의 설명이 모호하여, 사용자가 옵션에 대해 묻기만 하는데도 에이전트가 취소를 시도하게 만듭니다. Engine은 도구 설명에 대한 타겟팅된 수정 사항이 담긴 PR (Pull Request) 초안을 작성합니다.
향후 이러한 동작을 계속 추적하기 위해, Engine은 이 특정 이슈에 범위가 지정된 맞춤형 온라인 평가기 (online evaluator)를 제안합니다. 따라서 수정 사항이 배포된 후 실패 패턴이 재발하면, 업데이트된 세부 정보와 함께 이슈가 자동으로 다시 나타납니다.
또한 Engine은 실패한 트레이스를 오프라인 평가 스위트를 위한 데이터셋으로 가져오며, 올바른 출력이 무엇을 포함해야 하는지 정의하는 예시별 기준을 제공합니다. 프로덕션에 도달했던 실패 사례들이, 다시는 그런 일이 발생하지 않도록 막아주는 테스트 케이스가 됩니다.
이것이 전체 사이클이며, 자율적으로 실행되고 검토를 위해 사용자에게 노출됩니다. 프로덕션 신호(Production signal)는 클러스터링된 이슈가 되고, 이후 진단된 근본 원인(root cause), 제안된 수정 사항, 그리고 평가(eval) 커버리지로 이어집니다.
Engine이 각 이슈를 처리하는 방식
Engine은 노출되는 모든 이슈에 대해 세 가지 해결 조치를 제안합니다.
PR(Pull Request) 생성. 저장소(repository)에 접근할 수 있다면, Engine은 타겟팅된 코드 또는 프롬프트 변경 사항을 초안으로 작성하여 사용자의 저장소에 PR을 생성합니다. 사용자는 이를 검토하고 머지(merge)합니다.
커스텀 온라인 평가기(custom online evaluator) 생성. Engine은 정확한 문제 범위에 맞춘 평가기를 제안합니다. 만약 동일한 문제가 다시 발생하면, 업데이트된 상세 정보와 함께 해당 이슈가 자동으로 다시 노출됩니다.
오프라인 평가(offline eval) 스위트에 추가. Engine은 실패한 프로덕션 트레이스(production traces)를 정답 예시(ground truth examples) 데이터셋으로 가져와, 오프라인 평가 스위트에서 즉시 실행할 수 있도록 준비합니다.
해결된 모든 이슈는 그 과정에서 평가(eval) 커버리지를 향상시킵니다. 수정 사항을 확정하면, 향후 성능을 모니터링할 평가기도 함께 생성하게 됩니다. 시간이 흐름에 따라 이미 해결된 이슈들은 평가 스위트를 더욱 완벽하게 만들며, 이는 향후의 개선 사항을 더욱 견고하게 만듭니다.
Engine의 작동 방식
LangSmith Engine은 사용자의 트레이스 데이터, 평가기 피드백, 그리고 에이전트의 소스 코드(저장소와 연결된 경우)에 접근할 수 있는 심층 에이전트(deep agent)에 의해 구동됩니다.
Engine은 다음과 같은 여러 유형의 신호를 위해 트레이스를 모니터링합니다: 명시적 오류(도구 호출 실패, 타임아웃), 온라인 평가기 실패, 트레이스 이상 징후(지연 시간 급증, 토큰 폭증, 예상치 못한 단계 수), 부정적인 사용자 피드백, 그리고 에이전트가 답변하도록 설계되지 않은 질문을 하는 것과 같은 비정상적인 동작입니다. Engine은 여러 트레이스에서 패턴을 발견하면, 각 실패를 개별적으로 노출하는 대신 이를 하나의 명명된 이슈로 클러스터링(clustering)합니다.
LangSmith Engine은 LangSmith의 기존 트레이싱 (tracing) 및 평가 (evaluation) 인프라를 기반으로 구축되었습니다. 기존의 평가 (evaluator) 결과를 입력값으로 사용하므로, 평가 과정에서 포착된 실패 사례들이 이슈 탐지로 직접 연결됩니다. Engine이 새로운 평가 도구 (evaluator)를 제안한다면, 이는 현재의 커버리지 (coverage)에서 공백을 발견했음을 의미합니다. Engine이 데이터셋 예시를 생성하면, 이는 귀하의 기존 오프라인 평가 (offline eval) 워크플로우로 직접 반영됩니다.
고객들이 경험하고 있는 것
Cogent, Harmonic, Campfire와 같은 팀들은 이미 Engine을 사용하여 수천 개의 트레이스 (traces)에 영향을 미치는 이슈들을 해결하고 있습니다. 이들은 회귀 (regressions)를 더 일찍 포착하고, 수정 사항을 더 빠르게 배포하며, 분류 (triage)에 소요되는 시간을 줄이고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기