/ 오픈소스 / langgraph

langgraph

LangGraph는 회복력이 높고 상태를 유지하며 장기 실행되는 AI 에이전트를 구축하기 위한 저수준 오케스트레이션 프레임워크입니다.

PythonMITAgent
⭐ GitHubhttps://github.com/langchain-ai/langgraph
38,455
스타 수
+0
스타 증가율
2026년 7월 29일
최근 업데이트
2
클릭 수

1. 프로젝트 개요

LangGraph는 장기 실행되고 상태를 유지하는 AI 에이전트를 구축, 실행 및 관리하기 위한 저수준 오케스트레이션 프레임워크입니다. 이 프레임워크는 에이전트를 취약한 프로토타입에서 루프, 분기, 일시 정지 및 오류 복구가 가능한 회복력 있는 프로덕션급 시스템으로 발전시키는 문제를 해결합니다.

2. 배경 및 포지셔닝

LangGraph는 단순한 프롬프트 체이닝 라이브러리가 채울 수 없는 간극을 해결하기 위해 LangChain 팀에서 만들었습니다. 실제 환경의 에이전트는 재시도, 자가 교정, 사람의 승인 대기, 그리고 장기 실행 또는 중단된 실행 간 상태 유지가 필요합니다. 핵심 임무는 개발자에게 에이전트 논리와 상태에 대한 정확하고 저수준의 제어권을 부여하는 것입니다. 모든 것을 고수준의 블랙박스 뒤에 숨기지 않으면서도 프로덕션 시스템이 요구하는 내구성 보장을 제공합니다.

아키텍처 측면에서 LangGraph는 Google의 Pregel과 Apache Beam에서 영감을 받아 에이전트의 워크플로를 상태를 유지하는 순환 방향 그래프로 모델링하며, NetworkX의 영향을 받은 API 스타일을 사용합니다. 이는 순수 선형 파이프라인 프레임워크와 차별화됩니다. 일반적인 체인이 고정된 단계 순서를 실행하고 중간 문맥을 버리는 반면, LangGraph는 그래프의 모든 노드가 읽고 업데이트할 수 있는 공유된 타입 상태 객체를 유지하며, 그래프는 성찰, 재시도 또는 반복 계획을 위해 자체적으로 루프할 수 있습니다. 2026년 현재 LangGraph는 LangChain 자체 에이전트의 기본 실행 런타임 역할도 하여, LangChain 생태계 전반의 복잡한 에이전트 워크플로를 위한 공통 기반이 되었습니다.

3. 기능 카테고리

  • 🧩 그래프 오케스트레이션 — 노드, 에지 및 조건부 라우팅을 정의하는 핵심 API. 대표적인 예: StateGraph, 조건부 에지, 순환 그래프, 하위 그래프, Pregel에서 영감을 받은 실행 모델. 목적: 루프 및 분기를 포함하여 임의로 복잡한 에이전트 제어 흐름을 고정된 스크립트가 아닌 그래프로 표현.
  • 💾 내구성 있는 실행 및 지속성 — 충돌 후 생존 및 작업 재개 메커니즘. 대표적인 예: 체크포인터, 스레드 기반 상태 지속성, 작업 재시도, 재개 가능한 실행. 목적: 에이전트가 실패나 재시작 후 처음부터 다시 시작하는 대신 중단된 정확한 지점부터 이어서 작업.
  • 🧠 메모리 시스템 — 에이전트를 위한 단기 및 장기 메모리 기본 요소. 대표적인 예: 공유 상태 객체, 세션 간 장기 메모리 저장소, 메모리 인지 검색. 목적: 에이전트에게 현재 작업을 위한 작업 메모리와 대화 간 지속되는 메모리를 모두 제공.
  • 🧑‍⚖️ 사람 개입(Human-in-the-Loop) 제어 — 기본 제공 중단 및 승인 메커니즘. 대표적인 예: 중단 노드, 상태 검사, 수동 상태 편집, 민감한 작업 전 승인 게이트. 목적: 에이전트가 중요한 작업을 수행하기 전에 사람이 검토, 일시 정지 또는 방향 재지정.
  • 🔍 디버깅 및 관측 가능성 — 에이전트 실행을 시각화하고 추적하는 도구. 대표적인 예: LangGraph Studio, LangSmith 추적 통합, 모든 체크포인트에서 실행 재생, 분기 및 재생 디버깅. 목적: 다단계 에이전트의 불투명한 동작을 검사 및 재현 가능하게 만듦.
  • 🚀 배포 인프라 — 프로덕션에서 에이전트를 실행하기 위한 도구 및 서비스. 대표적인 예: LangGraph Platform, 확장 가능한 작업 대기열, 스트리밍 API, 서버 템플릿. 목적: 에이전트를 로컬 스크립트에서 확장 가능하고 모니터링되는 프로덕션 서비스로 이동.

4. 주요 특징

  • 순환 그래프 모델 — 선형 파이프라인과 달리 LangGraph 그래프는 이전 노드로 다시 루프할 수 있습니다. 이는 재시도 논리, 자가 교정, ReAct나 계획 후 실행과 같은 반복적 추론 패턴에 필수적입니다.
  • 내구성 있는 실행 — 에이전트는 프로세스 충돌이나 중단 후에도 상태를 유지하며, 긴 작업을 처음부터 다시 시작하는 대신 중단한 정확한 지점부터 재개할 수 있습니다.
  • 최고 수준의 사람 감독 — 사람 개입 승인은 프레임워크에 나중에 억지로 끼워 넣은 것이 아니라 기본 제공 그래프 기본 요소(중단 노드)입니다.
  • 결합된 메모리 모델 — 단기 작업 상태와 장기 지속 메모리를 모두 지원하여 에이전트가 작업 내와 세션 간에 문맥을 유지할 수 있습니다.
  • 심층적인 관측 가능성 — LangSmith 및 LangGraph Studio와의 자체 통합은 시각적 그래프 검사, 실행 추적 및 재생 기반 디버깅을 제공합니다.
  • 프레임워크 독립적 제어 — 저수준 라이브러리로서 LangGraph는 특정 에이전트 아키텍처를 강제하지 않습니다. 팀은 동일한 기본 요소 위에서 ReAct 스타일 에이전트, 다중 에이전트 시스템 또는 완전히 사용자 지정한 제어 흐름을 구현할 수 있습니다.

5. 역할별 사용 사례

  • 일반 개발자 — 단순한 프롬프트 체인이 제공하는 것 이상으로 분기 논리, 재시도 또는 다단계 도구 사용이 필요한 사용자 지정 대화형 또는 작업 실행 에이전트를 구축.
  • DevOps/SRE — LangGraph Platform을 사용하여 장기 실행 에이전트 워크플로를 배포 및 운영. 인프라 중단을 견디기 위한 내구성 있는 실행 및 체크포인팅 활용.
  • 데이터/연구 과학자 — 시각적 검사 및 빠른 디버깅을 위해 LangGraph Studio를 사용하여 복잡한 에이전트 아키텍처(다중 에이전트 협업, 성찰 루프, 도구 증강 추론)를 프로토타이핑하고 반복.
  • 프로젝트 관리자 — 민감하거나 중요한 작업을 처리하는 에이전트가 진행하기 전에 승인을 받도록 사람 개입 승인 게이트를 도입하여 운영 위험을 줄임.

6. 시작하기

필요한 것 찾기 — 그래프, 상태, 지속성 및 배포에 대한 가이드는 공식 문서 및 API 참조를 참조하십시오:

https://langchain-ai.github.io/langgraph/

설치 및 통합 — pip를 통해 Python 프로젝트에 LangGraph를 추가합니다(JavaScript/TypeScript 버전인 LangGraph.js도 제공됨):

pip install -U langgraph

기여하기 — 저장소를 포크하고, 기여 가이드라인을 검토한 후, 풀 리퀘스트를 여십시오:

git clone https://github.com/langchain-ai/langgraph.git

7. 프로젝트 구조 (선택 사항)

langgraph/
├── .github/     # CI 워크플로 및 저장소 구성
├── docs/        # 공식 문서 사이트용 문서 소스
├── examples/    # 샘플 에이전트 구현 및 사용 패턴
└── libs/        # 핵심 라이브러리 패키지(그래프 엔진, 체크포인터, 사전 구축된 구성 요소)
  • libs/에는 핵심 오케스트레이션 엔진과 내구성 있는 실행을 지원하는 체크포인터/지속성 구현이 포함되어 있습니다.
  • examples/는 직접 작성하기 전에 작동하는 에이전트 그래프를 살펴볼 수 있는 가장 빠른 방법입니다.
  • docs/는 게시된 문서 사이트와 동일하며 최신 API 변경 사항을 찾아보기 좋은 곳입니다.

8. 관련 생태계

  • LangChain — LangGraph 에이전트가 일반적으로 오케스트레이션하는 구성 요소 라이브러리(모델, 도구, 검색기)를 제공합니다. 2026년 현재 LangChain 자체 에이전트는 LangGraph 런타임에서 실행됩니다.
  • LangSmith — LangGraph 에이전트 실행을 추적, 디버깅 및 모니터링하는 데 사용되는 관측 가능성 및 평가 플랫폼입니다.
  • LangGraph Platform — 프로덕션에서 LangGraph 에이전트를 배포하고 확장하기 위한 관리형 인프라입니다.
  • LangGraph Studio — 그래프 구조를 검사하고, 실행을 단계별로 살펴보고, 체크포인트에서 실행을 재생하기 위한 시각적 디버거입니다.
  • Deep Agents — 즉시 사용 가능한 더 많은 스캐폴딩을 원하는 팀을 위해 LangGraph 위에 구축된 더 높은 수준의 에이전트 구축 계층입니다.
  • LangGraph.js — Python 생태계 외부에서 에이전트를 구축하는 팀을 위한 JavaScript/TypeScript 대응 버전입니다.

9. 라이선스

  • ✅ 상업 및 독점 제품을 포함하여 MIT 라이선스에 따라 자유롭게 사용, 수정 및 배포할 수 있습니다.
  • ✅ 소프트웨어의 복사본을 하위 라이선스 및 판매할 수 있는 권한이 명시적으로 부여됩니다.
  • ❌ 어떠한 보증도 제공되지 않으며, 작성자는 소프트웨어 사용으로 인해 발생하는 손해에 대해 책임을 지지 않습니다.
  • ℹ️ MIT 라이선스 텍스트 및 저작권 고지는 코드의 실질적인 복사본 또는 재배포에 포함되어야 합니다.

10. 자주 묻는 질문

Q: LangGraph를 사용하려면 LangChain이 필요합니까?
A: 아니요. LangGraph는 독립적인 저수준 오케스트레이션 라이브러리입니다. 단, LangChain 구성 요소와 자연스럽게 통합되며 2026년 현재 LangChain 자체 에이전트 런타임의 기반 역할을 합니다.

Q: LangGraph는 단순한 프롬프트 체인과 어떻게 다릅니까?
A: 프롬프트 체인은 고정된 선형 단계 순서를 실행합니다. LangGraph는 워크플로를 공유 상태가 있는 순환 그래프로 모델링하므로 에이전트가 루프, 분기, 재시도를 수행하고 사람의 입력을 기다리며 일시 정지할 수 있습니다.

Q: LangGraph 에이전트가 충돌이나 재시작을 견딜 수 있습니까?
A: 네. 체크포인터 및 지속성 메커니즘을 통해 LangGraph는 내구성 있는 실행을 지원하여 에이전트가 처음부터 다시 시작하는 대신 마지막으로 저장된 상태부터 재개할 수 있습니다.

Q: 에이전트 그래프를 시각적으로 디버그할 수 있는 방법이 있습니까?
A: 네, LangGraph Studio는 그래프 구조를 검사하고, 각 노드의 상태를 보고, 모든 체크포인트에서 실행을 재생할 수 있는 시각적 인터페이스를 제공합니다.

Q: Python 외부에서도 LangGraph를 사용할 수 있습니까?
A: 네, LangGraph.js는 JavaScript 및 TypeScript 프로젝트를 위한 동등한 기능을 제공합니다.

11. 빠른 링크

12. 요약

LangGraph는 전 세계 개발 팀에 단순한 선형 프롬프트 체인을 넘어서는 에이전트 구축을 위한 내구성 있고 검사 가능한 기반을 제공합니다. 루프, 분기, 사람 감독 및 충돌 복구를 기본적으로 지원합니다. 새로운 에이전트 아키텍처를 프로토타이핑하는 개별 엔지니어부터 고객 대면 제품에서 대규모로 에이전트를 운영하는 조직까지, 프로덕션급 신뢰성과 에이전트 동작에 대한 세밀한 제어가 필요한 개발자 및 팀에 가장 적합합니다.