/// NOTES · 연재 015

대화가 밀리기 전에 내가 먼저 줄인다

이 글도 그날 쓴 게 아니다. 9월 14일 Claude API 릴리스 노트에 대화를 원할 때 직접 압축하는 베타 기능이 올라왔다. 이전에도 한도에 가까워지면 자동으로 줄여 주는 기능은 있었는데, 이번 것은 내가 시점을 고른다는 점이 다르다. 공식 문서를 나중에 다시 열어 확인해 적는다.

2026-09-15· 분류 : 기능· 직접 해 보기 10분· 나중에 채운 글

무엇이 바뀌었나

확인 공식 릴리스 노트(2026-09-14)에 따르면, Messages API가 대화를 원할 때 압축할 수 있게 됐다. 베타 헤더 compact-2026-09-04를 달면, 최상위 compaction 파라미터를 보내 그 시점의 대화를 요약해 달라고 요청할 수 있다.

확인 문서에 적힌 동작 방식은 이렇다. 이 요청은 평소 주고받던 대화 턴과 별개라서 답장 없이 서명된 압축 블록 하나만 돌아오고, 그래서 백그라운드로 돌릴 수 있다. 다음 요청부터는 그 블록을 원래 있던 메시지들 자리에 넣고, 그 뒤로 오간 턴은 그대로 붙여 보내면 된다. Claude 입장에서는 그 자리에 요약이 있는 것처럼 보이고, 그 뒤는 원문 그대로 전달된다.

확인 최근 턴을 원문 그대로 남길 수 있다는 것과, 생각 과정을 유지하는 모델이라면 그렇게 남긴 최근 턴의 생각 과정도 유효하게 남는다는 것도 같은 문서에 적혀 있다.

항목내용근거
공개 시점 2026-09-14, Claude API 릴리스 노트 확인
켜는 법 요청 헤더 anthropic-beta: compact-2026-09-04 확인
기존 자동 압축과 차이 기존 것은 대화 도중 한도치에 닿으면 자동으로 줄임. 이번 것은 내가 고른 요청에서만, 답장 없이 요약만 받음 확인
요청 body의 정확한 필드 모양 compaction 파라미터의 세부 키 이름까지는 문서 원문을 다시 못 열어 이번엔 확인 못 함 확인 못 함
개인 API 키로도 되나 문서에 별도 자격 제한이 적혀 있지 않고, 콘솔 요금제 전반에 적용되는 베타로 보임 추정

왜 중요한가

이 사이트 교육 과정 L0·04 토큰·컨텍스트·환각에서 대화가 길어지면 갑자기 그만 쓰라고 하거나 아까 한 말을 잊는다고 적었다. 그 이유가 컨텍스트 한도인데, 지금까지는 그 시점을 도구가 정했다 — 한도에 닿아야 줄였다. 이번 베타는 그 시점을 내가 고를 수 있게 바꾼 것이다.

코드를 짜는 사람 입장에서는 이게 크다. 한도에 닿고 나서 줄이면 요약이 급하게 끼어들어 방금 턴의 맥락이 흔들리는 느낌을 받을 때가 있는데, 미리 한가할 때 백그라운드로 요약을 받아 두면 그 순간이 안 생긴다. 대화창을 직접 쓰는 사람보다는 Claude API로 챗봇·에이전트를 만드는 사람에게 먼저 와닿는 변화다.

한 줄로

압축이 자동으로만 일어나던 일에서 내가 시점을 고르는 일로 넘어갔다. 대화창만 쓰는 사람에게는 당장 안 보이지만, API로 긴 대화를 다루는 사람에게는 끊김을 미리 없애는 손잡이가 하나 생긴 셈이다.

직접 해 보기 — 10분

  1. API 키를 확인한다. console.claude.com(또는 console.anthropic.com)에 로그인해 있는 계정이면 기존 키를 그대로 쓴다. 이 베타도 결국 토큰만큼 과금되는 기능이라, 결제 수단이 등록돼 있는지부터 본다.
  2. 평소 하던 대로 몇 턴 대화를 쌓는다. 콘솔의 워크벤치나 직접 짠 스크립트로, 실습이니 길게 쌓을 필요 없이 서너 턴이면 된다.
  3. 베타 헤더를 달아 요청을 보낸다. 정확한 compaction 파라미터의 세부 모양은 이번엔 원문 문서를 다시 열어 확인하지 못했다 — 아래는 헤더 자리만 확실한 뼈대이고, 파라미터 값은 문서를 열어(아래 출처) 그 자리에서 확인하고 채워 넣는다.
    curl https://api.anthropic.com/v1/messages \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: compact-2026-09-04" \
      -H "content-type: application/json" \
      -d '{
        "model": "claude-fable-5-1",
        "max_tokens": 1024,
        "messages": [ ...지금까지 쌓은 대화... ],
        "compaction": { }
      }'
  4. 돌아온 압축 블록을 확인한다. 답장 문장 없이 서명된 요약 블록만 와야 정상이다. 이 요청은 백그라운드로 돌려도 된다고 문서에 적혀 있으니, 대화가 계속 진행 중이어도 따로 보내 두고 기다리면 된다.
  5. 다음 요청에서 그 블록을 앞에, 최근 턴을 뒤에 붙여 보낸다. 압축 전 대화를 그대로 이어 보낸 것과 답이 자연스럽게 이어지는지 비교해 본다. 방금 나눈 대화(최근 턴)는 원문 그대로 남아 있으니, 그 부분에 대한 질문은 압축 전과 똑같이 답해야 정상이다.
넣기 전에 볼 것

확인 못 함 이 글은 9월 14~15일 무렵 올라온 릴리스 노트만 근거로 나중에 다시 확인해 적은 기록이다. compaction 파라미터의 정확한 필드 이름과 응답 블록의 세부 구조는 이번에 원문을 다시 열지 못해 확인하지 못했다. 위 curl 예시의 "compaction": { } 자리는 뼈대일 뿐이니, 실제로 쓸 때는 공식 문서를 열어 그 자리를 채우고 시작한다.

추정 베타 기능이라 요청 형태가 바뀔 수 있다. 운영 중인 서비스에 바로 넣기보다는, 먼저 테스트 계정에서 몇 번 찍어 보고 요약 품질과 비용을 확인한 뒤에 들이는 편이 낫다.

한 줄 정리

  1. Claude API가 내가 고른 시점에 대화를 압축하는 베타를 냈다 — 헤더는 anthropic-beta: compact-2026-09-04.
  2. 받은 요약 블록은 원래 메시지 자리에 넣고, 최근 턴은 원문 그대로 뒤에 붙인다.
  3. 대화창만 쓰는 사람보다는 API로 긴 대화를 다루는 사람에게 먼저 와닿는 기능이다.
이어 읽기 L0 · 04 토큰 · 컨텍스트 · 환각 — 대화가 길어지면 왜 갑자기 그만 쓰라고 하고 아까 한 말을 잊는지, 그 이유부터. →
SOURCES
  1. Claude Platform — Release notes (2026-09-14, compact-2026-09-04 항목)
  2. Claude Platform — Compaction (압축 동작 방식, "Compact on demand" 절)