LangChain, LangSmith, LangGraph란?

wldbs._.·2025년 7월 29일

RAG

목록 보기
6/22
post-thumbnail

Introduction | 🦜️🔗 LangChain
CH01 LangChain 시작하기
Demystifying LangChain, LangGraph, and LangSmith: What’s the Difference and When Should You Use Each?

LLM을 얘기할 때 빠지지 않는 단어가 랭체인, 랭그래프이다.

LangChain, LangSmith, LangGraph는 모두 LLM(Large Language Model) 기반 애플리케이션을 쉽게 구축하고 운영하기 위한 도구들이며, 서로 보완적인 관계에 있다.

각각의 개념을 간략하게 정리해보자


1. 개념

LangChain

  • 정의: LLM 기반 애플리케이션을 체계적으로 구성할 수 있도록 도와주는 프레임워크.
  • 주요 역할:
    • 다양한 데이터 소스와 도구(예: 벡터 DB, 검색 엔진, 외부 API 등)와 LLM을 연결.
    • RAG (Retrieval-Augmented Generation), 체인 구성, 툴 사용, 에이전트 구성 등을 지원.
  • 사용 예시:
    • 문서 검색 기반 Q&A 시스템, 챗봇, 워크플로우 체인 등.

LangSmith

  • 정의: LangChain으로 만든 LLM 앱의 개발·디버깅·평가·모니터링을 도와주는 플랫폼.
  • 주요 역할:
    • LLM 실행 로그 추적, 체인 흐름 시각화, 품질 테스트, 실시간 에러 추적 등.
    • 개발자 입장에서 LLM 앱 품질 관리 도구.
  • 사용 예시:
    • RAG 시스템의 검색 결과 및 응답 품질 분석, prompt 실험 결과 비교 등.

LangGraph

  • 정의: LangChain 기반 워크플로우를 상태 기반 Graph 구조로 설계할 수 있게 해주는 프레임워크.
  • 주요 역할:
    • 복잡한 흐름(예: 조건 분기, 루프, 대화 상태 유지 등)을 그래프 노드와 엣지로 구성.
    • LLM 에이전트를 마치 유한 상태 머신(Finite State Machine)처럼 구성.
  • 사용 예시:
    • 복잡한 멀티턴 대화, 에이전트 간 협업, 반복/조건 기반 논리 처리 등.

FSM(유한 상태 머신)은 

  • 일정한 개수의 상태(state)를 가지며,
  • 각 상태에서 특정 동작을 수행하고,
  • 특정 조건에 따라 다른 상태로 전이하는 시스템의 동작 방식을 모델링하는 방법

관계

📌 관계 요약

도구역할특징
LangChainLLM 앱 개발 프레임워크체인 구성 및 다양한 통합 도구 제공
LangSmith개발/디버깅/평가 플랫폼실시간 모니터링, 실험 추적
LangGraph상태 기반 LLM 워크플로우 프레임워크FSM 구조로 복잡한 흐름 표현

2. 흐름

간단 요약 흐름

LangChain으로 개발 → 2. LangSmith로 디버깅/평가 → 3. LangGraph로 고도화

이 흐름은 LLM 앱을 처음부터 실전 배포 수준으로 끌어올리는 일반적인 단계이다.

구체적으로

1️⃣ LangChain: 앱의 뼈대 개발

  • LLM, 툴, 외부 데이터, 벡터 DB 등을 연결해 기본 기능을 구현.
  • 예: 검색 기반 Q&A, 툴 사용, 체인 구성 등.

2️⃣ LangSmith: 평가 및 개선

  • LangChain으로 만든 체인을 실행하면서,
    • 입출력 기록
    • 중간 reasoning 추적
    • Prompt A/B 테스트
    • 성능 평가
  • 버그나 문제점을 분석하고 고품질로 튜닝.

3️⃣ LangGraph: 복잡한 흐름 추가

  • LangChain에서 만들기 어려운 복잡한 논리(예: 반복, 상태 기반 전이 등)를
    • 유한 상태 머신(Graph 구조) 으로 설계.
  • 예: 다단계 의사결정, 멀티턴 대화 관리, 다양한 조건 분기 처리 등.

관계 구조 예시

[LangChain]
  └─ 기본 체인 구성 및 LLM 앱 개발
       ↓
[LangSmith]
  └─ 체인 품질 테스트, 모니터링, 개선
       ↓
[LangGraph]
  └─ 상태 기반 흐름 제어 추가로 고도화

💡 비유로 설명하면:

LangChain이 ‘자동차 본체’를 만들고,

LangSmith는 ‘정비소에서 성능 점검’을 하고,

LangGraph는 ‘자동차에 자율주행 시스템을 얹는 것’과 비슷하다.


3. 통합 시나리오: 기업 문서 기반 LLM 비서 개발

LangChain, LangSmith, LangGraph는 따로도 쓰이지만, 서로 긴밀하게 연동되도록 설계되어 있어서 하나의 프로젝트 안에서 자연스럽게 함께 사용된다고 한다.

아래는 지피티가 제공해준 프로젝트 통합 시나리오 예시이다.

🧩 프로젝트 목적

: “회사의 정책, 매뉴얼, 보고서 등을 기반으로 구성원이 자연어로 질문하면 정확하게 답변해주는 LLM 기반 사내 비서 만들기”

🔧 사용 도구별 역할

도구실무 내 역할핵심 기능
LangChain앱 구조 구성문서 업로드 → 청크 → 임베딩 → 벡터DB 저장 → 질의응답 체인 구성
LangSmith디버깅 & 성능 평가체인 실행 추적, Prompt 개선 테스트, 사용자 피드백 분석
LangGraph복잡한 흐름 제어문맥 상태 유지, 멀티턴 대화 처리, 승인 절차/조건 분기 등

🔁 단계별 통합 흐름

1️⃣ LangChain 단계 – MVP 구현

# LangChain으로 기본 QA 체인 구성
retriever = vectorstore.as_retriever()
qa_chain = RetrievalQA.from_chain_type(llm=ChatOpenAI(), retriever=retriever)

# 사용자 질문 처리
answer = qa_chain.run("연차 신청 절차 알려줘")
  • 문서 청크화 + 임베딩
  • 벡터 DB (예: FAISS, Chroma)에 저장
  • LLM 체인으로 질의응답 시스템 구축

    MVP(Minimum Viable Product)란?

    • MVP는 "Minimum Viable Product"의 약자입니다.
    • 구현하고자 하는 제품의 핵심적인 가치를 골라 최소한의 기능만을 담아낸 제품을 말합니다.
    • 제품에서 어느 부분이 핵심 가치인지, 어느 부분이 부가적인 가치인지 구분한 이후 가장 핵심적인 가치만을 담아 고객에게 검증하는 과정을 MVP 테스트라고 합니다.

2️⃣ LangSmith 단계 – 품질 개선

# LangSmith에서 추적을 위한 decorator
@traceable(name="qa_chain_test")
def ask_question(question):
    return qa_chain.run(question)

# 실제 사용 로그 기록
ask_question("연차는 최대 며칠까지 쓸 수 있어?")
  • LangSmith를 통해 질문에 대한 응답 로그, 시간, 경로, 사용된 프롬프트 추적
  • 여러 프롬프트 버전 A/B 테스트로 정확도 향상
  • 실제 사용자 질문 분석 → 취약 케이스 보완

3️⃣ LangGraph 단계 – 상태 기반 멀티턴 대화 추가

from langgraph.graph import StateGraph

# 노드 구성: 사용자 질문 → 검색 → 검토 → 승인 여부 판단
workflow = StateGraph()

workflow.add_node("ask", qa_chain)
workflow.add_node("review", reviewer_chain)
workflow.add_node("confirm", confirmation_chain)

workflow.set_entry_point("ask")
workflow.set_conditional_edges("ask", condition=should_review, paths={"yes": "review", "no": "confirm"})
workflow.set_conditional_edges("review", condition=approval_check, paths={"approved": "confirm", "rejected": "ask"})

graph_executor = workflow.compile()
  • 예: “출장 신청 절차 알려줘 → 예산 초과 확인 → 관리자 승인 요청 → 상태 저장”
  • 반복 질문이나 분기, 조건 흐름 등을 유한 상태 그래프로 모델링
  • 대화 중간 상태 저장 및 관리 가능

📌 시나리오 요약

1. LangChain
    - 문서 기반 검색 + LLM 응답 체인 구성

2. LangSmith
    - 성능 추적, prompt 개선, 사용자 피드백 분석

3. LangGraph
    - 질문 상태 유지, 조건 분기, 승인 흐름 등 복잡한 워크플로우 설계
profile
공부 기록용 24.08.05~ #LLM #RAG

0개의 댓글