질문 하나가 graph.stream() 안에서 어떤 노드를 거치고, State의 messages가 어떻게 쌓이는지
1. 그래프와 데이터 흐름
실선은 그래프 엣지와 State 읽기/쓰기, 점선은 LLM 호출. agent와 classify_request는 같은 Bedrock 모델을 부르지만, agent는 도구 스키마가 붙은 llm_with_tools, 도구 안쪽은 도구 없는 llm을 씁니다. 파란 엣지가 수동 루프의 while을 대신하는 사이클입니다.
2. 질문 1에서 messages가 쌓이는 순서
노란 칸이 그 step에서 노드가 돌려준 메시지(= stream_mode="updates"로 받는 값)이고, add_messages가 그것을 뒤에 붙입니다. 모델이 두 도구를 한 번에 부른다고 가정한 흐름이라, 하나씩 부르면 agent↔tools 왕복이 한 번 더 생깁니다. 질문 2는 classify_request 한 번 → agent → END로 같은 3 step 모양입니다.