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

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

Multi-Turn 대화의 작동 방식
대화 맥락을 유지하려면 두 가지를 해야 합니다:
- 코드에서 모든 메시지 목록을 수동으로 유지 관리하기
- 모든 요청과 함께 전체 메시지 기록 보내기

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

헬퍼 함수 만들기
대화 관리를 더 쉽게 하기 위해 세 가지 헬퍼 함수를 만들 수 있습니다:
모든 것을 종합하기
다음은 이러한 함수를 사용하여 대화를 유지하는 방법입니다:
이제 Claude는 "다른 문장을 써주세요"가 양자 컴퓨팅 정의를 확장하는 것을 의미한다는 것을 이해할 것입니다. 왜냐하면 여러분이 전체 대화 맥락을 제공했기 때문입니다.
핵심 요약
Claude에 대한 모든 API 호출은 독립적이라는 것을 기억하세요. 대화 맥락을 원한다면 다음을 수행해야 합니다:
- 애플리케이션에 모든 메시지를 로컬로 저장하기
- 각 요청과 함께 전체 메시지 기록 보내기
- "user"와 "assistant" 역할로 메시지를 올바르게 형식화하기
이러한 헬퍼 함수는 Claude와 함께 작업하는 내내 필수적이며, 독립된 질문-답변 교환이 아닌 자연스러운 대화처럼 느껴지는 애플리케이션을 구축하는 것을 훨씬 쉽게 만들어 줄 것입니다.