> EulerAgent > 튜토리얼 > 그래프 > Graph 모듈 튜토리얼 — 목차

Graph 모듈 튜토리얼 — 목차

⚠️ 실험적 기능 경고 (Experimental Warning)

euleragent graph 모듈은 현재 실험적(experimental) 상태입니다. 이 모듈의 API, YAML 스키마, 동작 방식은 마이너 버전 업데이트에서도 예고 없이 변경될 수 있습니다. 연구 및 프로토타이핑 목적으로는 자유롭게 활용할 수 있지만, 프로덕션 미션 크리티컬 시스템에 적용할 경우 충분한 테스트와 검증 과정을 거친 후 사용하시기 바랍니다.

⚠️ 병렬 실행 주의사항

parallel_groups를 사용한 병렬 팬아웃/팬인 실행은 경쟁 상태(race condition), 비결정론적 결과, 예상치 못한 LangGraph 내부 동작을 초래할 수 있습니다. 병렬 브랜치가 공유 상태 키(state key)에 접근할 때는 반드시 적절한 리듀서(reducer)를 선언해야 하며, euleragent graph validate 명령으로 사전 검증을 완료한 후 실행하십시오. 모든 병렬 실행의 결과에 대한 검증 책임은 사용자에게 있습니다.


튜토리얼 목록

번호 파일 제목 난이도
00_disclaimer.md Graph 모듈 — 실험적 기능 고지 및 책임 범위 필독
01 01_concepts.md Graph vs Pattern — 무엇이 다른가? 입문
02 02_linear_graph.md 선형 그래프 — Pattern과 동일한 첫 걸음 입문
03 03_judge_route.md Graph에서 Judge 라우팅 초급
04 04_bounded_loop.md 경계 있는 루프 — max_iterations 보장 초급
05 05_interrupt_hooks.md Interrupt Hooks — 노드 전후 실행 일시 정지 중급
06 06_state_schema.md State Schema 상세 — 타입, 리듀서, 설계 중급
07 07_parallel_basics.md 병렬 실행 기초 — 첫 번째 Fan-out/Fan-in 중급
08 08_parallel_advanced.md 고급 병렬 패턴 — 3+ 브랜치, 복잡한 상태 고급
09 09_parallel_with_quality.md 병렬 리서치 + Judge 품질 루프 — 종합 예제 고급
10 10_reference.md 완전 레퍼런스 — 필드, 에러 코드, 안전 설계 체크리스트 참조

튜토리얼 설명

00_disclaimer.md — 실험적 기능 고지 (필독)

Graph 모듈을 사용하기 전에 반드시 읽어야 하는 고지 문서입니다. 실험적 기능의 범위, 개발자 책임 원칙, LangGraph 버전 의존성, 안전한 사용 방법을 설명합니다.

01_concepts.md — Graph vs Pattern 개념

Pattern과 Graph의 관계를 설명합니다. Graph는 Pattern의 완전한 상위 집합으로, 무엇이 추가되었는지 (state_schema, parallel_groups, interrupt hooks, LangGraph 통합)와 YAML-to-LangGraph 컴파일 파이프라인을 다룹니다.

02_linear_graph.md — 선형 그래프

병렬 기능 없이 가장 단순한 Graph YAML을 작성합니다. LangGraph 컴파일 결과를 확인하고 Pattern과 비교합니다.

03_judge_route.md — Judge 라우팅

2-route 및 3-route judge 패턴을 Graph에서 구현합니다. LangGraph의 add_conditional_edges로 컴파일되는 과정을 이해합니다.

04_bounded_loop.md — 경계 있는 루프

max_iterations로 루프를 안전하게 경계 짓는 방법을 배웁니다. UNBOUNDED_CYCLE 에러를 시연합니다.

05_interrupt_hooks.md — Interrupt Hooks

interrupt_beforeinterrupt_after를 사용해 특정 노드에서 실행을 일시 정지합니다. HITL force_tool 방식과의 차이를 이해합니다.

06_state_schema.md — State Schema 상세

5가지 type과 5가지 merge 전략의 조합을 완전히 이해합니다. LangGraph 리듀서로 컴파일되는 과정과 타입+전략 호환성 표를 다룹니다.

07_parallel_basics.md — 병렬 실행 기초

2개 브랜치의 가장 단순한 팬아웃/팬인 패턴을 만듭니다. 병렬 관련 에러 코드를 직접 시연합니다.

08_parallel_advanced.md — 고급 병렬 패턴

3개 이상의 브랜치와 복잡한 상태 설계를 다룹니다. 브랜치별 독립 state key 사용과 공유 key의 안전한 merge 전략을 마스터합니다.

09_parallel_with_quality.md — 종합 예제 (캡스톤)

병렬 팬아웃/팬인과 Judge 품질 루프를 결합한 프로덕션 수준의 그래프를 만듭니다. 지금까지 배운 모든 개념을 통합합니다.

10_reference.md — 완전 레퍼런스

Graph YAML 전체 필드 테이블, 에러 코드 목록, 타입+Merge 호환성 매트릭스, 안전한 병렬 설계 체크리스트를 제공합니다.


권장 학습 순서

필독: 00_disclaimer.md
        ↓
개념 이해: 01_concepts.md
        ↓
기초 실습: 02_linear_graph.md → 03_judge_route.md → 04_bounded_loop.md
        ↓
중급 기능: 05_interrupt_hooks.md → 06_state_schema.md
        ↓
병렬 실행: 07_parallel_basics.md → 08_parallel_advanced.md
        ↓
종합 실습: 09_parallel_with_quality.md
        ↓
참조 문서: 10_reference.md (필요할 때 참조)

완전 초보자라면 순서대로 한 파일씩 따라가는 것을 권장합니다. 이미 Pattern 튜토리얼을 완료한 사용자라면 01_concepts.md에서 차이점을 확인한 뒤 06_state_schema.md부터 시작해도 됩니다.


사전 준비 (Prerequisites)

Graph 모듈 튜토리얼을 시작하기 전에 다음을 완료했는지 확인하세요.

필수 완료 튜토리얼

필수 소프트웨어

# Python 3.10 이상
python --version

# euleragent 설치 (editable 모드)
pip install -e .

# LangGraph 버전 확인 (1.0.9 이상 필요)
pip show langgraph | grep Version

# graph 모듈 사용 가능 확인
euleragent graph --help

LangGraph 버전 정보

이 튜토리얼은 LangGraph 1.0.9 이상을 기준으로 작성되었습니다. LangGraph의 StateGraph API는 버전에 따라 달라질 수 있으며, 특히 다음 메서드들이 버전별로 시그니처가 다를 수 있습니다.

LangGraph 버전 StateGraph API 호환 여부
0.x 구 API (레거시) 미지원
1.0.0 – 1.0.8 과도기 부분 지원
1.0.9+ 현재 안정 API 완전 지원
2.x (미래) 미정 확인 필요
# LangGraph 설치/업그레이드
pip install "langgraph>=1.0.9"

# 설치 확인
python -c "import langgraph; print(langgraph.__version__)"

Graph 모듈 CLI 빠른 참조

# 사용 가능한 그래프 목록 조회
euleragent graph list

# 그래프 구조 확인
euleragent graph show <경로_또는_ID>

# 그래프 유효성 검사
euleragent graph validate <경로_또는_ID>
euleragent graph validate <경로_또는_ID> --format json

# LangGraph IR로 컴파일
euleragent graph compile <경로_또는_ID>
euleragent graph compile <경로_또는_ID> --out compiled.json

이 튜토리얼에서 사용하는 예제 파일 위치

튜토리얼에서 작성하는 YAML 파일은 작업 디렉터리 내 examples/graphs/ 아래에 정리합니다.

examples/graphs/
  linear/        # 선형 그래프 예제
  loops/         # 루프 패턴 예제
  parallel/      # 병렬 패턴 예제
  capstone/      # 종합 예제

각 튜토리얼에서 파일 경로를 명시하므로, 그대로 따라 생성하면 됩니다.

목록으로 다음 →