오늘은 간단하게 Langchain
, Langgraph
, Langsmith
에 대해서 알아보고자 한다. 최근 회사에서 RAG와 Agent 프로젝트를 진행하려고 해서 각각을 깊게 공부하기보다는 필요할 때 그때그때 찾아보면서 사용 중이다.
간단한 만큼 부족한 부분이 많을 수 있으니, 자세한 건 docs나 github을 참고하길 바란다.

1. Langchain
LangChain
은 LLM(대규모 언어 모델)을 활용한 애플리케이션 개발을 위한 프레임워크로, 다양한 LLM과의 연동을 지원하며, LLM을 데이터 소스 및 다양한 도구와 연결하여 강력한 애플리케이션을 구축할 수 있게 도와준다. 챗봇, 문서 요약, 질의응답 시스템 등 다양한 어플리케이션 개발에 활용될 수 있다.
GitHub - langchain-ai/langchain: 🦜🔗 Build context-aware reasoning applications
🦜🔗 Build context-aware reasoning applications. Contribute to langchain-ai/langchain development by creating an account on GitHub.
github.com
LangChain
LangChain’s suite of products supports developers along each step of their development journey.
www.langchain.com
1-1. Langchain Feature
- 모델 I/O: 다양한 언어 모델과의 상호작용을 관리하고, 입력과 출력을 표준화
- 데이터 연결: 언어 모델을 외부 데이터 소스와 쉽게 연결하여, 풍부한 정보를 활용할 수 있도록 지원
- 체인 (Chains): 여러 LLM 호출 또는 유틸리티를 순차적으로 연결하여 복잡한 작업을 수행
- 에이전트 (Agents): LLM의 출력을 기반으로 다음에 수행할 작업을 동적으로 결정하여, 자율적인 의사 결정 지원
- 메모리 (Memory): 대화 기록을 저장하고 관리하여, 문맥을 이해하고 일관성 있는 대화를 유지할 수 있도록 함
- 콜백 (Callbacks): Langchain 시스템 내에서 발생하는 이벤트(호출 시작/종료 등)를 로깅, 스트리밍 하여 디버깅과 모니터링
1-2. Summary
Langchain은 대형 언어 모델(LLM)을 활용한 통합적인 애플리케이션 개발 프레임워크이다.
단순 LLM모델 로드, 문서파싱, 프롬프트 설정, 문서 파싱, 청킹, 벡터스토어 저장 등 엄청나게 많은 라이브러리, 기업들과의 협업 및 통합을 통해서 많은 기능을 제공한다.

2. Langgraph
Langgraph
: LangChain 팀에서 개발한 라이브러리로, 언어 모델 기반의 복잡한 워크플로우를 그래프 형태로 구축하는 데 특화되어 있다.
Langgraph의 각 노드를 Langchain 요소등을 이용해서 구성하거나, 꼭 Langchain이 아니더라도 단순 파이썬 함수 등을 사용해서도 구성할 수 있다. Langgraph의 장점은 그래프 형태로 워크플로우를 설계하고, 각 단계(노드)에서 에이전트 또는 함수를 실행할 수 있다는 것이다. 각 노드의 연결에는 조건부 분기(conditional edge)와 순환(cycle) 기능을 통해 워크플로우를 자유롭게 구성하고 복잡한 의사 결정 과정이나 다단계 작업을 자동화할 수 있다.
GitHub - langchain-ai/langgraph: Build resilient language agents as graphs.
Build resilient language agents as graphs. Contribute to langchain-ai/langgraph development by creating an account on GitHub.
github.com
LangGraph
Build controllable agents with LangGraph, our low-level agent orchestration framework. Deploy and scale with LangGraph Platform, with APIs for state management, a visual studio for debugging, and multiple deployment options.
www.langchain.com
2-1. Langgraph Feature
- 노드 (Nodes): 워크플로우의 기본 단위로, 각 단계를 함수 또는 에이전트로 정의. 데이터 로딩, 문서 처리, 검색, LLM 호출, 답변 평가 등 다양한 작업을 수행하는 모듈 역할
- 엣지 (Edges): 노드 간의 연결을 정의하여 데이터 흐름의 방향과 워크플로우의 순서를 결정. 단순 연결뿐만 아니라 조건부 분기를 통해 특정 조건에 따라 워크플로우 흐름 구성
- 상태 관리 (State Management): 워크플로우 전반의 상태를 효율적으로 관리합니다. 각 노드에서 업데이트된 상태는 다음 노드로 전달되어 정보 공유 및 활용
- 조건부 엣지 (Conditional Edges): 워크플로우 흐름을 동적으로 제어하는 핵심 기능으로 노드 실행 결과 또는 상태에 따라 다음 단계를 분기하여, 유연한 워크플로우를 구축
- 순환 흐름 (Cycles): 워크플로우가 특정 조건을 만족할 때까지 이전 단계로 되돌아가 반복 작업을 수행. 검색 결과가 만족스럽지 않을 경우, 쿼리 재작성 또는 다른 검색 전략 시도 등을 자동화 가능
2-2. Usage
기존의 단방향 RAG (Retrieval-Augmented Generation) 파이프라인은 데이터 로딩, 문서 분할, 임베딩, 검색, 답변 생성 단계를 순차적으로 처리했다. 이러한 구조는 초기 설정된 파이프라인을 고정적으로 따르기 때문에, LLM 답변 품질 개선이나 예외 상황 대처에 유연성이 부족하다는 단점이 있었다.
Langgraph는 이러한 단순한 RAG 파이프라인의 부족한 점을 위에서 설명한 그래프 형태로 재구성하여 해결할 수 있다.
Rag에서 Langgraph를 활용할 수 있는 예시는 아래와 같다.
- 검색 결과 평가 및 재검색: 검색된 문서의 관련성을 평가하는 노드를 추가하고, 관련성이 낮다고 판단될 경우, 쿼리 재작성 또는 다른 검색 전략을 사용하여 재검색을 수행하도록 워크플로우를 구성
- 답변 관련성 평가 및 추가 검색: 생성된 답변의 관련성을 평가하는 노드를 추가하고, 관련성이 부족하다고 판단될 경우, 웹 검색 등을 통해 추가 정보를 검색하고 답변을 보강하도록 워크플로우를 설계
- LLM 모델, 프롬프트 변경: 답변 품질이 만족스럽지 않을 경우, 다른 LLM 모델을 사용하거나 프롬프트를 변경하여 답변을 재생성하도록 워크플로우를 제어

3. Langsmith
Langsmith
는 Langchain 애플리케이션 개발을 위한 플랫폼으로, 개발, 테스트, 디버깅, 모니터링 과정을 효율적으로 관리할 수 있도록 도와주며, Langchain 애플리케이션의 성능 향상과 안정적인 배포를 지원
LangSmith
Get your LLM app from prototype to production.
www.langchain.com
GitHub - langchain-ai/langsmith-sdk: LangSmith Client SDK Implementations
LangSmith Client SDK Implementations. Contribute to langchain-ai/langsmith-sdk development by creating an account on GitHub.
github.com
3-1. Langsmith Feature
- 테스팅: Langchain 어플리케이션의 각 구성 요소 및 전체 워크플로우에 대한 테스트 환경을 제공하여, 코드 변경 시 발생할 수 있는 문제점을 사전에 감지하고 품질을 유지할 수 있도록 도와준다.
- 평가: LLM 어플리케이션의 성능을 객관적으로 평가하기 위한 다양한 지표와 방법을 제공합니다. Langchain 출력을 평가하고 개선하는 데 유용
- 모니터링: 배포된 Langchain 어플리케이션의 성능과 사용량을 실시간으로 모니터링하고, 문제 발생 시 신속하게 대응할 수 있도록 지원
- 디버깅 및 트레이싱: Langchain 어플리케이션의 실행 과정을 상세하게 추적하고 시각화하여, 오류 발생 지점을 빠르게 파악하고 디버깅 효율성을 높임
3-2. Summary
요약하자면 Langsmith는 디버깅, 테스트, 평가, 모니터링 플랫폼이라고 생각하면 좋을 것 같다. 자신이 구성한 langchain, langgraph와 손쉽게 연동할 수 있으며, 모델 입출력, 프롬프트 출력, 토큰 비용 등 엄청나게 자세한 실험정보들을 확인할 수 있다.
추가로 프롬프트 엔지니어링도 간편하게 비교하면서 실험할 수 있는 기능들도 있다.
4. 정리
이것 외에도 Langserve
나 Langgraph studio 등
부수적인 것들이 있지만 그것들은 차차 소개해보겠다.
오늘은 간단하게 3가지 중추적인 프레임워크들에 대해서 알아봤고, 다음에는 각각들을 내가 활용하는 부분들에 대해서만 작성해 볼 예정이다!!!
아래 블로그가 매우 도움이 되었습니다!!
LangChain Products 알아보기 (LangChain, LangGraph, LangSmith, LangServe)
LangChain 제품들 요약(LangChain, LangGraph, LangSmith, LangServe) LangChain 제품과 각각의 주요 내용을 정리하면 다음과 같습니다:LangChain: 대형 언어 모델(LLM)을 활용한 애플리케이션 개발 프레임워크입니다.
data-newbie.tistory.com
'ML & DL > NLP' 카테고리의 다른 글
AutoRAG 개발자님 인터뷰 정리 (0) | 2025.03.19 |
---|---|
한 권으로 끝내는 랭체인 노트 따라하기 Day 4 - FewShotPrompt (0) | 2024.12.23 |
한 권으로 끝내는 랭체인 노트 따라하기 Day 3 - prompt (0) | 2024.12.23 |
한 권으로 끝내는 랭체인 노트 따라하기 Day 2 - LCEL (0) | 2024.12.23 |
한 권으로 끝내는 랭체인 노트 따라하기 Day 1 (0) | 2024.12.23 |