한도가 빨리 닳는 건 질문을 길게 써서가 아니에요. 새는 곳은 거의 항상 정해져 있습니다 — 스킬 · 캐시 · 대화 누적 세 군데.
입력은 내가 쓴 질문이 아니다
매 턴 통째로 다시 계산된다
여기서 오해가 시작돼요. "짧게 물어봤는데 왜 이렇게 많이 쓰지?" — 한 번의 요청에 실제로 들어가는 입력은 이렇습니다.
| 입력에 포함되는 것 | 언제 들어가나 |
|---|---|
| 시스템 프롬프트 · 설정 파일 | 매 턴 |
| 설치된 스킬 전부의 이름 + 설명 | 매 턴 |
| 연결된 도구·MCP 목록과 스펙 | 매 턴 |
| 지금까지의 대화 전체 (도구 호출 결과 포함) | 매 턴 |
| 내가 방금 친 질문 | 매 턴 (보통 제일 작음) |
즉 대화가 길어질수록 같은 내용을 계속 다시 읽히고 있는 것. 그래서 아껴야 할 대상은 "내 질문"이 아니라 매 턴 따라다니는 짐이에요.
"스킬 많이 깔면 무거워지지 않나요?" — 이 질문의 답이 Progressive disclosure(단계적 공개)예요. 클로드는 스킬을 세 단계로 나눠서 필요할 때만 읽습니다.
| 단계 | 언제 로드 | 토큰 비용 | 내용 |
|---|---|---|---|
| Level 1 메타데이터 | 항상 (시작할 때) | 스킬당 약 100토큰 | YAML의 name과 description |
| Level 2 본문 | 스킬이 발동될 때 | 5,000토큰 미만 | SKILL.md 본문 (실제 지시사항) |
| Level 3+ 자료·코드 | 필요할 때만 | 읽기 전엔 0 | 참고 파일·스크립트 |
📄 출처: Anthropic 공식문서 Agent Skills — “How Skills work” 표 원문 그대로.
스킬을 여러 개 설치하는 것 자체. 안 쓰이면 이름+설명값만 냅니다.
설명을 길게 쓴 스킬을 잔뜩 까는 것. Level 1은 항상 로드되니까 여기가 곧 고정비예요.
description은 최대 1,024자까지 쓸 수 있어요. 쓸 수 있다고 다 채우면, 그게 매 대화마다 따라붙습니다. “무엇을 하는지 + 언제 쓰는지” 두 가지만 짧게 쓰는 게 정답이에요.
스킬 안에 파이썬 스크립트를 넣어두면, 클로드는 그걸 실행만 하고 결과만 받습니다. 공식문서 표현으로 “the script code itself never enters context” — 코드 자체는 컨텍스트에 안 들어와요.
같은 앞부분을 반복해서 보낼 때, 클로드는 그걸 캐시해둘 수 있어요. 얼마나 싸지냐면 —
| 구분 | 기본 입력값 대비 |
|---|---|
| 캐시 읽기 (재사용) | 0.1배 — 10분의 1 |
| 캐시 쓰기 (5분 유지, 기본) | 1.25배 |
| 캐시 쓰기 (1시간 유지) | 2배 |
📄 출처: Anthropic 공식문서 Prompt caching — Pricing 섹션.
한 번 써두고 두 번 이상 재사용하면 바로 이득이에요. 문제는 캐시가 깨지는 조건입니다.
tools → system → messages
공식문서 표현: “Changes at each level invalidate that level and all subsequent levels.”
위쪽을 건드리면 아래가 전부 같이 날아갑니다.
안 변하는 것부터: 도구 → 시스템 지침 → 참고자료 → 변하는 대화는 맨 뒤
매번 바뀌는 값(시각·랜덤 ID·오늘 할 일)을 앞쪽에 끼워 넣기
캐시 구간은 요청당 최대 4개까지 나눌 수 있고, 캐시가 걸리려면 최소 길이가 필요해요 — Opus 5 · Fable 5 · Mythos 5 기준 512토큰입니다. 짧은 프롬프트는 애초에 캐시 대상이 아니에요.
📄 출처: Anthropic 공식문서 Prompt caching — breakpoint 수 및 모델별 최소 캐시 길이 표.
제일 무겁게 쌓이는 건 도구 호출 결과예요. 파일 읽기, 검색 결과, 로그 — 이게 전부 대화에 남아서 매 턴 다시 들어갑니다. 10번 전에 읽은 파일 내용을 지금도 계속 다시 읽히고 있는 거죠.
그래서 컨텍스트 편집(Context editing)이 있어요. 오래된 도구 결과를 자동으로 지웁니다.
| 설정 | 기본값 | 뜻 |
|---|---|---|
trigger | 입력 100,000토큰 | 이 선을 넘으면 정리 시작 |
keep | 최근 3개 | 최근 도구 호출·결과 쌍은 남김 |
clear_at_least | 없음 | 한 번에 최소 이만큼은 지우게 |
exclude_tools | 없음 | 이 도구 결과는 절대 안 지움 |
clear_tool_inputs | false | 결과뿐 아니라 호출 인자까지 지울지 |
📄 출처: Anthropic 공식문서 Context editing — clear_tool_uses_20250919 파라미터 표.
API를 안 쓰는 사람도 효과는 똑같이 낼 수 있어요.
에이전트에 "기억"을 붙이면 매 세션 시작마다 그 파일이 통째로 들어갑니다. 그래서 기억 파일에는 대개 글자 수 제한이 걸려 있어요. 헤르메스 기준으로 —
| 파일 | 담는 것 | 제한 |
|---|---|---|
| MEMORY.md | 환경·규칙·알게 된 것 | 2,200자 (약 800토큰) |
| USER.md | 사용자 프로필·선호 | 1,375자 (약 500토큰) |
🖼 실제 화면 — 헤르메스 공식문서 Persistent Memory. 두 파일과 글자 수 제한이 표로 명시돼 있어요.
제한은 불편이 아니라 설계예요. 매번 읽히는 파일이니까 짧아야 합니다. 여기에는 "다음에 또 필요할 것"만 넣고, 나머지는 필요할 때 읽는 별도 파일로 빼세요.
💰 헤르메스 비용 통제 미니교안 →description이 3줄 넘으면 줄인다기억할 한 가지만 고른다면 — 매 턴 따라다니는 짐부터 줄이세요. 내 질문을 짧게 쓰는 건 거의 효과가 없습니다.
인용 출처 — 이 교안의 모든 수치는 아래 공식문서 원문과 1:1 대조했습니다.
· Anthropic Agent Skills (progressive disclosure 3단계 표, 스킬당 ~100토큰, Level 2 5k 미만, description 최대 1,024자)
· Anthropic Prompt caching (breakpoint 최대 4개, 캐시 읽기 0.1배 / 쓰기 1.25배·1시간 2배, 최소 512토큰 — Opus 5·Fable 5·Mythos 5 기준, 무효화 계층 tools→system→messages)
· Anthropic Context editing (clear_tool_uses_20250919 기본값: trigger 100,000 입력토큰 · keep 3)
· 헤르메스 공식문서 Persistent Memory (MEMORY.md 2,200자 · USER.md 1,375자)
· 최소 캐시 길이는 모델마다 다릅니다. 본문 수치는 Opus 5 계열 기준이며, 다른 모델은 공식문서 표를 확인하세요.
· 가격·기본값은 변경될 수 있습니다. 수업일 기준 2026-08-01 확인값입니다.