본문으로 건너뛰기
LangSmith: 실행 트리에서 데이터셋과 실험으로

LangSmith: 실행 트리에서 데이터셋과 실험으로

✎ 이 문서 수정하기 GitHub에서 수정

LangSmith는 앱 실행을 추적하고 데이터셋, 실험, 평가와 연결하는 플랫폼이다. LangChain, LangGraph의 실행 트리와 자연스럽게 연결되지만 이 프레임워크에만 제한되지는 않는다. Bookway에서는 후속 질문과 도구 경로의 실패를 좁히는 선택지이다.

trace를 읽는 순서

“그 주문은 언제 도착하나요?”에 잘못 답했다면 마지막 모델 출력부터 고치지 않는다. 이전 대화의 주문 선택, 서버 소유권 검사, 도구 입력, 원천 상태와 생성 문맥을 순서대로 본다. 체크포인트가 있어도 다른 고객의 thread에 접근할 수 없어야 한다.

추적을 켜면 입력, 출력이 원격 서버에 전송될 수 있다. 승인된 프로젝트, endpoint, 저장 범위를 먼저 구성하고, 원문 마스킹은 SDK로 넘기기 전에 적용한다.

프레임워크 밖의 작은 작업 추적

LANGSMITH_TRACING=true, LANGSMITH_API_KEY, LANGSMITH_PROJECT 등 승인된 환경 설정과 langsmith SDK를 전제로 한다. endpoint가 필요한 배포에서는 승인된 주소도 지정한다.

from langsmith import traceable

@traceable(name="bookway-source-selection", run_type="chain")
def source_selection(question: str) -> dict:
    return {
        "question": question,
        "release_id": "help-r8",
        "allowed_sources": ["returns-v3#1"],
    }

source_selection("Synthetic Bookway return-policy question")

이 조각은 trace 연결용 합성 작업이지 실제 retrieval은 아니다. LangChain 자동 tracing과 함께 쓰면 중복 루트가 생기지 않도록 부모 실행 context를 전달한다. 비동기, 큐 경계를 넘어갈 때도 같은 요청의 인과관계를 유지해야 한다.

데이터셋과 실험의 연결

단계Bookway에서 고정할 값
사례 생성합성 질문, 기대 source, 허용 도구, 거절 조건
후보 실행release, 모델, prompt, retriever revision
평가인용 정확성, 내용 기준, 경로, 비용, 지연
오류 분석어떤 사례, 고객 구간에서 악화됐는지
승인예산, 권한 조건까지 확인한 출시 결정

동일 데이터셋 버전에서 help-r7과 help-r8을 실행하고 case별 차이를 본다. 평균 score만 좋아져도 주문 소유권 같은 필수 조건이 한 건 실패하면 출시를 막을 수 있다. evaluator의 모델, 지침도 버전 관리한다.

Langfuse와 함께 쓸 때

둘 다 trace, 평가, 프롬프트 기능이 겹친다. Bookway의 기본 관측 경로를 하나 정하고 조직의 권한, 가격, 배포 제약, 프레임워크 통합으로 선택한다. 모두 켜서 토큰 원문을 여러 곳에 복제하는 것은 기본값이 아니다.

추적 서비스 장애와 앱 장애를 분리하고, 운영의 필수 감사 기록은 별도 내구성 경로를 검토한다. 외부 UI에서 trace를 삭제하는 것과 원천 로그, 백업의 삭제는 보존 정책상 다른 작업이다.

공식 observability / tracing 시작 / 프롬프트, trace 대안

마지막 수정 일자