반응형

Caveman은 코드, 명령어, 경로, 에러 메시지는 한 글자도 바꾸지 않으면서 코딩 에이전트의 답변을 짧게 줄이고, 모델이 읽기 전에 로그, JSON, CSV, YAML, 테스트 출력 분량을 미리 줄여 줍니다.

코딩 세션에서 에이전트가 해결책을 길게 풀어쓰거나 모델이 전부 읽을 필요 없는 파일 텍스트 때문에 토큰이 많이 나갈 때 이 스킬을 꺼내 쓰면 됩니다.

에이전트는 더 적은 토큰으로 같은 해결책을 내놓고, 읽어야 할 파일도 이미 작아진 상태로 들어옵니다.

없을 때와 있을 때

React 리렌더링 질문을 예로 들면, 이 스킬이 없을 때 에이전트는 전체 설명에 63토큰을 씁니다. 렌더링할 때마다 새 객체 참조가 생겨 React의 얕은 비교를 통과하지 못해 컴포넌트가 리렌더링되므로 prop을 useMemo로 감싸야 한다고 길게 풀어 씁니다.

스킬을 켜면 같은 해결책이 "New object ref each render, so React re-renders. Wrap the prop in useMemo."로 줄어듭니다. 이 답변은 /caveman에서 20토큰, /ultracave에서 14토큰, /megacave에서 13토큰이며 useMemo 식별자는 정확히 그대로 남습니다. 토큰 수는 tiktoken o200k 기준으로 쟀습니다.

작동 방식

전체 설치를 진행하면 여섯 가지 기능이 켜집니다. 메시지마다 여섯 기능이 한꺼번에 순서대로 도는 구조가 아니라 각자 독립된 스위치로 동작하므로, caveman status로 어떤 기능이 켜져 있는지 확인하고 caveman off browse처럼 특정 기능 하나만 끌 수 있습니다.

Say less는 대상, 동작, 이유, 다음 단계의 정해진 순서로 답변을 씁니다. 인사말이나 "let me", 요약 정리는 빼고, 한 문장에 한 가지 내용만 능동태로 담아 약 20단어 안팎으로 씁니다. ASD-STE100 항공기 매뉴얼의 통제 영어 방식을 따른 것으로, 관사는 생략할 수 있어도 not, never, no, only는 절대 빼지 않으며 숫자와 단위도 정확히 지킵니다. 코드, 명령어, 경로, 에러 메시지는 한 글자도 바꾸지 않고, 줄인 표현이 오히려 짧지 않다면 일반 문장으로 씁니다. 도구 호출 사이에는 군더더기 말을 붙이지 않으며, 사용자 프롬프트를 줄이면 답변 품질이 떨어진다는 Adobe의 연구 결과에 따라 프롬프트도 절대 고쳐 쓰지 않습니다. 보안 경고나 되돌릴 수 없는 작업, 사용자가 혼란스러워하는 상황에서는 완전한 문장으로 설명한 뒤 다시 짧은 문체로 돌아옵니다.

Read less는 모델이 파일을 읽기 전에 먼저 분량을 줄여 줍니다. 파일 단위 테스트에서 CSV는 28,041토큰에서 314토큰으로, 로그는 22,810토큰에서 348토큰으로, YAML은 20,447토큰에서 178토큰으로, 테스트 출력은 18,806토큰에서 203토큰으로, JSON은 18,837토큰에서 281토큰으로 줄었고 HTML은 21,670토큰 그대로였습니다. 전체 세션 기준으로는 앞서 말한 형식 순서대로 55.1%, 50.2%, 46.2%, 27.8%, 26.4%를 아꼈고 HTML 세션은 9.9% 늘었습니다. 파일 여섯 개를 합치면 130,611토큰에서 22,994토큰으로 내려갔고, 시스템 프롬프트와 도구 정보가 함께 들어가는 전체 세션 입력 토큰은 885,793개에서 591,673개로 33.2% 줄었으며 18개 답변 모두 정답을 유지했습니다.

Auto는 현재 요청에 맞는 모델과 추론 강도를 고르며, 코딩 작업 85개 테스트에서 같은 점수를 내면서 xhigh 추론 강도로 설정한 Opus 5.5보다 비용이 54% 덜 들었습니다(프로젝트 측 잠정 수치). Blocks는 에이전트가 작성한 스크립트를 저장해 두고 다시 실행해, 같은 테스트 출력을 tail -20으로 넘길 때보다 한 번 실행에 드는 토큰을 397개에서 76개로 줄입니다. Browse는 웹 페이지를 129.8배 작게 압축해 돌려주며, Waste fixes는 토큰이 어디서 새는지 찾아내고 사용자가 잠시 멈춘 동안에도 프롬프트 캐시를 유지하지만 절감 수치는 아직 측정하지 않았습니다. 여섯 기능 중 Auto만 계정이 필요하며 계정은 무료입니다.

외부 벤치마크도 비슷한 흐름을 보입니다. Adobe Research는 모델 8종과 데이터셋 5종에 caveman 스타일 출력을 적용해 모델당 비용이 1.4~2.4배, 최대 3배까지 줄었다고 보고했고, Elastic은 실제 Elasticsearch MCP 시나리오 8개에서 응답 토큰이 63.6% 줄었다고 밝혔습니다. JetBrains는 짝을 이룬 코딩 작업 86개에서 측정 가능한 품질 저하 없이(p = 0.82) 출력 토큰이 8.5% 줄었다고 전했습니다.

claude-opus-5-5로 개발자 질문 10개를 테스트했을 때 출력 토큰은 별도 지시 없이 6,983개, "Answer concisely." 지시 시 4,334개, /caveman 사용 시 4,119개, /ultracave 사용 시 2,693개였습니다. 이 간결 답변 기준선과 비교해 중앙값 기준으로 /caveman은 3%, /ultracave는 35%를 더 줄였으며, 해당 수치는 3.1.0 규칙으로 측정한 뒤 이후 다시 실행하지 않았습니다.

사용 방법

쓸 때

에이전트가 설명을 길게 쓰고 있거나 설치 후 짧은 문체가 바로 시작되지 않아 이번 세션에서 짧은 답변 모드를 켜야 할 때 씁니다.

/caveman

stop caveman을 입력하기 전까지 답변이 짧은 형식을 따르며, Codex에서는 같은 스위치를 $caveman으로 켭니다.

쓸 때

/caveman보다 부가적인 단어를 더 덜어내 같은 질문에 출력 토큰을 한 단계 더 줄이고 싶을 때 씁니다.

/ultracave

핵심 해결책과 식별자는 그대로 둔 채 기본 짧은 문체보다 더 짧은 답변을 돌려받습니다.

설치

npx @caveman-ai/cli@latest
npx skills add JuliusBrussee/caveman -g

첫 번째 명령어는 전체 도구를 설치하며 Node.js 22.13 이상이 필요합니다. 두 번째 명령어는 짧은 답변 스킬만 추가하며, 설치 후 짧은 문체가 바로 시작되지 않으면 먼저 /caveman을 입력하면 됩니다.

이 도구가 맞지 않는 경우

GitHub Copilot처럼 요청당 요금을 내는 환경에서는 답변을 줄여도 요금이 내려가지 않으므로 절감 효과가 없고, 문체 규칙 때문에 입력 토큰 약 1,160개가 여전히 추가됩니다.

하려는 작업 열어볼 저장소
코드는 그대로 두고 에이전트 답변과 파일 읽기 토큰 줄이기 JuliusBrussee/caveman
네이티브 바이너리 수준까지 앱 동작 역공학하기 morluto/rea
작업 중인 에이전트 디렉터리에서 엔지니어 스킬 불러오기 또는 에이전트 개발 방법론 따르기 mattpocock/skills 또는 obra/superpowers

에이전트가 이미 해결책을 알고 있는데도 긴 답변이나 전부 읽어 들이는 파일 텍스트 때문에 토큰을 더 쓰고 있다면 Caveman이 잘 맞습니다. JuliusBrussee/caveman 저장소는 2026-04-04에 처음 올라왔고 2026-11-14에 마지막으로 푸시됐으며 스타 119,750개, 포크 6,978개, 열린 이슈 88개를 기록했습니다.

많이 묻는 질문

한 번 설치하면 어떤 에이전트를 지원하나요?

설치 프로그램이 Mac, Linux, Windows에서 에이전트와 로그인 정보를 찾아 Claude, Codex, Gemini CLI, OpenCode 등 30개 이상의 에이전트를 caveman 모드로 유지합니다. 사용자의 로컬 머신에 있는 API 키와 Claude Pro 또는 Max 로그인을 그대로 씁니다.

새 세션을 열 때마다 다시 시작되나요?

CLI를 설치한 뒤에는 일반 claude 명령어도 caveman 모드를 유지하며, Claude Code 플러그인은 서브에이전트를 포함한 모든 대화형 세션에서 자동으로 시작됩니다. 시작되지 않으면 /caveman을 입력하고, 문체를 끄려면 stop caveman을 입력하면 됩니다.

바꾸지 않고 그대로 두는 것은 무엇인가요?

사용자 프롬프트는 절대 고쳐 쓰지 않고, 코드·명령어·경로·에러 메시지는 한 글자도 바꾸지 않고 그대로 둡니다. 줄인 표현이 더 짧지 않을 때는 일반 문장을 쓰며, 보안 경고나 되돌릴 수 없는 작업, 사용자가 혼란스러워할 때는 완전한 문장으로 답합니다.

출처: GitHub 저장소 JuliusBrussee/caveman, https://github.com/JuliusBrussee/caveman

반응형
Posted by Real_G