🧩 LangGraph 개념과 그래프 접근법
1️⃣ LangGraph란?
LangGraph는 LangChain 팀이 개발한 멀티 에이전트 오케스트레이션 프레임워크입니다.
복잡한 문제를 여러 전문화된 LLM 에이전트가 협력해 해결할 수 있도록
그래프 기반 구조로 설계된 것이 특징입니다.
| 핵심 개념 | 설명 |
|---|---|
| 🎯 목적 | 여러 에이전트를 그래프 형태로 연결해 복잡한 워크플로우를 자동화 |
| 🧠 철학 | “한 명의 천재보다 협력하는 팀이 강하다” — 에이전트 분업과 협업 |
| ⚙️ 구조 | 상태(State) + 노드(Node) + 엣지(Edge)를 기반으로 흐름 제어 |
2️⃣ 왜 LangGraph인가?
🔹 기존 LLM 한계
하나의 LLM이 모든 일을 처리하면 다음과 같은 문제가 생깁니다:
- 과도한 토큰 소비
- 컨텍스트 누락
- 역할 혼선
🔹 LangGraph의 철학
LangGraph는 상태 기반(State-based) 구조를 통해 문제를 해결합니다.
- 각 에이전트가 독립된 역할을 맡음
- 공유 상태(shared state) 를 통해 협업
- 그래프 전이(logic) 로 대화 흐름 제어
예를 들어:
사용자의 질문 → 검색 에이전트 → 요약 에이전트 → 답변 에이전트
이 흐름 전체가 하나의 그래프로 정의됩니다.
3️⃣ LangGraph의 구조
🧱 ① 노드(Node)
- 하나의 에이전트(Agent) 또는 처리 단계를 의미합니다.
- 예시: “검색(Searcher)”, “요약(Summarizer)”, “응답(Response)”
- 각 노드는 자신만의 LLM, 프롬프트, 툴을 가집니다.
🔀 ② 엣지(Edge)
- 노드 간 전이(Transition) 를 담당합니다.
- 한 노드의 결과가 조건에 따라 다음 노드로 이동합니다.
- 조건부 로직(if/else)을 쉽게 표현할 수 있습니다.
- 예:
if state['done']: → END - 예:
if sender == "Researcher": → "Reviewer"
- 예:
💾 ③ 상태(State)
- LangGraph의 핵심!
- 모든 에이전트가 공유하는 메모리 역할을 합니다.
- 예: 대화 기록, 검색 결과, 처리 진행 상태 등
4️⃣ 동작 방식 이해하기
💬 메시지 흐름 (Message Flow)
- 사용자 입력이 엔트리 노드로 전달됩니다.
- 해당 노드가 작업을 수행하고 상태를 업데이트합니다.
- 조건에 따라 다음 노드로 이동합니다.
- 최종적으로 END 노드에서 결과를 반환합니다.
⚙️ 제어 흐름 (Control Flow)
- 그래프는 조건부 분기, 반복, 병렬 처리를 지원합니다.
- 예시:
- “Router” 노드가 다음 이동 경로를 결정
- “Checker” 노드가 “더 필요함/완료됨”을 판단해 반복 제어
5️⃣ 설계 시 유의사항
| 항목 | 설명 |
|---|---|
| ✅ 종료 조건 설정 | 무한 루프 방지를 위해 END 조건을 명확히 정의 |
| 🧠 프롬프트 설계 | 각 에이전트가 자신의 역할만 수행하도록 명확히 지시 |
| 💸 비용 관리 | 다중 LLM 호출은 API 비용이 증가하므로 효율적 구성 필요 |
| 🧾 로깅/모니터링 | 실행 경로와 상태를 시각화하여 디버깅 용이 (예: Langfuse) |
| ⚠️ 모델 한계 고려 | 잘못된 판단 방지를 위해 검증 단계나 휴먼 인터벤션 추가 |
6️⃣ 주요 활용 사례
🔹 1. QA 시스템
- 검색 에이전트 → 답변 생성 에이전트 → 응답 반환
- 예: “서울 인구는?” → 검색 → 요약 → 답변
🔹 2. 코드 협업
- 코드 작성 에이전트 ↔ 코드 리뷰 에이전트
- 반복 루프 구조로 품질 개선 가능
🔹 3. 문서 요약 파이프라인
- 분할 요약 → 통합 요약 → 결과 출력
- 긴 텍스트를 단계별로 효율적으로 처리
🔹 4. 대화형 비서
- 일정, 이메일, 검색 등 전문 에이전트를 조합
- 상황에 따라 라우터가 자동으로 역할 전환
7️⃣ LangGraph의 장점 요약
| 장점 | 설명 |
|---|---|
| 🧩 모듈성 | 각 노드(에이전트)를 독립적으로 설계 및 재사용 가능 |
| 🔁 유연한 흐름 제어 | 조건 분기, 반복, 병렬 처리 가능 |
| 💡 가시성 | 그래프 기반 구조로 실행 흐름 시각화 용이 |
| 🚀 확장성 | 새로운 에이전트나 기능을 쉽게 추가 가능 |
📘 마무리
LangGraph는 “멀티 에이전트 협업”을 구조적·안정적으로 구현할 수 있게 해줍니다.
단순한 체인보다 강력한 그래프형 워크플로우를 통해
복잡한 AI 시스템을 확장성과 유지보수성을 모두 확보한 형태로 설계할 수 있습니다.
🎓 실습에서는 직접 그래프를 설계하고,
각 노드(에이전트)가 협력하여 문제를 해결하는 구조를 구현해봅니다.