피드로 돌아가기
Why I Stopped Using LangGraph
Dev.toDev.to
AI/ML

LangGraph의 오버헤드를 제거한 Hexagonal Architecture 기반 LLM 파이프라인 설계

Why I Stopped Using LangGraph

DeadLocker2026년 4월 23일5intermediate

Context

LLM 애플리케이션의 단순 순차적 흐름을 State Graph로 구현함에 따른 과도한 아키텍처 복잡도 발생. Typed State 객체의 잦은 변경과 노드 시그니처 유지보수 비용이 실제 비즈니스 로직의 복잡도를 상회하는 병목 지점 형성.

Technical Solution

  • Vercel AI SDK 기반의 Hexagonal Architecture 도입을 통한 도메인 로직과 인프라 계층 분리
  • LLM Provider를 Port/Adapter 구조로 추상화하여 OpenAI, Gemini 등 모델 교체 시 도메인 코드 수정 제로화
  • Constructor Injection 방식을 통한 Agent와 Model의 결합도 제거 및 유연한 의존성 관리
  • State Graph 프레임워크의 런타임을 제거하고 Plain Function과 Interface 중심의 순차적 파이프라인 설계
  • FirestoreMemory 등 저장소 구현체를 어댑터로 처리하여 도메인 레이어의 인프라 의존성 차단
  • 복잡한 State Schema 대신 TypeScript의 기본 타입 시스템과 Composition 패턴을 활용한 상태 관리

1. 워크플로우가 '지하철 노선도' 수준의 복잡한 분기나 Multi-agent 협업을 포함하는가?

2. Human-in-the-loop를 위한 Checkpointing 및 Interrupt/Resume 기능이 필수적인가?

3. 위 질문에 '아니오'라면 LangGraph 대신 Interface 기반의 Dependency Injection 구조를 우선 검토

4. LLM 모델 교체 가능성을 고려하여 Model Provider를 별도 Adapter로 분리했는가 확인

원문 읽기