컴팩션 개요

컴팩션 개요 (Compaction overview)

컴팩션은 대화의 오래된 턴들을 Claude가 서버에서 작성하는 요약으로 대체해 줘요. 그래서 요약 코드를 직접 작성할 필요가 없어요. 이 덕분에 긴 대화나 에이전트 작업을 컨텍스트 창 안에 유지하면서 활성 컨텍스트는 작게 유지할 수 있어요. 대화가 길어질수록 응답 품질이 떨어지기 때문이에요.

출처: 문서

본문

컴팩션은 대화의 오래된 턴들을 Claude가 서버에서 쓰는 요약으로 대체해요. 그래서 당신만의 요약 코드가 필요 없어요. 긴 대화나 에이전트 작업을 컨텍스트 창 안에 유지하고, 활성 컨텍스트를 작게 유지해 줘요. 응답 품질은 대화가 커질수록 떨어지기 때문이에요.

이 개요를 건너뛰고 싶다면 요청 시 컴팩션으로 시작해서 애플리케이션에 컴팩션을 추가하세요. 그것과 토큰 임계값 컴팩션 둘 다 베타지만, 요청 시 컴팩션이 더 흔한 사용 사례를 다루어요. 오래된 도구 결과나 오래된 thinking 블록을 요약 대신 규칙으로 지우려면 컨텍스트 편집을 참고하세요.

컴팩션 방식 선택하기

가능한 곳에서는 요청 시 컴팩션을 사용하세요.

요청 시 컴팩션 토큰 임계값 컴팩션 당신만의 요약기 (클라이언트에서 컴팩션)
언제 할지 결정하는 주체 당신, 요청을 보냄으로써 API, 설정한 트리거에 입력 토큰이 도달할 때 당신
작성하는 코드 요약을 요청하고 교체하는 컴팩션 루프 보통 요청에 있는 매개변수 하나 요약 호출, 그 프롬프트, 히스토리 재작성
이후 다시 보내는 것 반환된 블록을 messages 맨 앞에, 그 블록이 요약하는 메시지들 대신에 응답을 평소처럼 그대로 추가. API는 블록 앞의 것들을 버려요 당신의 요약을 당신만의 메시지로
최근 턴이 그대로 유지됨 네: 최근 턴을 유지하는 컴팩션 네, 컴팩션 후 일시 중지와 재삽입으로
백그라운드에서 실행됨 네: 백그라운드 컴팩션 아니요: 임계값에 도달하는 요청 안에서 실행돼요 네, 당신의 코드 안에서
유지된 턴의 thinking을 보존, 보존 thinking 모델에서 네, 컴팩션과 보존 thinking의 조건에 따라 아니요: Claude Fable 5.1과 Claude Opus 5.5에서 재삽입하는 턴의 thinking을 제거하거나 버리세요(임계값 컴팩션 예시 참고) 아니요: 그 thinking은 검사에 실패해요
베타 헤더, 매개변수, 플랫폼 compact-2026-09-04와 최상위 compaction 매개변수. 플랫폼: 요청 시 호환성 목록 참고 임계값 호환성 목록기본 사용법 참고 없음. 당신의 코드에서 실행돼요
이런 경우에 선택 애플리케이션이 컴팩션 시점을 제어해야 하거나, 요약이 쓰이는 동안 일시 중지할 수 없거나, 최근 턴과 그 thinking을 유지해야 할 때 보통 요청 안에서 API가 컨텍스트를 관리하길 원할 때 이미 당신만의 요약기를 운영 중이고 그 요약이 전체 히스토리를 대체할 때

요청 시 컴팩션 옵션

요청 시 컴팩션은 애플리케이션이 기다리는 동안 전체 대화를 요약하는 루프를 보여줘요. 이 목록의 처음 두 페이지는 그 루프가 실행되는 방식을 바꾸고, 결합할 수 있어요. 세 번째는 thinking 블록을 다시 보내고 둘 중 하나를 한다면 적용돼요.

  • 최근 턴을 유지하는 컴팩션: 마지막 몇 턴이 Claude에게 그대로 전달되어야 할 때. 요약은 오래된 턴만 다뤄요.
  • 백그라운드 컴팩션: 대화가 요약을 위해 일시 중지될 수 없을 때. 요청은 작업이 계속되는 동안 실행되고, 블록이 도착하면 교체해요.
  • 컴팩션과 보존 thinking: 보존 thinking 모델에서 thinking 블록을 다시 보내고 최근 턴을 유지하거나 백그라운드에서 컴팩션한다면. 그렇지 않으면 건너뛰세요.
  • 당신만의 요약 프롬프트 작성: 기본 요약이 이후 턴이 필요한 것을 빠뜨릴 때. 당신의 프롬프트가 기본값을 대체해요.
  • 다시 컴팩션하기: 이미 컴팩션 블록으로 시작하는 대화가 다시 길어질 때.

이 주제들은 다른 페이지에 있어요:

임계값 컴팩션은 자체 페이지가 있어요: 토큰 임계값 컴팩션.

더 알아보기 (Learn more)