🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
<p align="center"> <img src="https://em-content.zobj.net/source/apple/391/rock_1faa8.png" width="120" /> </p>
<h1 align="center">caveman</h1>
<p align="center"> <strong>왜 많은 토큰을 쓸까, 적은 토큰으로도 충분한데</strong> </p>
<p align="center"> <a href="https://github.com/JuliusBrussee/caveman/stargazers"><img src="https://img.shields.io/github/stars/JuliusBrussee/caveman?style=flat&color=yellow" alt="Stars"></a> <a href="https://github.com/JuliusBrussee/caveman/commits/main"><img src="https://img.shields.io/github/last-commit/JuliusBrussee/caveman?style=flat" alt="Last Commit"></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/JuliusBrussee/caveman?style=flat" alt="License"></a> </p>
<p align="center"> <a href="#before--after">Before/After</a> • <a href="#install">설치</a> • <a href="#what-you-get">제공 기능</a> • <a href="#benchmarks">벤치마크</a> • <a href="./INSTALL.md">전체 설치 가이드</a> </p>
Claude Code 스킬/플러그인 (Codex, Gemini, Cursor, Windsurf, Cline, Copilot 등 30개 이상에서도 동작)으로, 에이전트가 마치 원시인처럼 말하게 만듭니다. 출력 토큰을 ~75% 줄이면서도 기술적 정확성은 완전히 유지합니다. 뇌는 여전히 큽니다. 입만 작아집니다.
<table> <tr> <td width="50%">
"React 컴포넌트가 리렌더링되는 이유는 각 렌더링 사이클에서 새로운 객체 참조를 생성하기 때문일 가능성이 높습니다. 인라인 객체를 prop으로 전달하면 React의 얕은 비교가 매번 다른 객체로 인식하여 리렌더링을 트리거합니다. 객체를 메모이제이션하기 위해 useMemo를 사용하는 것을 권장합니다."
</td> <td width="50%">
"각 렌더링마다 새 객체 참조. 인라인 객체 prop = 새 참조 = 리렌더링.
useMemo로 감싸세요."
</td> </tr> <tr> <td>
"물론입니다! 기꺼이 도와드리겠습니다. 현재 겪고 계신 문제는 인증 미들웨어가 토큰 만료를 제대로 검증하지 않아서 발생한 것일 가능성이 높습니다. 확인해보고 수정을 제안하겠습니다."
</td> <td>
"인증 미들웨어에 버그. 토큰 만료 검사가
<가 아니라<=를 사용. 수정:"
</td> </tr> </table>
동일한 수정. 75% 적은 단어. 뇌는 여전히 큼.
┌─────────────────────────────────────┐
│ 절약된 토큰 ████████ 75% │
│ 기술적 정확성 ████████ 100%│
│ 속도 향상 ████████ ~3x │
│ 분위기 ████████ OOG │
└─────────────────────────────────────┘
원하는 으르렁 수준을 선택하세요 — lite (군더더기 제거), full (기본 원시인), ultra (전보식), 또는 wenyan (고전 중국어, 더 짧음). 하나의 명령어로 전환 가능. 비용은 계속 내려갑니다.
당신의 언어로 말하세요. 원시인은 당신의 언어를 유지합니다. 포르투갈어로 쓰면 원시인도 포르투갈어로 으르렁댑니다. 스페인어, 프랑스어도 마찬가지. 스타일을 압축할 뿐, 언어는 압축하지 않습니다. 코드, 명령어, 에러 문자열은 정확히 유지됩니다.
"Novo ref de objeto cada render. Prop inline = novo ref = re-render. Envolva com
useMemo."
<table align="center"> <tr><td>
이 스킬은 에이전트가 말하는 것을 줄입니다. caveman-code 는 모든 것을 줄입니다 — 완전한 터미널 코딩 에이전트, 처음부터 끝까지 원시인 스타일. 동일한 작업에서 Codex보다 ~2배 적은 토큰 사용. 20개 이상의 제공자 · 계획 모드 · 자동 조종 목표 루프 · MIT.
npm install -g @juliusbrussee/caveman-code
▶ 지금 caveman-code 사용해보기 → — 왜 많은 토큰을 쓸까, 전체 에이전트가 절약하는데
</td></tr> </table>
한 줄이면 됩니다. 모든 에이전트를 찾아 각각 설치합니다.
# macOS / Linux / WSL / Git Bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
# Windows (PowerShell 5.1+)
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
약 30초 소요. Node ≥18 필요. 없는 에이전트는 건너뜁니다. 재실행해도 안전합니다.
트리거: /caveman 입력 또는 "talk like caveman"이라고 말하세요. "normal mode"로 중단합니다.
단일 에이전트 전용, 수동 명령어, 또는 30개 이상의 다른 에이전트 → INSTALL.md. 설치가 깨졌나요? 에이전트를 열고 "Read CLAUDE.md and INSTALL.md, install caveman for me." 라고 말하세요. 에이전트가 스스로 뇌를 고칩니다.
| 스킬 | 설명 | |||||
|---|---|---|---|---|---|---|
| `/caveman [lite\ | full\ | ultra\ | wenyan]` | 모든 응답을 압축합니다. 수준은 세션이 끝날 때까지 유지됩니다. | ||
/caveman-commit |
Conventional Commit 메시지, 50자 이하 제목. 무엇보다 왜인지에 초점. | |||||
/caveman-review |
한 줄 PR 코멘트: L42: 🔴 버그: user null. 가드 추가. |
|||||
/caveman-stats |
실제 세션 토큰 사용량 + 누적 절약량 + USD. --share로 트윗 가능한 한 줄. |
|||||
/caveman-compress <file> |
메모리 파일(예: CLAUDE.md)을 원시인 말투로 다시 작성합니다. 매 세션 입력 토큰을 ~46% 절약. 코드/URL/경로는 바이트 단위로 보존. |
|||||
caveman-shrink |
MCP 미들웨어. 모든 MCP 서버를 감싸 도구 설명을 압축합니다. npm. | |||||
cavecrew-* |
원시인 하위 에이전트 (조사자/빌더/리뷰어). 일반보다 ~60% 적은 토큰, 메인 컨텍스트가 더 오래 지속됨. |
상태 표시줄 배지 — Claude Code가 [CAVEMAN] ⛏ 12.4k (누적 절약 토큰)를 표시합니다. /caveman-stats 실행 시마다 업데이트. CAVEMANSTATUSLINESAVINGS=0으로 설정하면 숨길 수 있습니다.
매 세션 자동 활성화: Claude Code, Codex, Gemini (내장). Cursor / Windsurf / Cline / Copilot은 --with-init을 통해 항상 켜져 있는 규칙 파일을 얻습니다. 다른 에이전트는 세션당 /caveman으로 트리거합니다. 전체 기능 매트릭스는 INSTALL.md에 있습니다.
Claude API의 실제 토큰 수. 10개 프롬프트 평균 65% 출력 감소 (범위 22-87%).
<!-- BENCHMARK-TABLE-START -->
| 작업 | 일반 | 원시인 | 절약 | ||
|---|---|---|---|---|---|
| React 리렌더링 버그 설명 | 1180 | 159 | 87% | ||
| 인증 미들웨어 토큰 만료 수정 | 704 | 121 | 83% | ||
| PostgreSQL 연결 풀 설정 | 2347 | 380 | 84% | ||
| git rebase vs merge 설명 | 702 | 292 | 58% | ||
| 콜백을 async/await로 리팩터링 | 387 | 301 | 22% | ||
| 아키텍처: 마이크로서비스 vs 모놀리스 | 446 | 310 | 30% | ||
| 보안 이슈 PR 리뷰 | 678 | 398 | 41% | ||
| Docker 멀티스테이지 빌드 | 1042 | 290 | 72% | ||
| PostgreSQL 경쟁 조건 디버깅 | 1200 | 232 | 81% | ||
| React 에러 바운더리 구현 | 3454 | 456 | 87% | ||
| 평균 | 1214 | 294 | 65% |
<!-- BENCHMARK-TABLE-END -->
원시 데이터 및 재현 스크립트: benchmarks/. 3가지 평가 도구(기준선 / 간결 / 스킬)는 evals/에 있습니다 — 원시인은 Answer concisely.와 비교되며, 장황한 기본값과 비교되지 않으므로 차이가 정직합니다.
caveman-compress 결과 (실제 메모리 파일):
| 파일 | 원본 | 압축 | 절약 | ||
|---|---|---|---|---|---|
claude-md-preferences.md |
706 | 285 | 59.6% | ||
project-notes.md |
1145 | 535 | 53.3% | ||
claude-md-project.md |
1122 | 636 | 43.3% | ||
todo-list.md |
627 | 388 | 38.1% | ||
mixed-with-code.md |
888 | 560 | 36.9% | ||
| 평균 | 898 | 481 | 46% |
[!IMPORTANT]
원시인은 출력 토큰에만 영향을 미칩니다 — 사고/추론 토큰은 건드리지 않습니다. 원시인은 뇌를 작게 만들지 않습니다. 원시인은 입을 작게 만듭니다. 가장 큰 이점은 가독성과 속도이며, 비용 절감은 보너스입니다.
2026년 3월 논문 "Brevity Constraints Reverse Performance Hierarchies in Language Models"는 대형 모델을 간결한 응답으로 제한하면 특정 벤치마크에서 정확도가 26포인트 향상된다는 것을 발견했습니다. 장황함이 항상 더 나은 것은 아닙니다. 때로는 적은 단어가 더 정확합니다.
/caveman을 입력할 필요가 없습니다.유지보수자 세부 사항 (훅 아키텍처, 파일 소유권, CI 동기화)은 CLAUDE.md에 있습니다.
OpenClaw 자체 호스팅 게이트웨이. 하나의 상자, 여러 에이전트 내장 (Claude Code, Codex, Pi, OpenCode), Slack / Discord / iMessage / Telegram 등에 연결. 태그라인: "랍스터 방식." 랍스터는 강합니다. 랍스터는 똑똑합니다. 랍스터는 말도 많습니다.
원시인이 랍스터에게 간결함을 가르칩니다 — 동일한 표준 설치 프로그램, 하나의 에이전트로 범위 지정:
# macOS / Linux / WSL
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only openclaw
# Windows (PowerShell): Node가 없나요? 먼저 Node ≥18을 설치한 후,
npx -y github:JuliusBrussee/caveman -- --only openclaw
두 가지 일이 발생하며, 그 이상은 없습니다:
~/.openclaw/workspace/skills/caveman/SKILL.md — 스펙에 맞는 머리말 (version, always: true), openclaw skills list로 검색 가능. 스킬은 자동 주입되지 않음 (OpenClaw는 필요 시 스킬 로드) — 그래서 2단계도 수행합니다.~/.openclaw/workspace/SOUL.md에 추가됩니다. OpenClaw는 모든 턴에 "Project Context" 아래에 SOUL.md를 주입합니다 (파일당 12K, 총 60K — 블록은 그 이하). 랍스터가 첫 메시지부터 간결해집니다. 세션당 /caveman 불필요. 잔소리 없음.~/.openclaw/workspace/
├── skills/caveman/SKILL.md ← 전체 규칙 세트, 필요 시 로드
└── SOUL.md ← <!-- caveman-begin -->... <!-- caveman-end -->
↑ 매 턴 자동 주입
사용자 정의 작업 공간 경로? 명령어 앞에 OPENCLAW_WORKSPACE=/your/path를 추가하세요. 제거: 동일한 한 줄 명령어에 --uninstall 추가 — 스킬 폴더가 사라지고 SOUL.md 블록이 깔끔하게 제거되며, 다른 작업 공간 콘텐츠는 그대로 유지됩니다. 멱등성 재실행 (머리말이 두 번 추가되지 않고, 마커 블록이 중복되지 않음).
랍스터 집게는 여전히 날카롭습니다. 랍스터 입은 이제 작아졌습니다. 뇌는 여전히 큽니다.
다섯 가지 도구. 하나의 철학: 에이전트가 더 적은 것으로 더 많은 일을 한다.
| 저장소 | 설명 | ||
|---|---|---|---|
| caveman (현재 위치) | 출력 압축 — 왜 많은 토큰을 쓸까, 적은 토큰으로도 충분한데 | ||
| caveman-code | 전체 터미널 코딩 에이전트 — 왜 많은 토큰을 쓸까, 전체 에이전트가 절약하는데 | ||
| cavemem | 교차 에이전트 메모리 — 왜 에이전트가 잊을까, 에이전트가 기억할 수 있는데 | ||
| cavekit | 스펙 기반 빌드 루프 — 왜 에이전트가 추측할까, 에이전트가 알 수 있는데 | ||
| cavegemma | 원시인 쌍으로 미세 조정된 Gemma 4 31B — 왜 매 턴 프롬프트할까, 가중치가 기억하는데 |
구성: cavekit이 빌드를 구동하고, caveman이 에이전트가 말하는 것을 압축하며, cavemem이 에이전트가 기억하는 것을 압축하고, cavegemma가 압축을 가중치에 구워 넣으며, caveman-code가 이 모든 것을 하나의 터미널 에이전트로 제공합니다. 돌 하나. 돌 둘. 돌 셋. 돌 넷. 돌 다섯. 그게 다입니다.
원시인에게는 형제자매가 있습니다. JuliusBrussee/skills — 다섯 가지 스킬, 한 번의 설치, Claude Code, Cursor, Gemini, Cline, Copilot 등 40개 이상의 에이전트에서 작동:
| 스킬 | 설명 | ||
|---|---|---|---|
| caveman | 이것. 적게 말하고, 많이 전달하세요. | ||
| grill-me | 에이전트가 잘못된 것을 만들기 전에 당신의 계획을 심문합니다. 먼저 당신이 얼마나 아는지 확인합니다 — 무시하지 않고, 달래지도 않습니다. | ||
| interface-kit | 좋아 보이고, 빠르게 로드되며, 모두에게 작동하는 UI를 구축하세요. |