케이브맨 (Caveman)
한 줄 정의
Claude Code, Cursor, Codex, Gemini 등 약 30여 개의 AI 코딩 에이전트에 스킬(Skill) 형태로 연동되어, 극단적으로 간결한 원시인 말투로 답변을 유도하여 출력 토큰을 아끼는 확장 도구이다. (출처: raw/원시인 모드로 토큰 아끼려다 6만 스타 오픈소스에 PR 보낸 이야기.md)
핵심 요지
- 출력 토큰 65% 절감: 무의미한 잡담(small talk, fluff)을 생략하여 출력 토큰을 평균 65%(작업에 따라 22%~87% 편차) 아끼며, 전체 프로젝트 요금 기준으로는 약 18%를 절감한다. (공식 광고 수치인 75%는 최대 성능 기준이다.)
- 입력 컨텍스트 압축 (
/caveman-compress):CLAUDE.md, 프로젝트 노트, 할 일 목록 등 세션 개시 때마다 읽는 고정 파일의 설명문(prose)만 압축하여 입력 토큰을 평균 46% 아낀다. 코드 블록, URL, 파일 경로는 그대로 유지된다. - 과학적 근거 (Brevity Constraints): 2026년 3월 연구(MD Azizul Hakim, arXiv:2604.00025)에 따르면 31개 기성 모델을 대상으로 1,485개 수학/과학 질문을 평가한 결과, 모델 지시사항에 간결성 제약을 두는 것만으로도 거대 언어 모델의 ‘과도한 생각(Overthinking)‘이 억제되어 정확도가 최대 26%포인트 향상되는 효과가 입증되었다.
caveman-code독립형 에이전트: 스킬로 연동되는 Caveman과 달리caveman-code는 입력 프롬프트, 도구 실행 결과, 중복 파일 읽기 배제, 출력 텍스트의 4대 영역을 통제하는 독립형 CLI 코딩 에이전트로, 기존 Codex CLI 대비 약 1.93배 높은 토큰 효율을 보인다.- 에이전트 거절권과 정직성: 주인의 요구라 할지라도 아직 검증되지 않은 테스트를 ‘통과했다’고 거짓으로 PR 설명글에 기입하는 것을 단호히 거부하고, 47개 npm 통합 테스트 중 4개 에러와 같은 사실적 지표를 있는 그대로 명시하게 돕는 등 에이전트의 객관적 안전장치 역할을 수행한다.
상세
1. 출력 압축 비교 예시
- 기존 Claude (69 토큰): “React 컴포넌트가 다시 렌더링되는 이유는 각 렌더링 주기마다 새로운 객체 참조를 생성하기 때문일 가능성이 높습니다. 인라인 객체를 prop으로 전달하면… useMemo를 사용하는 것을 권장합니다.”
- 원시인 Claude (19 토큰): “렌더링 시마다 새 객체 참조. 인라인 객체 prop = 새 참조 = 재렌더링.
useMemo로 감싸기.” - 해결책과 기술 용어의 정확도는 완벽히 유지하면서 쓸데없는 잡담만 쏙 빼내는 실용적 방식이다. 터미널에서는
/caveman-stats명령어로 실시간 토큰 절감 통계를 확인할 수 있다.
2. 컨텍스트 압축을 통한 복리 효과 (/caveman-compress)
입력 토큰을 아끼는 것은 영구적인 비용 절감 혜택이 된다.
CLAUDE.md: 706토큰 → 285토큰 (60% 절감)- 프로젝트 노트: 1145토큰 → 535토큰 (53% 절감)
- 할 일 목록: 627토큰 → 388토큰 (38% 절감) 매 세션을 시작할 때마다 고정적으로 반복 청구되는 입력 오버헤드를 아끼는 복리식 구조로, 에이전트의 규칙 파악 능력에는 악영향을 주지 않는다.
3. 세션 자동 시작 훅 문제와 수동 모드 설정
Caveman은 기본적으로 plugin.json에 SessionStart hooks를 사용하여 새 세션이 시작될 때 강제로 자동 작동한다. 학습이 필요한 긴 설명 세션 등에서는 친절한 설명이 그리울 수 있어, 매 세션 자동 활성화는 피로감을 유발한다.
- 수동 트리거 PR #448: 기여자
zirubak(독자 포크github.com/zirubak/caveman저장소)이 제출한 PR 448에서는defaultMode: "manual"설정을 도입하여 세션 시작 훅의 자동 개입을 무력화하면서 수동으로/caveman명령어를 칠 수 있게 보완한다. 이는 기존off,lite,full,ultra,wenyan설정의 하위 호환성을 완벽히 유지한다. - 커스텀 설정 우회:
~/.claude/commands/caveman.md에 자동 훅 없이 명시적으로 칠 때만 작동하는 커스텀 설정을 작성해 우회할 수 있다.
4. PR 제출 시 AI 에이전트의 정직성(Fidelity) 거절 제어
- 상황과 충돌: 기여자가 PR 448을 작성할 때, 에이전트에게 “모든 기능을 철저히 테스트 완료했다”고 기재하라고 지시했으나 에이전트(Claude)는 이를 단호하게 거부했다. 실제로 테스트를 직접 돌려보기 전에 통과했다고 선언하는 것은 메인테이너에 대한 기만이라는 지적이었다.
- 테스트 및 투명한 보고: 실제 로컬에서 테스트를 가동한 결과, 새로 구현한
ManualModeTests3개 및 훅 테스트 7개는 통과했으나, 기존opencode설치 스크립트 결함으로 인해 총 47개 통과, 4개 실패라는 결과가 나왔다. 에이전트는 이 4개의 실패가 메인 브랜치의 기존 결함임을 밝히고 정확한 성공/실패 수치를 담은 정직하고 객관적인 PR 초안을 구성하여 제출하였다.
5. 활용 팁
- 적합한 상황: 에러 로그 해결, 간단한 버그 수정, 규칙형 메시지 작성(예:
/caveman-commit,/caveman-review). - 부적합한 상황: 낯선 프레임워크나 라이브러리를 처음 배울 때. 이때는 잡담을 걷어내며 함께 유실되는 작동 배경과 맥락이 필요하기 때문이다.
예시
- 디버깅 도중 에러가 나면 “L42: null check missing on
user.email. Add guard.”와 같이 핵심 내용만 간결하게 즉답하여 개발 속도를 높인다.
충돌
- 실제 비용 절감의 착시: 출력 토큰을 65% 이상 절감한다고 해서 프로젝트 총 비용이 65% 아껴지는 것은 아니다. 코드 탐색, 도구 호출, reasoning token 등 입력 및 추론 비중이 큰 AI 코딩 생태계 특성상 실제 요금 감소율은 평균 약 18% 수준이므로 마케팅 수치와 실무적 혜택을 구분해야 한다. (출처: raw/케이브맨을 써보고 장벽에 부딪혀 결국 65k 스타 저장소에 Pull Request를 보낸 이야기-ko.md)