LangSmith는 대규모 언어 모델(LLM) 기반 애플리케이션의 개발 주기를 가속화하고, 특히 성능을 체계적으로 평가하고 개선하기 위해 설계된 강력한 프레임워크입니다.
이 문서는 ESG 설문 검수 AI 시스템에 LangSmith를 도입한 이유, 주요 기능, 실제 활용 방안, 도입 성과를 설명합니다.
⸻
LangSmith는 LLM 기반 애플리케이션의 개발, 디버깅, 테스트, 평가 과정을 지원하는 포괄적인 플랫폼입니다.
2.1. 핵심 기능
• 실시간 추적 (Real-time Tracing): LLM 호출, 체인 실행, 에이전트 동작 등을 추적하여 병목 진단 가능
• LLM-as-Judge: LLM이 AI 응답을 평가하는 자동화된 지능형 평가 시스템
• 데이터 관리 (Data Management): 데이터셋과 평가 결과를 저장, 관리, 버전 관리
• 대시보드 & 시각화: 평가 결과를 실시간 시각화
• 협업 기능: 팀원 간 결과 공유 및 피드백 용이
2.2. 주요 평가 방식
• LLM Judge: GPT-4o 등 강력한 모델을 활용해 다면적 기준으로 평가
• 구조화된 피드백: JSON 기반의 상세한 평가 및 개선 제안 제공
• 다중 평가자: 형식, 내용, 논리성 등 다각도로 평가
• 자동 데이터 추적: 모든 실행/결과 기록 저장
⸻
3.1. 지능형 평가 시스템 구현
• 의미 기반 평가: 키워드가 아닌 문맥/의미 이해 중심
• 도메인 전문성 반영: ESG 전문가처럼 평가 프롬프트 설계
• 구체적 피드백 제공: JSON 형태의 개선 제안 포함
• 일관성 있는 반복 평가: 동일 프롬프트 기준으로 성능 비교 용이
3.2. 기존 방식과의 비교
항목 | 기존 방식 | LangSmith (LLM-as-Judge) |
---|---|---|
평가 기준 | 키워드, 규칙 기반 | 의미 기반, 구조/논리 분석 |
평가 깊이 | 정오답, 피상적 | 정성적, 심층적 |
피드백 | 단순 결과 | 구체적 제안 포함 JSON |
확장성 | 수작업 부담 큼 | 자동 대규모 평가 가능 |
전문성 | 반영 어려움 | 프롬프트로 반영 가능 |
judge_prompt = """
[Role]: 당신은 ESG 보고서 전문가이자 엄격한 평가관입니다.
[Task]: 제공된 ESG 섹션 내용을 평가하고 점수 및 개선안을 JSON으로 작성하세요.
[Evaluation Criteria]:
1. 섹션 구조의 논리성 (40점)
2. 표 형식 완성도 (35점)
3. 가독성과 표현 명확성 (25점)
[Output Format]:
{
"total_score": float,
"feedback_summary": "전반 요약",
"criteria_scores": {
"section_structure_logic": float,
"table_format_completeness": float,
"overall_readability": float
},
"improvement_suggestions": {
"section_structure": [...],
"table_format": [...],
"readability": [...]
}
}
"""
4.1. 체계적인 데이터셋 관리의 이점
• 자동 데이터셋 생성: PoC 로그에서 입력/출력 추출
• 버전 관리: 데이터셋 이력 추적
• 결과 연결: 입력, 출력, 평가 결과를 LangSmith에 자동 저장
• 재사용성: 다양한 테스트에 반복 활용 가능
4.2. Python 예시
from langsmith import Client
class LangSmithDatasetManager:
def __init__(self, api_key: str):
self.client = Client(api_key=api_key)
self.poc_logs = [...] # 실제 로그 로딩 생략
def create_langsmith_dataset(self, dataset_name: str, description: str = None):
examples = []
for log in self.poc_logs:
example = {
"inputs": {"question": log["question_number"]},
"outputs": {"ground_truth": log["raw_model_answer"]}
}
examples.append(example)
return self.client.create_dataset(
dataset_name=dataset_name,
description=description,
examples=examples
)
5.1. 주요 기능
• 표 형태 결과 시각화
• 실시간 업데이트
• 드릴다운 분석 가능
• 비교 분석 기능
• 필터링 및 검색 기능
5.2. 예시 (가상)
항목 | 점수 | 상세 피드백 |
---|---|---|
형식 준수도 | 93.2% | ✅ 테이블 헤더 일관성 필요 |
내용 정확성 | 84.4% | ⚠️ 외부 문서 참조 오류 있음 |
데이터 완성도 | 87.8% | ✅ 일부 선택 항목 누락 확인 |
종합 점수 | 88.5% | ✅ 전반적으로 만족, 미세 조정 필요 |
6.1. 평가 방법론
a. 형식 평가 (llm_format_judge)
• 평가 기준: 섹션 구성, 표 정렬, 구조 일관성 등
b. 내용 평가 (llm_content_judge)
• 평가 기준: 정책 정보의 정확성, 검수 논리성 등
c. 데이터 완성도 평가 (llm_completeness_judge)
• 평가 기준: 필수 데이터 포함 여부, 표 내용 정확성
6.2. 실제 구현 예시
from langsmith import evaluate
class ESGEvaluationSystem:
def run_evaluation(self, dataset_name):
results = evaluate(
self.run_esg_model,
data=dataset_name,
evaluators=[
self.llm_format_judge.evaluate_fn,
self.llm_content_judge.evaluate_fn,
self.llm_completeness_judge.evaluate_fn
],
experiment_prefix="esg_evaluation"
)
return results
7.1. 테스트 결과
지표 | 목표 | 실제 | 달성 여부 |
---|---|---|---|
형식 준수도 | 90% | 93.2% | ✅ |
내용 정확성 | 80% | 84.4% | ✅ |
데이터 완성도 | 85% | 87.8% | ✅ |
종합 점수 | 85% | 88.5% | ✅ |
7.2. 도입 효과
• 지능형 평가: 의미 기반 피드백 제공
• 데이터 재현성 확보: 자동화된 버전 관리
• 피드백 루프 단축: 실시간 결과 확인
• 협업 용이: 대시보드를 통한 결과 공유
⸻
LangSmith는 다음을 가능하게 합니다:
• LLM-as-Judge를 통한 의미 기반 평가 자동화
• 데이터셋 및 결과의 체계적 관리
• 직관적이고 빠른 대시보드 피드백
• 개발 주기 단축과 협업 증진
👉 ESG AI 시스템에 있어 LangSmith는 필수적 품질 평가 프레임워크입니다.