더북(TheBook)

실행하면 다음과 같은 결과를 출력합니다.

Terminal icon_terminal

> uv run python examples/6_stateless.py
알겠습니다, 철수님! 어떻게 도와드릴까요?
죄송하지만, 당신의 이름을 알 수 없습니다. 당신의 이름을 알려주시면 그에 맞춰 대화할 수 있습니다! 

첫 번째 호출에서는 모델이 “알겠습니다, 철수님! 어떻게 도와드릴까요?”처럼 답할 수 있습니다. 하지만 두 번째 호출에서는 이름을 기억하지 못하는 경우가 많습니다. 이는 두 번째 invoke() 호출에 이전 대화 기록이 포함되지 않았기 때문입니다.

모델 입장에서는 “내 이름이 뭐야?”라는 요청만 전달된 상태이므로 앞에서 “철수”라는 이름을 이야기했다는 사실을 알 수 없습니다. 사람에게는 이어지는 대화처럼 보이지만, 모델에게는 서로 연결되지 않은 별개의 요청입니다.

이를 비유하면 매번 다른 직원에게 새로 문의하는 경우입니다. 어제 어떤 직원에게 이름을 알려줬더라도 오늘 만난 직원은 그 내용을 알지 못합니다. 이전 상황을 이어가려면 기록을 다시 보여줘야 합니다. 랭체인에서 history 리스트가 바로 이 역할을 합니다.