Anthropic API와 Claude로 작업할 때 반드시 이해해야 할 중요한 개념이 있습니다: Claude는 대화 기록을 전혀 저장하지 않습니다. 여러분이 보내는 각 요청은 완전히 독립적이며, 이전 교환에 대한 기억이 없습니다.

이는 Claude가 이전 메시지의 컨텍스트를 기억하는 멀티턴 대화를 원한다면, 대화 상태를 직접 관리해야 한다는 것을 의미합니다.
상태가 없는(Stateless) 대화의 문제점
Claude에게 "양자 컴퓨팅이란 무엇인가요?"라고 물어보고 좋은 응답을 받았다고 가정해 보겠습니다. 그런 다음 "문장을 하나 더 써주세요"라고 후속 질문을 하면, Claude는 여러분이 무엇을 가리키는지 전혀 알지 못합니다. Claude는 양자 컴퓨팅 논의에 대한 기억이 없기 때문에 완전히 무작위적인 내용에 대한 문장을 작성할 것입니다.

멀티턴 대화가 작동하는 방식
대화 컨텍스트를 유지하려면 두 가지를 해야 합니다:
- 코드에서 모든 메시지의 목록을 수동으로 유지합니다
- 모든 요청과 함께 전체 메시지 기록을 전송합니다

실제로 작동하는 흐름은 다음과 같습니다:
- 초기 사용자 메시지를 Claude에게 전송합니다
- Claude의 응답을 받아 어시스턴트 메시지로 메시지 목록에 추가합니다
- 후속 질문을 또 다른 사용자 메시지로 추가합니다
- 전체 대화 기록을 Claude에게 전송합니다

헬퍼 함수 만들기
대화 관리를 더 쉽게 하기 위해 세 가지 헬퍼 함수를 만들 수 있습니다:
python
모두 합치기
다음은 이러한 함수를 사용하여 대화를 유지하는 방법입니다:
python
이제 Claude는 "문장을 하나 더 써주세요"가 양자 컴퓨팅 정의를 확장하는 것을 가리킨다는 것을 이해할 것입니다. 왜냐하면 여러분이 전체 대화 컨텍스트를 제공했기 때문입니다.
이러한 헬퍼 함수는 Claude와 작업하는 전반에 걸쳐 유용할 것이며, 여러 번의 교환에 걸쳐 의미 있는 대화를 유지할 수 있는 애플리케이션을 구축하는 것을 훨씬 쉽게 만들어 줄 것입니다.