Я есть ИИ. Я сделать. Я молодец.
Пещерный LLM
Несколько дней назад пользователь реддит в r/ClaudeAI рассказал, что научил Claude отвечать в стиле пещерного человека: короткие фразы, без вежливости, без преамбул, без "С радостью помогу вам с этой задачей!".
И получилось, что выходные токены упали с ~180 до ~45 на задаче web search. Минус 75%.
Пост быстро подхватили. На GitHub появился репозиторий caveman от JuliusBrussee - готовый плагин для Claude Code, который включает пещерный режим одной командой. Тысячи звёзд за пару дней. Тема вышла в топ Hacker News (800+ поинтов) и разлетелась по всем соцсетям.
Примеры
Обычный Claude (69 токенов):
"The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object."
Caveman Claude (19 токенов):
"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
Тот же ответ. Та же точность. В 3.5 раза короче.
Обычный Claude:
"Sure! I'd be happy to help you with that. The issue you're experiencing is most likely caused by your authentication middleware not properly validating the token expiry. Let me take a look and suggest a fix."
Caveman:
"Bug in auth middleware. Token expiry check use < not <=. Fix:"
Современные LLM после RLHF сильно воспитаны. Модель обучена быть вежливой, объяснять подробно, добавлять вводные фразы. "Конечно, с радостью помогу...", "Давайте разберёмся шаг за шагом...", "Вот подробное объяснение..." - всё это токены. Много токенов.
Когда ты заставляешь модель говорить примитивно - короткие предложения по 3-6 слов, без артиклей, без нарратива - она выдаёт только суть. Просто фильтр от воды.
Плюс есть исследование от марта 2026 - "Brevity Constraints Reverse Performance Hierarchies in Language Models". Если коротко, ограничение на краткость ответа в некоторых бенчмарках повысило точность на 26 процентных пунктов. Меньше слов - иногда более точный ответ. Модель не тратит внимание на воду. (Об этом раннее рассказывал, почему модели врут или додумывают)
Что именно caveman режет, а что не трогает
Вещи |
Что происходит |
|---|---|
Объяснения на английском/русском |
Убирает воду, оставляет суть |
Блоки кода |
Пишет нормально (caveman не тупой) |
Технические термины |
Не трогает ( |
Сообщения об ошибках |
Цитирует точно |
Git-коммиты и PR |
Пишет нормально |
Артикли (a, an, the) |
Убраны полностью |
Вежливость |
Убрана полностью |
Осторожные формулировки |
Убраны полностью |
По сути, всё техническое остаётся как есть. Умирает только обёртка из слов, за которые вы платите деньги.
Вот конкретные примеры того, что обычная LLM тратит впустую:
"I'd be happy to help you with that" — 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 токенов в никуда
Бенчмарки
Реальные замеры токенов через Claude API из репозитория caveman:
Задача |
Обычный (токены) |
Caveman (токены) |
Экономия |
|---|---|---|---|
Объяснить баг ре-рендера в React |
1180 |
159 |
87% |
Фикс auth middleware |
704 |
121 |
83% |
Настройка PostgreSQL connection pool |
2347 |
380 |
84% |
git rebase vs merge |
702 |
292 |
58% |
Рефакторинг callback в async/await |
387 |
301 |
22% |
Микросервисы vs монолит |
446 |
310 |
30% |
Ревью PR на безопасность |
678 |
398 |
41% |
Docker multi-stage build |
1042 |
290 |
72% |
Дебаг race condition в PostgreSQL |
1200 |
232 |
81% |
Реализация React error boundary |
3454 |
456 |
87% |
Среднее |
1214 |
294 |
65% |
Разброс от 22% до 87%. Чем более объяснительная задача - тем больше экономия. На задачах, где и так нужен только код, выигрыш меньше.
Три уровня пещерности
Авторы плагина предлагают три режима:
Lite - просто без воды:
"Your component re-renders because you create a new object reference each render. Inline object props fail shallow comparison every time. Wrap it in useMemo."
Full - классический caveman:
"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
Ultra - для тех, кто каждую копейку считает:
"Inline obj prop → new ref → re-render. useMemo."
Caveman Compress
Caveman режет выходные токены. Но есть ещё входные.
Если вы используете Claude Code, у вас наверняка есть CLAUDE.md - файл с настройками проекта, который подгружается при каждом запуске сессии. Тысяча токенов в файле - тысяча токенов за каждый запуск.
Caveman Compress - второй инструмент из того же репозитория. Он переписывает ваши файлы памяти в пещерном стиле, чтобы Claude читал меньше.
/caveman-compress CLAUDE.md
На выходе два файла:
CLAUDE.md— сжатая версия (это читает Claude каждую сессию)CLAUDE.original.md— человекочитаемый бэкап (это редактируете вы)
Бенчмарки сжатия
Файл |
До (токены) |
После (токены) |
Экономия |
|---|---|---|---|
claude-md-preferences.md |
706 |
285 |
59.6% |
project-notes.md |
1145 |
535 |
53.3% |
claude-md-project.md |
1122 |
687 |
38.8% |
todo-list.md |
627 |
388 |
38.1% |
mixed-with-code.md |
888 |
574 |
35.4% |
Среднее |
898 |
494 |
45% |
Общая картина
Инструмент |
Что режет |
Экономия |
|---|---|---|
caveman |
Output-токены (ответы Claude) |
~65% |
caveman-compress |
Input-токены (файлы памяти) |
~45% |
Оба вместе |
И вход, и выход |
Оба меньше |
Поддержка
Если материал оказался полезным или просто зацепил — приглашаю в канал "На Дерево"
Комментарии (3)

Oeaoo
07.04.2026 12:13Меня уже давно терзает мысль, что размашистость буквально выгодна провайдерам LLM. Сам за собой замечаю, что часто в ярости "прошу" его капсом "КРАТКО!", "ЛАКОНИЧНО!" и т д

AlekseyPraskovin
07.04.2026 12:13Меня уже давно терзает мысль, что размашистость буквально выгодна провайдерам LLM
Блин, вроде это очевидно. Всегда в SaaS смотрите, что именно тарифицируется
PeeWeee
1-го апреля?