21차시. 첫 번째 LangGraph 실습
체크리스트와 과제
원본 PDF 끝부분의 체크리스트, 과제, 다음 차시 미리보기를 한 페이지에 모았습니다.
이번 차시 체크리스트
출처: 원본 PDF 20쪽 · 쪽 그림 20쪽
개념 이해
□ 그래프 만드는 4단계 순서를 말할 수 있다
□ 더미 데이터로 먼저 만드는 이유를 안다
□ invoke와 stream의 차이와 사용 시점을 안다
□ 디버깅 기법 4가지를 안다
□ GraphRecursionError의 확인 순서를 안다
실습
□ MiniState를 정의했다
□ 더미 노드 5개를 만들고 단독 테스트했다
□ 조건부 Edge 2개와 루프를 포함해 조립했다
□ draw_ascii로 구조를 확인했다
□ 정상 경로와 검색 실패 경로를 모두 확인했다
□ stream으로 루프가 도는 것을 눈으로 봤다
□ 그래프 구조를 이미지 또는 mermaid로 저장했다
과제
출처: 원본 PDF 20쪽 · 쪽 그림 20쪽
🎯 이번 차시 과제
1. 더미 그래프 완성 (필수)
본문의 mini_graph.py를 처음부터 직접 타이핑해
두 경로가 모두 정상 동작하는 것을 확인하세요.
2. 경로 로그 3종 (필수)
아래 세 가지 상황의 stream 출력을 저장하세요.
· 재시도 없이 바로 통과
· 재시도 후 통과
· 상한 도달로 fallback
(더미 노드의 조건을 조정하면 만들 수 있습니다)
3. 무한루프 재현과 수정 (필수)
route_verify에서 상한 검사를 지우고 실행해
GraphRecursionError를 만나보세요.
그다음 다시 넣어 고쳐지는 것을 확인하세요.
4. 나만의 노드 추가 (권장)
더미 그래프에 노드를 하나 더 추가하고
Edge를 다시 연결해보세요.
예: verify 앞에 "답변 요약" 노드
다음 차시 미리보기
출처: 원본 PDF 21쪽 · 쪽 그림 21쪽
22차시: RAG를 Graph로 바꾸기 🏁
2부의 결승선입니다.
오늘 만든 구조는 그대로 두고
더미 노드를 19차시에서 만든 진짜 노드로 바꿔 끼웁니다.
· 더미 → 실제 노드 교체
· 1부 버전과 답변 품질 비교
· 3부에서 붙일 자리 미리 표시하기
· 마일스톤 2 달성
어려운 부분은 오늘 다 끝났습니다.
💬 마무리
오늘 만든 그래프는 실제로 아무 일도 하지 않습니다. "조각A, 조각B"라는 가짜 데이터를 주고받을 뿐입니다.
그런데 이 가짜 그래프에서 루프가 돌고, 상한에 걸려 빠져나오고, 검색 실패 시 다른 길로 가 는 것을 모두 확인했습니다.
이게 왜 중요할까요?
22차시에서 진짜 RAG를 얹었을 때 이상하게 동작한다면, 그건 RAG 코드 문제입니다. 그래프 구조는 이미 검증됐으니까요. 문제 범위가 절반으로 줄어듭니다.
구조 먼저, 내용은 나중에. 이 순서를 몸에 익히면 앞으로 어떤 그래프를 만들든 훨씬 빠르고 안전하게 만들 수 있습니다.
다음 차시에서 2부를 완주합니다! 🏁