18차시. State 이해
체크리스트와 과제
원본 PDF 끝부분의 체크리스트, 과제, 다음 차시 미리보기를 한 페이지에 모았습니다.
이번 차시 체크리스트
출처: 원본 PDF 22쪽 · 쪽 그림 22쪽
개념 이해
□ State를 공책 비유로 설명할 수 있다
□ 인자 전달 방식의 문제 4가지를 안다
□ "바꾼 키만 반환한다"는 규칙을 이해했다
□ 반환하지 않은 키가 유지되는 것을 안다
□ Reducer가 필요한 키와 아닌 키를 구분한다
□ question과 query를 나누는 이유를 설명할 수 있다
실습
□ TypedDict로 State를 정의했다
□ 노드마다 print로 State 변화를 확인했다
□ Reducer 있을 때와 없을 때를 비교했다
□ RAGState를 9개 키로 완성했다
□ make_initial_state 함수를 만들었다
□ stream으로 단계별 반환값을 확인했다
과제
출처: 원본 PDF 22쪽 · 쪽 그림 22쪽
🎯 이번 차시 과제
1. RAGState 설계서 작성 (필수)
각 키에 대해 아래 표를 채우세요.
| 키 | 타입 | Reducer | 쓰는 노드 | 읽는 노드 |
"쓰는 노드"와 "읽는 노드"를 적어보면
설계가 잘 됐는지 바로 드러납니다.
같은 키를 여러 노드가 쓴다면 재검토가 필요합니다.
2. Reducer 실험 (필수)
log 키에 Reducer를 붙였다 뗐다 하며
결과가 어떻게 달라지는지 확인하고 기록하세요.
3. 오류 재현 실습 (권장)
아래 세 가지를 일부러 만들어보고
어떤 에러가 나는지 기록하세요.
· query를 초기화하지 않고 invoke
· 노드에서 State 전체를 반환
· retries에 Reducer 붙이기
미리 겪어두면 나중에 당황하지 않습니다.
다음 차시 미리보기
출처: 원본 PDF 23쪽 · 쪽 그림 23쪽
19차시: Node 이해
State라는 공책을 만들었으니
이제 그 공책에 쓸 선생님들을 만들 차례입니다.
· 노드는 결국 함수 하나라는 것
· 좋은 노드의 4가지 조건
· 15차시 ask() 함수를 노드로 쪼개기
· 그래프 없이 노드만 단독 테스트하기
여기서 나눈 노드가 24~26차시 모듈로 발전합니다.
💬 마무리
오늘 배운 State는 LangGraph에서 가장 먼저 설계하는 것이고, 가장 나중까지 영향을 미치 는 것입니다.
State를 대충 잡으면 3부에서 노드를 추가할 때마다 스키마를 뜯어고치게 됩니다. 반대로 잘설계해두면 노드만 추가하면 끝입니다.
특히 question과 query를 나눈 것은 지금은 왜 그러나 싶겠지만, 30차시에서 질의 재작성을 배울 때 "아, 이래서 나눴구나" 하실 겁니다.
설계에 30분 더 쓰는 것이 나중에 3시간을 아껴줍니다.
다음 차시에서 만나요! 📓