컨텍스트 윈도우 이해하기

“컨텍스트 윈도우”는 언어 모델이 새로운 텍스트를 생성할 때 참조하고 되돌아볼 수 있는 텍스트의 전체 양과 생성하는 새로운 텍스트를 합친 것을 의미합니다. 이는 언어 모델이 훈련된 대규모 데이터 코퍼스와는 다르며, 대신 모델의 “작업 메모리”를 나타냅니다. 더 큰 컨텍스트 윈도우는 모델이 더 복잡하고 긴 프롬프트를 이해하고 응답할 수 있게 하며, 더 작은 컨텍스트 윈도우는 더 긴 프롬프트를 처리하거나 확장된 대화에서 일관성을 유지하는 모델의 능력을 제한할 수 있습니다.

아래 다이어그램은 API 요청에 대한 표준 컨텍스트 윈도우 동작을 보여줍니다1:

1claude.ai와 같은 채팅 인터페이스의 경우, 컨텍스트 윈도우는 “선입선출” 롤링 시스템으로도 설정될 수 있습니다.

  • 점진적 토큰 누적: 대화가 턴을 거쳐 진행됨에 따라, 각 사용자 메시지와 어시스턴트 응답이 컨텍스트 윈도우 내에 누적됩니다. 이전 턴들은 완전히 보존됩니다.
  • 선형 증가 패턴: 컨텍스트 사용량은 각 턴마다 선형적으로 증가하며, 이전 턴들은 완전히 보존됩니다.
  • 200K 토큰 용량: 총 사용 가능한 컨텍스트 윈도우(200,000 토큰)는 대화 기록을 저장하고 Claude에서 새로운 출력을 생성하기 위한 최대 용량을 나타냅니다.
  • 입력-출력 흐름: 각 턴은 다음으로 구성됩니다:
    • 입력 단계: 모든 이전 대화 기록과 현재 사용자 메시지를 포함
    • 출력 단계: 향후 입력의 일부가 되는 텍스트 응답을 생성

확장된 사고를 사용한 컨텍스트 윈도우

확장된 사고를 사용할 때, 사고에 사용된 토큰을 포함한 모든 입력 및 출력 토큰이 컨텍스트 윈도우 제한에 포함되며, 다중 턴 상황에서 몇 가지 미묘한 차이가 있습니다.

사고 예산 토큰은 max_tokens 매개변수의 하위 집합이며, 출력 토큰으로 청구되고 속도 제한에 포함됩니다.

그러나 이전 사고 블록은 Anthropic API에 의해 컨텍스트 윈도우 계산에서 자동으로 제거되며, 모델이 후속 턴에서 “보는” 대화 기록의 일부가 아니므로 실제 대화 내용을 위한 토큰 용량을 보존합니다.

아래 다이어그램은 확장된 사고가 활성화되었을 때의 특수한 토큰 관리를 보여줍니다:

  • 확장된 사고 제거: 확장된 사고 블록(진한 회색으로 표시)은 각 턴의 출력 단계에서 생성되지만, 후속 턴의 입력 토큰으로 전달되지 않습니다. 사고 블록을 직접 제거할 필요가 없습니다. Anthropic API가 이를 다시 전달할 때 자동으로 수행합니다.
  • 기술적 구현 세부사항:
    • API는 대화 기록의 일부로 다시 전달할 때 이전 턴의 사고 블록을 자동으로 제외합니다.
    • 확장된 사고 토큰은 생성 시 한 번만 출력 토큰으로 청구됩니다.
    • 효과적인 컨텍스트 윈도우 계산은 다음과 같습니다: context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens.
    • 사고 토큰에는 thinking 블록과 redacted_thinking 블록이 모두 포함됩니다.

이 아키텍처는 토큰 효율적이며 사고 블록이 상당한 길이가 될 수 있으므로 토큰 낭비 없이 광범위한 추론을 가능하게 합니다.

컨텍스트 윈도우와 확장된 사고에 대한 자세한 내용은 확장된 사고 가이드에서 읽을 수 있습니다.

확장된 사고와 도구 사용을 함께 사용한 컨텍스트 윈도우

아래 다이어그램은 확장된 사고와 도구 사용을 결합할 때의 컨텍스트 윈도우 토큰 관리를 보여줍니다:

1

첫 번째 턴 아키텍처

  • 입력 구성요소: 도구 구성 및 사용자 메시지
  • 출력 구성요소: 확장된 사고 + 텍스트 응답 + 도구 사용 요청
  • 토큰 계산: 모든 입력 및 출력 구성요소가 컨텍스트 윈도우에 포함되며, 모든 출력 구성요소는 출력 토큰으로 청구됩니다.
2

도구 결과 처리 (턴 2)

  • 입력 구성요소: 첫 번째 턴의 모든 블록과 tool_result. 확장된 사고 블록은 해당 도구 결과와 함께 반드시 반환되어야 합니다. 이는 사고 블록을 반드시 반환해야 하는 유일한 경우입니다.
  • 출력 구성요소: 도구 결과가 Claude에게 다시 전달된 후, Claude는 텍스트로만 응답합니다(다음 user 메시지까지 추가 확장된 사고 없음).
  • 토큰 계산: 모든 입력 및 출력 구성요소가 컨텍스트 윈도우에 포함되며, 모든 출력 구성요소는 출력 토큰으로 청구됩니다.
3

세 번째 단계

  • 입력 구성요소: 모든 입력과 이전 턴의 출력이 전달되지만, Claude가 전체 도구 사용 사이클을 완료했으므로 이제 삭제할 수 있는 사고 블록은 제외됩니다. API가 다시 전달할 때 사고 블록을 자동으로 제거하거나, 이 단계에서 직접 제거할 수 있습니다. 여기서 다음 User 턴을 추가하게 됩니다.
  • 출력 구성요소: 도구 사용 사이클 외부에 새로운 User 턴이 있으므로, Claude는 새로운 확장된 사고 블록을 생성하고 거기서부터 계속합니다.
  • 토큰 계산: 이전 사고 토큰은 컨텍스트 윈도우 계산에서 자동으로 제거됩니다. 다른 모든 이전 블록은 여전히 토큰 윈도우의 일부로 계산되며, 현재 Assistant 턴의 사고 블록은 컨텍스트 윈도우의 일부로 계산됩니다.
  • 확장된 사고와 도구 사용에 대한 고려사항:
    • 도구 결과를 게시할 때, 해당 특정 도구 요청과 함께 제공되는 전체 수정되지 않은 사고 블록(서명/편집된 부분 포함)이 포함되어야 합니다.
    • 확장된 사고와 도구 사용에 대한 효과적인 컨텍스트 윈도우 계산은 다음과 같습니다: context_window = input_tokens + current_turn_tokens.
    • 시스템은 암호화 서명을 사용하여 사고 블록의 진위성을 확인합니다. 도구 사용 중 사고 블록을 보존하지 않으면 Claude의 추론 연속성이 깨질 수 있습니다. 따라서 사고 블록을 수정하면 API가 오류를 반환합니다.

Claude 4 모델은 인터리브된 사고를 지원하여, Claude가 도구 호출 사이에 사고하고 도구 결과를 받은 후 더 정교한 추론을 할 수 있게 합니다.

Claude Sonnet 3.7은 인터리브된 사고를 지원하지 않으므로, 중간에 tool_result가 아닌 사용자 턴 없이는 확장된 사고와 도구 호출의 인터리빙이 없습니다.

확장된 사고와 함께 도구를 사용하는 방법에 대한 자세한 정보는 확장된 사고 가이드를 참조하세요.

1M 토큰 컨텍스트 윈도우

Claude Sonnet 4는 100만 토큰 컨텍스트 윈도우를 지원합니다. 이 확장된 컨텍스트 윈도우를 통해 훨씬 더 큰 문서를 처리하고, 더 긴 대화를 유지하며, 더 광범위한 코드베이스로 작업할 수 있습니다.

1M 토큰 컨텍스트 윈도우는 현재 사용 등급 4의 조직과 사용자 정의 속도 제한이 있는 조직에 대해 베타 버전입니다. 1M 토큰 컨텍스트 윈도우는 Claude Sonnet 4에서만 사용할 수 있습니다.

1M 토큰 컨텍스트 윈도우를 사용하려면 API 요청에 context-1m-2025-08-07 베타 헤더를 포함하세요:

from anthropic import Anthropic

client = Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Process this large document..."}
    ],
    betas=["context-1m-2025-08-07"]
)

중요한 고려사항:

  • 베타 상태: 이는 변경될 수 있는 베타 기능입니다. 기능과 가격은 향후 릴리스에서 수정되거나 제거될 수 있습니다.
  • 사용 등급 요구사항: 1M 토큰 컨텍스트 윈도우는 사용 등급 4의 조직과 사용자 정의 속도 제한이 있는 조직에서 사용할 수 있습니다. 낮은 등급의 조직은 이 기능에 액세스하려면 사용 등급 4로 승급해야 합니다.
  • 가용성: 1M 토큰 컨텍스트 윈도우는 현재 Anthropic API와 Amazon Bedrock에서 사용할 수 있습니다. Google Vertex AI 지원은 곧 제공될 예정입니다.
  • 가격: 200K 토큰을 초과하는 요청은 자동으로 프리미엄 요금(입력 2배, 출력 1.5배 가격)으로 청구됩니다. 자세한 내용은 가격 문서를 참조하세요.
  • 속도 제한: 긴 컨텍스트 요청에는 전용 속도 제한이 있습니다. 자세한 내용은 속도 제한 문서를 참조하세요.
  • 멀티모달 고려사항: 많은 수의 이미지나 PDF를 처리할 때, 파일의 토큰 사용량이 다를 수 있음을 유의하세요. 큰 프롬프트와 많은 수의 이미지를 결합할 때 요청 크기 제한에 도달할 수 있습니다.

최신 Claude 모델의 컨텍스트 윈도우 관리

최신 Claude 모델(Claude Sonnet 3.7부터 시작)에서는 프롬프트 토큰과 출력 토큰의 합이 모델의 컨텍스트 윈도우를 초과하면, 시스템이 컨텍스트를 자동으로 잘라내는 대신 검증 오류를 반환합니다. 이 변경사항은 더 예측 가능한 동작을 제공하지만 더 신중한 토큰 관리가 필요합니다.

토큰 사용량을 계획하고 컨텍스트 윈도우 제한 내에서 유지하려면, 토큰 계산 API를 사용하여 Claude에게 보내기 전에 메시지가 사용할 토큰 수를 추정할 수 있습니다.

모델별 컨텍스트 윈도우 크기 목록은 모델 비교 표를 참조하세요.

다음 단계