caveman 스킬로 Claude Code 답 줄이는 법과 청구액이 줄어드는 조건

동딩
2026.10.12·4분 읽기·

플러그인으로 깔고 긴 답에서만 켠다

스킬은 요청이 설명과 맞으면 Claude Code가 스스로 불러 읽는 지침 파일입니다. caveman은 CLAUDE.md에 "짧게 답해"라고 적어 두던 일을 답 먼저, 인사 금지, 코드와 오류 원문 유지 같은 규칙 9조로 나눠 둔 스킬입니다. 마켓플레이스를 등록하고 플러그인으로 깝니다.

github.com
GitHub - JuliusBrussee/caveman: 🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman. - JuliusBrussee/caveman
bash
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman

플러그인으로 깔면 새 대화형 세션이 caveman을 켠 채 시작하고, 긴 대화를 요약해 줄이는 압축이 지나간 뒤에도 규칙을 다시 넣습니다. 새 세션에서 아무것도 켜지 않고 /caveman status를 치면 이미 caveman 모드라고 나옵니다. 끌 때는 stop caveman이라고 씁니다.

새 세션에서 물은 /caveman status

부모가 넘기는 props 때문에 React.memo가 듣지 않는 흔한 질문을 caveman을 끈 채 한 번, 켜고 한 번 묻습니다. "React.memo로 감싼 자식 컴포넌트가 부모가 렌더될 때마다 같이 다시 렌더링됩니다. 부모에서 <Child style={{ color: 'red' }} onClick={() => setOpen(true)} />처럼 넘기고 있습니다. 왜 그렇고 어떻게 고치나요?"

두 답 모두 스타일 객체를 컴포넌트 밖으로 빼고 함수는 useCallback으로 고정하라고 합니다. 공백을 뺀 글자 수는 1,335자에서 722자로 줄었습니다.

  • 번호 소제목 셋과 따로 둔 코드 조각이 주석 달린 코드 하나로 합쳐졌습니다.
  • 질문 코드를 다시 옮긴 줄이 빠졌습니다.
  • React DevTools Profiler로 먼저 재 보라는 조언이 빠졌습니다.

켜 둔 동안에도 보안 경고, 되돌릴 수 없는 작업 확인, 커밋 메시지는 평문으로 씁니다.

청구액은 답만큼 줄지 않습니다. 답을 쓰기 전에 속으로 쓰는 사고 토큰과 요청마다 붙는 규칙 1,836 토큰 때문에, 같은 질문에서 caveman의 청구 출력(1,363)은 "간결하게 답하세요." 한 줄(656)의 두 배였습니다.

상황고를 것근거
터미널에서 읽을 답을 줄이려 할 때caveman답 1,335자 → 722자
청구액을 줄이려 할 때CLAUDE.md에 "간결하게 답하세요."청구 출력 656·961, caveman 1,363·1,233
가끔 한 번 묻고 끝낼 때끔출력이 734 넘게 줄어야 본전(이 질문은 469)
한 세션에서 이어 물을 때출력이 18 넘게 줄면 caveman요청마다 규칙 몫 18.4
파일을 20번 읽고 답하는 작업출력이 386 넘게 줄면 caveman요청 21번 × 18.4

출력 차이가 작은 질문이 많다면 프로젝트의 .caveman.json에 {"defaultMode":"manual"}을 둡니다. 새 세션이 평문으로 시작하고 /caveman을 칠 때만 켜지며, 꺼진 세션에는 규칙 1,836 토큰이 붙지 않습니다.

플러그인 없이 스킬 파일만 받으려면

npx skills add JuliusBrussee/caveman -g로 SKILL.md만 받을 수도 있습니다. 이때는 세션마다 /caveman을 쳐서 켜야 하고, 압축 뒤에는 규칙이 빠집니다.

어미까지 더 줄이려면

/caveman은 조사와 합니다체를 문법으로 보고 남깁니다. 한 단계 센 /ultracave는 "얕게 비교함"처럼 어미까지 자릅니다.

청구액은 답만큼 줄지 않는다

사고 토큰은 화면에 보이지 않지만 출력 단가로 청구됩니다. 여기에 caveman 규칙 1,836 토큰이 요청마다 입력에 붙습니다. 같은 질문을 끔, 간결 한 줄, caveman으로 보내 청구 출력을 견줬습니다. 간결 한 줄은 시스템 프롬프트에 "간결하게 답하세요." 한 줄을 붙인 조건입니다.

같은 질문 하나의 청구 출력, 조건별
0토큰500토큰1,000토큰1,500토큰2,000토큰
끔1,505토큰327토큰0토큰1,832토큰
간결 한 줄645토큰11토큰0토큰656토큰
caveman675토큰688토큰0토큰1,363토큰
보이는 답사고규칙 입력(출력 환산)
사고 토큰까지

답 본문만 세면 caveman은 675로 끔(1,505)의 절반이 안 되고 간결 한 줄(645)과 비슷하지만, 사고 토큰 688을 더하면 간결 한 줄(656)의 두 배가 됩니다.

첫 요청의 규칙 입력

규칙 1,836 토큰이 캐시 쓰기 단가로 들어가, 출력으로 치면 734 토큰어치가 더 붙습니다.

다시 물으면

규칙이 캐시 읽기로 잡혀 18 토큰어치로 줄어듭니다. 이번에도 caveman의 출력이 간결 한 줄보다 많습니다.

환산은 100만 토큰당 Opus 5.5 단가로 냅니다.

  • 출력은 $20입니다.
  • 처음 보낸 입력을 저장해 두는 캐시 쓰기는 1시간 보관 기준 $8입니다.
  • 저장된 입력을 다시 읽는 캐시 읽기는 $0.20입니다.

Claude Code는 도구를 한 번 부를 때마다 요청을 새로 보내므로, 파일을 20번 읽고 답하는 작업은 요청이 21번입니다.

text
첫 요청: 1,836 × $8 ÷ $20 ≈ 734
그 뒤: 1,836 × $0.20 ÷ $20 ≈ 18.4
요청 21번: 21 × 18.4 ≈ 386

규칙이 캐시에 있는 세션이라면 그 작업은 출력이 끔보다 386 토큰 넘게 줄어야 본전입니다. 간결 한 줄과 견주면 첫 요청과 다시 물은 요청 모두 caveman의 출력이 더 많습니다.

내 질문으로 출력 차이를 재려면

세 조건을 claude -p로 보냅니다. claude -p는 caveman이 꺼진 채 시작하고, CAVEMAN_DEFAULT_MODE=caveman을 주면 켜집니다. output_tokens에는 사고 토큰이 들어 있고, 입력 차이는 cache_creation_input_tokens와 cache_read_input_tokens의 합으로 봅니다.

bash
Q="React.memo로 감싼 자식 컴포넌트가 부모가 렌더될 때마다 같이 다시 렌더링됩니다. 부모에서 <Child style={{ color: 'red' }} onClick={() => setOpen(true)} /> 처럼 넘기고 있습니다. 왜 그렇고 어떻게 고치나요?"
claude -p --output-format json "$Q" | jq '.usage'
claude -p --output-format json --append-system-prompt "간결하게 답하세요." "$Q" | jq '.usage'
CAVEMAN_DEFAULT_MODE=caveman claude -p --output-format json "$Q" | jq '.usage'
Comments

댓글

powered by giscus ↗