컨텍스트 무게 (Context Weight)은(는) 무엇을 하나요?
시작 시 로드되는 모든 것은 세션의 모든 요청과 함께 다시 전송됩니다. 150k 토큰의 CLAUDE.md는 작업이 시작되기 전에 요청당 150k 토큰을 소모합니다. 이 스킬은 그 로드를 측정하고, 줄이고, 그 감소를 숫자로 증명합니다.
스크립트는 이 스킬 디렉토리의 scripts/cw.py입니다.
이 파일의 위치에서 절대 경로를 확인하세요.
Python 3.8+만 필요하며 다른 것은 필요하지 않습니다.
사용자의 파일을 절대 변경하지 않으며, 숫자만 출력하고, 전사 내용은 출력하지 않으며,
--svg 또는 --open 옵션으로 요청된 사진 파일 하나만 씁니다.
실시간 미터? "지금 내 컨텍스트가 얼마나 찼는지"를 확인하려면
도구 자체 기능을 사용하세요: Claude Code는 /context, Codex는 /status.
이 스킬은 저장소와 히스토리에 관한 것입니다.
1. 측정 (읽기 전용)
python3 <skill-dir>/scripts/cw.py report <repo> --days 30 --svg
--svg는 리포트를 시스템 임시 폴더에 하나의 그림으로 그리고 마지막 줄에 그 경로를 출력합니다 (Picture: ...).
사용자가 한눈에 숫자를 볼 수 있도록 그 경로를 알려주세요.
사용자가 보길 원할 때 --open을 추가하여 열어줄 수도 있습니다.
--svg FILE로 위치를 지정할 수 있지만, 사용자가 요청하지 않는 한 저장소 내부 경로는 사용하지 마세요.
텍스트 출력은 네 부분으로 구성됩니다:
- 각 도구가 시작 시 로드하는 지시 파일 (추정 토큰)
- 각 도구의 예산 대비 스킬 목록
- 이 저장소에 대한 측정된 세션 숫자
- 순위별 결과
더 좁은 범위의 보기: files <repo>, skills <repo>, sessions --top 20,
sessions --project <name> --compare-at YYYY-MM-DD. 여기에 --json을 추가할 수 있습니다.
사용자에게 보고할 때는 다음을 제공하세요:
- 도구별 시작 토큰
start(세션 첫 번째 요청의 중간 컨텍스트)start%(다시 전송되는 시작 로드가 전체 입력에서 차지하는 비율)>threshold tok비율- 결과
어떤 숫자가 추정치(files, skills)이고 어떤 숫자가 측정치(sessions)인지 말해주세요.
Claude Code의 스킬 예산은 모델의 컨텍스트 윈도우에 따라 달라지며, 로그에는 기록되지 않습니다:
cw.py는 200k를 가정하고 이를 명시합니다.
사용자가 1M 컨텍스트 모델을 실행하는 경우 --window 1000000으로 다시 실행하세요.
2. 숫자가 가리키는 레버 선택
| 신호 | 레버 |
|---|---|
저장소 지시 사항이 ~5k 토큰 초과, 높은 start% | 지시 파일 슬리밍 (3단계) |
>threshold tok 50% 초과 | 세션 위생 (4단계) |
| "도구들이 다른 규칙을 따름" | 하나의 표준 AGENTS.md (3단계) |
| Codex "never sees" 경고 | 슬리밍 또는 중첩된 AGENTS.md 파일로 일부 이동 |
| 스킬 목록이 예산 초과 | 사용하지 않는 스킬 또는 플러그인 제거. 먼저 물어보세요: 사용자의 설정입니다 |
가장 큰 숫자부터 시작하세요. 숫자가 가리키지 않는 것은 그대로 두세요.
3. 지시 파일 슬리밍
전체 절차는 references/slimming.md에 있습니다.
편집하기 전에 읽어보세요.
간단히 요약:
- 파일을 백업한 다음
cw.py files <repo>를 기록하세요. - 모든 섹션을 다섯 가지 유형 중 하나로 분류하세요: 규칙 (유지, 간결하게), 포인터, 참조, 로그, 또는 중복.
- 참조와 로그를
docs/agent-notes/로 이동하세요. 일반 경로가 포함된 한 줄짜리 포인터를 남기세요.@를 사용하지 마세요: Claude Code는 시작 시@imports를 확장하고 Codex는 무시합니다. - 핵심은 200줄 미만, 약 5k 토큰으로 유지하고, Codex의 32 KiB 체인 제한 안에 들어가게 하세요.
- AGENTS.md를 하나의 표준 파일로 만드세요. CLAUDE.md는
@AGENTS.md와 Claude 전용 줄을 포함합니다. - 증명하세요:
verify-split이 0으로 종료되고,files가 감소를 보여주며,--max-tokens게이트를 통과합니다.
텍스트를 이동하는 것은 안전합니다. 지식을 삭제하는 것은 사용자의 결정입니다: 입증된 중복이 아닌 줄을 삭제하기 전에 물어보세요.
4. 세션 위생
대부분의 입력 토큰은 긴 세션의 후반 요청에서 발생합니다. 각 요청은 이전의 모든 것을 다시 전송합니다.
- 작업당 하나의 세션을 사용하세요.
- 컨텍스트가 윈도우의 절반 정도를 넘거나 작업이 변경되면,
짧은 인수인계(목표, 상태, 다음 단계, 수정한 파일)를 작성하고 새로 시작하세요.
Claude Code에서는
/clear, Codex에서는/new입니다. 반복적인 압축보다 이것을 선호하세요. - 큰 도구 출력을 컨텍스트 밖에 두세요: 필터링하거나, 앞부분만 보거나, 파일에 쓰고 필요한 부분만 읽으세요.
5. 증명하세요
- 즉시: 변경 전후의
cw.py files <repo>를 비교하고verify-split이 0으로 종료되는지 확인하세요. - 재성장 방지: CI 또는 pre-commit에
python3 <skill-dir>/scripts/cw.py files . --max-tokens 6000을 추가하세요. 저장소의 지시 사항이 제한을 초과하거나 Codex가 그중 일부를 자를 때 1로 종료하고, 경로가 잘못되었을 때 2로 종료하므로 오타가 절대 통과되지 않습니다. - 실제 사용 후 며칠 뒤:
cw.py sessions --project <name> --compare-at <변경 날짜>를 실행하고 변경 전후의start와start%를 보고하세요.
변경 후 세션에 대해 마지막 명령이 실행되기 전에는 실제 절감 효과를 주장하지 마세요.
종료 코드
0 정상, 1 검사 실패 (--max-tokens, verify-split), 2 잘못된 입력
(경로 없음, 읽을 수 없는 파일, 잘못된 날짜). 오류는 stderr로 출력됩니다.
참조
references/harnesses.md: 각 도구가 로드하는 내용과 시기, 크기 제한, 스킬 폴더, 출처.references/slimming.md: 슬리밍 절차 및 검증.