Caveman - 원시인 말투로 Claude/Codex 토큰 절약하기
(github.com/JuliusBrussee)- 원시인 말투로 응답하도록 강제해 평균 65~75%의 출력 토큰을 절감하는 스킬
- Lite·Full·Ultra 세 단계로 압축 강도를 조절하며, 기술적 정확성을 유지한 채 짧고 효율적인 답변 생성
- 실제 벤치마크에서 React·PostgreSQL·Git 관련 설명 모두 토큰 사용량이 절반 이하로 감소
- 응답 속도 약 3배 향상, 가독성 개선, 비용 절감 효과를 동시에 제공
- Claude Code와 Codex에서 간단한 명령으로 설치 가능하며, 세션 전반에 걸쳐 지속 사용 가능
Caveman 개요
- Claude Code 및 Codex용 플러그인으로, LLM의 응답을 ‘원시인 말투(caveman-speak)’로 변환해 토큰 사용량을 약 75% 절감
- 기술적 정확성을 유지하면서 불필요한 단어를 제거해 짧고 효율적인 답변 생성
- 설치는 한 줄 명령으로 가능하며, 모든 세션에서 지속 사용 가능
- 출력 토큰만 감소 대상 — 사고/추론 토큰은 영향 없음
- 제거 대상:
- 인사·서두: "Sure, I'd be happy to help" (8토큰 낭비)
- 이유 설명 서두: "The reason this is happening is because" (7토큰)
- 권고 표현: "I would recommend that you consider" (7토큰)
- 군더더기 도입부: "Sure, let me take a look at that for you" (10토큰)
- 유지 대상: 코드 블록, 기술 용어(polymorphism 등), 에러 메시지, git 커밋·PR 메시지
Before / After 예시
- 동일한 기술적 설명을 짧은 문장으로 압축해 표현
- React 컴포넌트 리렌더링 원인 설명: 69토큰 → 19토큰
- 인증 미들웨어 버그 설명: 75% 이상 토큰 절감
-
Lite / Full / Ultra 세 단계로 압축 강도 조절 가능
-
Lite (
/caveman lite): 불필요한 표현 제거, 문법은 유지 — 전문적이되 군더더기 없음 -
Full (
/caveman full): 기본 caveman 모드 — 관사 생략, 단문·단편 구사 -
Ultra (
/caveman ultra): 최대 압축 — 전보체, 모든 것 축약
-
Lite (
벤치마크
- Claude API를 통한 실제 토큰 사용량 비교 결과 평균 65% 절감
- 절감 범위: 22%~87%
- React 리렌더링 버그 설명: 1,180 → 159토큰 (87% 절감)
- PostgreSQL 연결 풀 설정: 2,347 → 380토큰 (84% 절감)
- Docker 멀티스테이지 빌드: 1,042 → 290토큰 (72% 절감)
- git rebase vs merge 설명: 702 → 292토큰 (58% 절감)
- 콜백 → async/await 리팩터링: 387 → 301토큰 (22% 절감, 최소 효과)
- 출력 토큰만 감소, 사고·추론 토큰은 그대로 유지
- 주요 이점은 가독성 향상과 응답 속도 증가, 비용 절감은 부가 효과
과학적 근거
- 2026년 3월 논문 "Brevity Constraints Reverse Performance Hierarchies in Language Models": 대형 모델에 간결한 응답을 강제했을 때 특정 벤치마크에서 정확도 26%p 향상 및 성능 순위 역전 확인
- "Verbose not always better. Sometimes less word = more correct"
- 장황한 응답보다 짧은 응답이 더 정확한 경우 존재
설치 방법
-
한 줄 설치:
npx skills add JuliusBrussee/caveman - Claude Code 플러그인:
claude plugin marketplace add JuliusBrussee/caveman - Codex: 저장소 클론 후
/plugins메뉴에서 Caveman 검색·설치 - 트리거:
/caveman, "talk like caveman", "caveman mode", "less tokens please" - 해제: "stop caveman" 또는 "normal mode"
- 설치 1회 → 이후 전체 세션 적용
사용법
-
트리거 명령:
/caveman,$caveman, “talk like caveman”, “caveman mode”, “less tokens please” -
종료 명령: “stop caveman”, “normal mode”
-
강도 조절
Level Trigger 특징 Lite /caveman lite문법 유지, 불필요한 단어 제거 Full /caveman full기본 모드, 관사·군더더기 제거 Ultra /caveman ultra최대 압축, 축약어 중심 표현 -
설정은 세션 종료 전까지 유지
-
MIT 라이선스 / Python 100% / Claude Code & Codex 플러그인 지원
Hacker News 의견들
-
글쓴이임. 몇몇 사람들이 이 저장소가 주장하는 것보다 더 강한 주장을 반박하고 있음. 사실 이건 농담으로 만든 것이지 연구 수준의 코멘터리가 아님
이 스킬은 숨겨진 reasoning token을 줄이려는 게 아니라, 출력 텍스트의 군더더기를 줄이는 데 초점을 둔 것임. 코드 자체에는 영향이 없음
Anthropic 모델이 RL로 충분히 튜닝되어 있어서, 일부러 성능을 심하게 떨어뜨리긴 어렵다고 생각함
README에 적은 “~75%” 수치는 예비 테스트 결과라 신중히 표현해야 했음. 지금은 정식 벤치마크를 준비 중임
스킬은 무료가 아니며, 로드될 때 context를 일부 소비함. 따라서 진짜 평가는 input/output 토큰, 지연시간, 품질을 모두 포함해야 함
간결한 프롬프트가 응답 길이를 줄이면서 품질을 유지할 수 있다는 연구도 있음 (논문 링크)
결론적으로, 흥미로운 아이디어지만 과장된 해석이 많고, 정식 평가 전까지는 README를 더 정확히 써야 함- 합리적으로 들림. 온라인 토론이 원래 이런 식으로 흘러가곤 함. 그래도 이 스레드는 평균보단 나은 편이지만 가끔 실망스러움
- 벤치마크를 원한다면 adam-s/testing-claude-agent 참고를 추천함
- 요약하자면 “이건 농담임. 나한테 화내지 말라. 근데 약간은 작동함?”
- 나도 비슷한 대화를 LLM과 해봤는데, 짧은 질문에는 짧게, 공손한 요청에는 정보량이 많은 답변을 하는 경향이 있다고 설명했음. 결국 질문 방식이 답변 스타일에 영향을 줌
(그리고 왜 이런 관련 댓글이 계속 다운보트되는지 이해가 안 됨) - “Anthropic 모델은 코딩에 최적화되어 있어서 성능 저하를 강제로 만들 수 없다”는 말은 좀 혼란스러움.
“멍청하게 행동하라”는 프롬프트를 붙이면 당연히 성능을 떨어뜨릴 수 있음. 문제는 특정 출력 스타일이 실제로 얼마나 영향을 주느냐임
-
나는 항상 LLM이 기본 말투 외의 방식으로 말하도록 강제되면 추론 능력이 줄어든다고 생각했음.
모델의 일부 레이어는 “무엇을 말할지” 또는 “어떻게 말할지” 중 하나에 집중할 수밖에 없기 때문임
협업 소설이나 롤플레잉 같은 실험에서, 모델이 더 많은 사실을 고려해야 할수록 스타일 유지가 더 어려워지는 걸 봤음- 반대로, “수다스럽게 말하라”고 하면 출력이 훨씬 많아짐. 성격 지시어가 실제로 큰 영향을 줌
- 나도 비슷하게 생각함. 결국 모델은 attention budget이 한정되어 있어서, 한 번에 할 수 있는 일이 제한적임
-
이 아이디어 재밌음. 하지만 단순한 토큰이 아니라 풍부한 토큰을 쓰는 방향도 보고 싶음.
예를 들어 “make good” 대신 “improve idiomatically”처럼 더 정교한 표현을 쓰는 식임. 언어는 현실을 조정하는 모듈레이터이므로, 세밀한 사용이 더 나은 결과를 줄 것 같음. 벤치마크가 기대됨- 이 “caveman” 스타일이 예전 전보(telegram) 문체를 떠올리게 함. 전보 약어집처럼 정보를 압축한 “풍부한 토큰”을 모델이 학습하고 브라우저에서 디코딩할 수 있을까? 전보 약어집 링크
- 이건 마치 RISC vs CISC 논쟁 같음. 단순함이 확장성에서 이겼듯, LLM도 단순하고 직교적인 개념으로 사고하는 방향으로 발전 중임
- “MILSPEC prose register. Max per-token semantic yield.” 같은 프롬프트를 시도해보라고 제안함
-
나 caveman처럼 Claude에게 말해봤는데, 이해도가 떨어지고 오해가 많았음. 오히려 설명을 더 해야 했고, 오타가 있으면 맥락 손실이 큼.
결국 더 많은 단어가 필요해지는 느낌임. LLM이 자기 이전 답변에서 얻는 정보도 줄어드는 듯함- 일반 포럼(Twitter, Reddit)에서도 사람들이 LLM이 멍청하다고 불평하지만, 그들의 글쓰기 방식을 보면 이유를 알 수 있음
- 예전에 ChatGPT 초기에 s-expression으로만 대화해봤는데, 모델도 s-expression으로 답했음. 내용은 엉망이었지만 괄호는 맞았음. 지금은 그렇게 안 됨
- “말 많이 왜 함? 말 적게 하면 시간 절약. 바다 세상”
- 대부분의 “caveman” 말투 데이터가 과학적 대화가 아니라서, 모델이 그런 맥락을 예측하지 못하는 것 같음
-
Grug brained developer가 AI 툴링을 만나는 글을 봄 (grugbrain.dev)
- 나도 Grug를 예시로 LLM에게 개념을 설명하게 할 때 자주 씀
-
이 아이디어 흥미로움. 하지만 내 회사는 토큰 소비량으로 성과를 평가함. 혹시 Claude를 일부러 장황하게 만드는 스킬도 있나?
- 매 루프마다
/tmp에 ELI5 스타일로 설명하게 하면 됨 - 진심인가 농담인가? 혹시 Nvidia에서 일함?
- 매 루프마다
-
귀여운 아이디어지만, 실제로는 입력 토큰이 병목임.
모델은 수많은 파일, 툴 출력, 디렉토리 트리를 읽지만 출력은 몇백 줄 코드와 간단한 설명뿐임- 단일 턴에서는 맞지만, 여러 턴 누적 시엔 출력 최적화가 의미 있음.
참고로 “Cute idea, but” 없이도 같은 요지가 전달됨 (링크) - 게다가 이 스킬은 thinking token에는 영향을 주지 않음. 오히려 caveman식으로 바꾸려면 더 많은 내부 추론이 필요할 수도 있음
- 단일 턴에서는 맞지만, 여러 턴 누적 시엔 출력 최적화가 의미 있음.
-
관련 연구로 ‘Brevity Constraints Reverse Performance Hierarchies in Language Models’ (2026)도 있음
-
흥미로움. 출력 결과를 2B 모델로 압축 해제하는 것도 가능할 듯함
-
이미 누군가 시도했거나, 내가 직접 구현해볼까 고민 중임
LLM이 인간 언어 대신 비인간 언어로 대화하면 효율이 높아질 수 있음.
작은 로컬 모델이 인간 입력을 LLM 친화적 언어로 번역하고, 대형 모델은 그 언어로 사고한 뒤 다시 번역하는 구조임
Apple Fundamental Models처럼 작은 컨텍스트 윈도우를 가진 모델이 이런 번역층으로 쓰일 수도 있음.
강화학습으로 이런 언어를 스스로 발견하게 하는 것도 가능해 보임. 정말 재미있는 프로젝트가 될 것 같음- 나도 비슷한 생각을 했음. 전용 LLM 언어를 만들고 그걸로 모델을 학습시키면 좋겠지만, 6천만~1억 달러는 필요할 듯함.
완전히 새로운 언어와 학습 방식을 만들어야 하니까. 그래도 누군가 VC 투자를 모은다면 참여하고 싶음
- 나도 비슷한 생각을 했음. 전용 LLM 언어를 만들고 그걸로 모델을 학습시키면 좋겠지만, 6천만~1억 달러는 필요할 듯함.