Qwen Code 긴 세션을 계속하는 법: 압축과 컨텍스트 설정

Qwen Code 세션이 컨텍스트 한도에 가까워졌을 때 기록을 바로 지우거나 창 크기를 임의로 늘리면 안 됩니다. 코드와 작업 상태를 먼저 저장하고 요약 기반 압축 또는 빠른 압축을 선택한 뒤 연속성을 검증하고, autoCompactThreshold와 contextWindowSize를 실제로 적용되는 설정 계층에 둡니다.

목차
Qwen Code 긴 세션을 계속하는 법: 압축과 컨텍스트 설정

Qwen Code의 긴 세션이 거의 찼더라도 먼저 /clear를 실행하거나 contextWindowSize를 임의의 큰 값으로 바꾸지 마세요. 더 안전한 순서는 컨텍스트 용량 문제와 계정 할당량 문제를 구분하고, 코드와 작업 상태를 저장하고, 알맞은 압축 방식을 선택하고, 결과를 검증한 다음 자동 압축 임계값과 모델 창 설정을 바로잡는 것입니다.

아래 명령과 설정은 2026년 10월 11일에 확인한 Qwen Code 명령 문서, 설정 참조, Model Providers 참조를 기준으로 합니다. 설치된 버전에 따라 차이가 있으므로 실제 클라이언트부터 확인하세요.

먼저 컨텍스트와 할당량을 구분하세요

증상가능성이 높은 원인다음 조치
/context 사용률이 높거나 요청이 너무 길다는 오류현재 세션의 컨텍스트 창상태를 저장한 뒤 압축
공급자가 잔액, 요금제, 할당량, 요청 빈도, 계정 제한을 표시서비스 또는 API 할당량공급자 콘솔 확인. 압축은 할당량을 늘리지 않음
/context의 전체 창이 실제 제한과 크게 다름Qwen Code가 잘못된 창을 가정contextWindowSize 값과 위치 수정
압축 후 사용량은 줄었지만 할당량 오류가 지속컨텍스트 문제가 아님키, 잔액, 요금제, rate limit 확인

contextWindowSize는 Qwen Code가 계산과 압축 시점에 사용할 가정값입니다. 모델이나 API 서버의 실제 제한을 늘리지 않으며 구독 또는 잔액도 복구하지 않습니다.

설치 버전과 현재 사용량을 확인하세요

다음을 순서대로 실행합니다.

/status
/help
/model
/doctor
/context detail

각 명령이 끝나고 입력 프롬프트가 돌아올 때까지 기다리세요. 버전은 /status, 현재 모델 선택은 /model, 인증과 환경은 /doctor, 컨텍스트 내역은 /context detail로 확인합니다.

현재 빌드에 /summary, /compress-fast 또는 아래 설정이 없다면 먼저 공식 설치 안내를 확인하세요. 설치 버전이 모르는 키는 여러 번 수정해도 적용되지 않습니다.

압축 전에 코드 상태와 작업 상태를 모두 저장하세요

압축은 대화 기록을 바꿉니다. 커밋되지 않은 코드를 대신 저장하지 않고, 생성된 요약이 모든 암묵적 제약을 보존한다고 보장할 수도 없습니다.

코드 상태 저장

Git 프로젝트라면 다음을 실행합니다.

!git status --short
!git diff --stat

필요하면 전체 diff를 확인하거나 유지 가능한 체크포인트 커밋을 만드세요. 어떤 파일이 변경됐고, 추적되지 않으며, 어떤 테스트가 남았는지 알아야 합니다.

작업 상태 저장

추가 파일 변경을 막고 명시적인 인계 기록을 요청합니다.

파일을 변경하지 말고 현재 작업 체크포인트를 작성하세요.
- 최종 목표
- 완료한 작업
- 변경 파일과 핵심 변경
- 바꾸면 안 되는 제약
- 실행한 검증과 결과
- 해결하지 못한 문제
- 다음 한 가지 작업과 검증 명령

내용을 검토한 뒤 실행합니다.

/summary

사용자 경로를 지정하지 않으면 문서화된 저장 위치는 다음입니다.

.qwen/PROJECT_SUMMARY.md

/summary는 현재 대화 기록을 교체하지 않는 비파괴 작업입니다. 파일을 다시 넣어 읽기 전용으로 점검할 수 있습니다.

@.qwen/PROJECT_SUMMARY.md 목표, 제약, 변경 파일, 검증 결과, 다음 단계를 점검하고 누락만 알려 주세요. 코드는 수정하지 마세요.

welcome-back 흐름을 사용한다면 기본 경로를 유지하세요. 공식 문서에 따르면 사용자 지정 경로의 요약은 이 흐름이 자동으로 찾지 못합니다.

어떤 명령을 선택해야 하나요

명령동작적합한 상황주요 위험
/summary기록을 바꾸지 않고 프로젝트 상태를 파일로 저장압축, 작업 중단, 새 세션 전요약을 사람이 검토해야 함
/compress대화 기록을 요약으로 교체결정, 제약, 의존관계가 많은 작업기존 기록에 파괴적이며 세부사항 누락 가능
/compress-fastAI 없이 오래된 도구 출력과 thinking 내용을 제거로그와 tool output이 크고 목표가 이미 명확함삭제되는 오래된 도구 출력에 나중에 필요한 정보가 있을 수 있으므로 먼저 체크포인트에 기록하고 확인
/clear대화 기록을 모두 삭제외부 체크포인트에서 의도적으로 다시 시작이전 컨텍스트 소실

복잡한 개발 작업에는 /summary → 수동 검토 → /compress 순서를 권합니다. 일반 압축이 끝나지 않거나 공급자 호출이 일시적으로 불가능하거나 오래된 tool output이 창 대부분을 차지하면, 체크포인트를 저장한 뒤 /compress-fast를 사용하세요.

/summarize는 파일 저장 명령이 아닙니다. 현재 문서에서는 /compress의 별칭으로 정의되어 대화 기록을 교체합니다.

검증 가능한 전체 압축 절차

1. 입력 준비

압축 전에 목표, 변경 불가 제약, Git 상태, 완료·미완료 검증, 다음 작업과 성공 조건, 검토한 .qwen/PROJECT_SUMMARY.md가 있는지 확인하세요.

2. 압축 실행

복잡한 작업:

/compress

도구 출력이 많은 세션이며 체크포인트가 충분할 때:

/compress-fast

명령이 끝나고 프롬프트가 돌아올 때까지 기다리세요. 압축 중에는 새 코드 수정 지시를 보내지 않습니다.

3. 출력 보관

두 가지 결과를 독립적으로 보관합니다.

  1. 작업 상태를 담은 .qwen/PROJECT_SUMMARY.md
  2. 실제 코드 변경을 담은 작업 트리와 Git diff

압축된 대화만 사실의 근거로 삼지 마세요. 파일, 테스트 결과, diff가 실제 변경을 증명합니다.

4. 성공 확인

다시 실행합니다.

/context

사용량이 눈에 띄게 줄어야 합니다. 이어서 파일을 수정하지 않는 연속성 점검을 합니다.

아직 파일을 수정하지 마세요. 다음에 답하세요.
1. 현재 유일한 목표는 무엇인가요?
2. 바꾸면 안 되는 제약은 무엇인가요?
3. 어떤 파일을 수정했나요?
4. 어떤 검증이 통과했고 무엇이 남았나요?
5. 다음 한 가지 작업과 성공 신호는 무엇인가요?

답을 PROJECT_SUMMARY.md, git status, 실제 테스트 기록과 비교합니다. 모두 일치한 뒤 한 가지 작은 다음 작업만 수행하고 가장 관련 있는 검증을 실행하세요.

5. 실패해도 작업을 잃지 마세요

  • 체크포인트 저장 후 /compress가 실패하면 /compress-fast를 시도하고, 그것도 실패하면 새 세션에서 @.qwen/PROJECT_SUMMARY.md를 불러옵니다.
  • 압축 후 제약이 빠졌다면 요약을 다시 주입하고 누락을 바로잡은 뒤, 편집 전에 체크포인트를 다시 말하게 합니다.
  • 사용량이 줄었는데 호출이 계속 실패하면 잔액, 요금제, rate limit, 인증 오류인지 확인합니다.
  • 서버가 여전히 컨텍스트 초과를 반환하면 contextWindowSize가 실제 제한보다 클 수 있습니다.

자동 압축 임계값 수정: 이전 키는 더 이상 적용되지 않습니다

현재 키는 다음입니다.

{
  "context": {
    "autoCompactThreshold": 0.85
  }
}

값은 0보다 크고 1 이하여야 하며 기본값은 0.85입니다. 이는 상한이지 모든 모델이 정확히 85%에서 압축된다는 뜻이 아닙니다. 작은 창에서는 요약 공간을 남기기 위해 더 일찍 실행될 수 있습니다.

대체되어 경고 없이 무시되는 전체 이전 경로는 model.chatCompression.contextPercentageThreshold입니다.

{
  "model": {
    "chatCompression": {
      "contextPercentageThreshold": 0.7
    }
  }
}

마이그레이션할 때 context.autoCompactThreshold로 옮기고 우선 기본값을 관찰하세요. 압축이 반복적으로 너무 늦게 시작한다는 사실을 확인한 경우에만 낮추고, 기록을 더 오래 유지하려고 무작정 높이지 마세요.

사용자 범위와 프로젝트 범위를 구분하세요

  • ~/.qwen/settings.json: 현재 사용자의 모든 프로젝트
  • 프로젝트 루트의 .qwen/settings.json: 해당 프로젝트만 적용하며 사용자 설정보다 우선

문서화된 우선순위는 기본값, 시스템 기본값, 사용자 설정, 프로젝트 설정, 시스템 설정, 환경 변수, 명령줄 인수입니다. 사용자 파일 변경이 반영되지 않으면 더 높은 계층을 확인합니다.

/config는 단순 설정을 변경할 수 있습니다.

/config context.autoCompactThreshold=0.85

하지만 변경 내용은 ~/.qwen/settings.json에 기록됩니다. 저장소별 값은 .qwen/settings.json을 직접 편집하세요.

필요하면 JSON 문법을 확인합니다.

!python3 -m json.tool ~/.qwen/settings.json >/dev/null
!python3 -m json.tool .qwen/settings.json >/dev/null

contextWindowSize를 실제 적용 계층에 넣으세요

선택한 모델에 대해 공급자가 실제로 허용하는 유효 한도를 사용하세요. 마케팅 최대치나 원하는 숫자가 아닙니다. 너무 큰 값은 압축을 늦추고, 너무 작은 값은 경고와 압축을 앞당깁니다.

modelProviders에서 선택한 모델

해당 provider 항목 안에 값을 둡니다. 아래 128000은 구조 예시입니다.

{
  "modelProviders": {
    "openai": [
      {
        "id": "your-model-id",
        "name": "Your model",
        "baseUrl": "https://provider.example/v1",
        "envKey": "OPENAI_API_KEY",
        "generationConfig": {
          "contextWindowSize": 128000
        }
      }
    ]
  },
  "security": { "auth": { "selectedType": "openai" } },
  "model": { "name": "your-model-id" }
}

provider 모델 항목은 독립적이어서 상위 model.generationConfig가 빠진 필드를 채우지 않습니다. 같은 배치 규칙은 모든 OpenAI 호환 사용자 지정 Endpoint에 적용됩니다. 예를 들어 가능한 API 서비스로 BetterToken을 사용할 때도 클라이언트, 리소스, 선택 모델 지원 여부를 먼저 확인하세요.

modelProviders 밖의 runtime 모델

그 경우에만 상위 설정을 사용합니다.

{
  "model": {
    "generationConfig": {
      "contextWindowSize": 128000
    }
  }
}

두 위치에 서로 다른 값을 쓰고 추측하지 마세요. 현재 모델은 /model, 인증 방식은 /doctor로 확인하고 모델 선택 출처에 맞는 한 곳만 사용합니다.

빠른 문제 해결 순서

증상원인수정 및 확인
/compress-fast가 알 수 없는 명령오래된 버전/status, 업데이트, /help로 확인
이전 임계값이 아무 변화 없음이전 키가 무시됨context.autoCompactThreshold로 이동
사용자 설정이 적용되지 않음프로젝트 또는 시스템이 덮어씀.qwen/settings.json, 정책, 시작 인수 확인
0.85보다 먼저 압축요약용 여유 공간 필요/context로 실제 창과 사용량 확인
/context 창이 지나치게 큼값 또는 계층 오류active provider의 generationConfig에 유효 한도 설정
서버가 계속 overflow 반환설정이 실제 제한보다 큼유효 값으로 낮추고 재검증
압축 후에도 할당량 오류잔액, 요금제, rate limit공급자 콘솔 확인
모델이 다음 작업을 모름체크포인트 불완전PROJECT_SUMMARY.md 주입 후 Git·테스트와 대조

기억할 네 가지 규칙

  1. 컨텍스트와 할당량은 다릅니다. 압축은 기록을 줄이지만 계정 한도를 늘리지 않습니다.
  2. 압축 전에 저장하세요. Git은 코드 상태를, /summary는 작업 상태를 보호합니다.
  3. 복잡한 연속성에는 /compress, tool output 비대화에는 /compress-fast. 둘 다 이후 검증이 필요합니다.
  4. 실제 적용 계층에 설정하세요. context.autoCompactThreshold를 사용하고 provider 모델의 contextWindowSize는 해당 modelProviders 항목에 둡니다.

현재 세션에서 /status, /model, /doctor, /context detail, /summary부터 실행하고 체크포인트를 확인한 뒤 압축 방식을 선택하세요. 요약이 완벽하지 않아도 추적 가능한 코드와 작업 상태에서 복구할 수 있습니다.

LLM 워크플로를 최적화할 준비가 되셨나요?

하나의 API로 모델을 연결하고 키와 AI 비용을 관리하세요.

무료로 시작하기