LangGraph 기본 개념 설명: state, node, edge
LangGraph 핵심 개념 3가지
주요 용어
•
State: 상태
•
Node: 노드
•
Edge: 엣지
State (상태)
상태의 개념
•
React와 동일: 프론트엔드 개발의 상태 관리 개념
•
관리하는 값: 에이전트가 관리하는 값을 나타냄
•
기본 구조: Dictionary 형태
State 예시들
Agentic RAG State
•
Query: 사용자 질문
•
Context: 필요한 문서
•
Answer: 사용자가 원하는 답변
Message State
•
기본 제공: LangGraph에서 제공하는 상태
•
Messages: Human, AI, System, Tool 메시지 리스트
•
상속 활용: 다른 값 추가 시 Message State 상속
Summary State
•
Message State 상속: 기본 메시지 상태 상속
•
Summary 값 추가: 요약 기능을 위한 추가 값
State 정의
•
관리하는 값: 에이전트가 관리하는 값
•
Dictionary: 기본적으로 딕셔너리 형태
•
원하는 값 선언: 필요한 값들을 선언 가능
Node (노드)
노드의 개념
•
작업 단위: 에이전트가 수행할 작업
•
SaaS 단위: 결제 단위와 같은 개념
•
최소 작업 단위: 에이전트 작업의 가장 작은 단위
노드 예시
•
번역 노드: 번역 작업 수행
•
요약 노드: 번역된 내용 요약
단일 책임 원칙
•
객체지향 개발: 클래스와 객체의 단일 책임 원칙
•
한 번에 하나: 노드도 한 번에 하나의 일만 수행
•
AI 효율성: 더 효율적인 AI 작업을 위한 원칙
Edge (엣지)
엣지의 개념
•
작업 순서: 작업을 순서대로 연결
•
노드 연결: 노드들을 연결하는 역할
•
Graph 용어: Graph DB의 노드와 엣지 개념과 동일
작업 순서 결정
•
번역 → 요약: 번역 노드에서 요약 노드로 연결
•
요약 → 번역: 요약 노드에서 번역 노드로 연결
•
순서 결정: 에지가 작업 순서를 결정
용어 정리
핵심 개념 요약
•
State: 에이전트가 관리하는 상태 (변수)
•
Node: 에이전트가 수행하는 작업 단위
•
Edge: 작업의 순서
Graph 용어 사용 이유
•
Graph DB: Neo4j와 같은 그래프 데이터베이스 용어
•
노드와 엣지: 그래프 이론의 기본 구성 요소
•
LangGraph: 동일한 개념 적용