by JuliusBrussee (community) Claude Code, OpenCode, любой агент с поддержкой кастомных инструкций
Инструкционный файл для AI-агентов, который заставляет модель писать код и объяснения предельно упрощённым «телеграфным» языком — без вводных слов и воды. Экономит токены и деньги на каждом запросе: в независимых замерах даёт заметное сокращение стоимости и длины ответов без потери точности.
Инструкционный файл, который прививает AI-агенту стиль «ленивого сеньора»: не тащить лишние зависимости и абстракции, а сначала …
Priompt (priority + prompt) — библиотека для управления контекстным окном через приоритеты. Разработана командой Cursor: позволяет …
SKILL.md-инструкция для AI-агентов: автоматическое закрытие GitHub issues. 6-фазный воркфлоу: фильтрация issues → проверка веток → параллельный …
SKILL.md-инструкция для AI-агентов: управление GitHub через CLI — создание PR и issue, работа с ветками, запуск …
# Claude Code (CLI): npx skills add JuliusBrussee/caveman -g # Ручная установка (любой агент): git clone https://github.com/JuliusBrussee/caveman.git # скопировать SKILL.md в директорию инструкций вашего агента # OpenCode — ~/.config/opencode/opencode.json: # добавить путь к SKILL.md в секцию instructions/rules

Ваш AI-кодинговый агент выставляет счёт за каждое слово и пишет так, будто знает, что это важно. Caveman заставит его прекратить.
▶️ Реакция ThePrimeagen: "Ни за что это работает на самом деле"
🏆 #1 в GitHub Trending · Июль 2026 · 🥇 #1 Репозиторий дня на Trendshift · Апрель 2026
#1 на Hacker News · 904 очка · 366 комментариев · #8 Продукт дня на Product Hunt
📄 Упомянуто в CAVEWOMAN, исследовательской работе Adobe, где измерялось, что стиль "кавеман" снижает затраты на 1,4–2,4 раза, до 3 раз · 🧪 Тестировалось JetBrains на 86 реальных задачах программирования: "качество не страдает измеримо"
⚡ Одна команда, без аккаунта, без API-ключа. npx skills add JuliusBrussee/caveman -g → Быстрый старт
Посмотреть · Быстрый старт · Цифры · Сравнение · В дикой природе · Скилл · Прокси · Обёртка · Ваше приложение · Когда пропускать · Документация
| 🗣️ Обычный агент · 69 токенов | |
|---|---|
| > Причина, по которой ваш компонент React перерисуется, вероятно, в том, что вы создаёте новый объект ссылок на каждом цикле рендеринга. Когда вы передаёте объект встроенно как пропс, React выполняет поверхностное сравнение и видит его как новый объект каждый раз, что приводит к перерисовке. Я бы рекомендовал использовать `useMemo`, чтобы закешировать объект. | > Новый объект ссылок на каждом рендере. Встроенный объект пропс = новая ссылка = перерисовка. Обёртка в `useMemo`. |
Тот же диагноз. То же решение. То же useMemo. Единственное, что умерло, — это лишние слова.
Код, команды, пути к файлам и точные сообщения об ошибках никогда не становятся "кавеманскими". Изменяется только проза вокруг них. Предупреждения о безопасности и подтверждения типа "вы уверены?" возвращаются полными предложениями, а затем кавеман продолжает работу.
Кавеман не делает мозг меньше. Кавеман делает рот меньше.
Половина удовольствия в том, что ваш агент говорит, будто только что открыл огонь. Другая половина в том, что он всё равно прав.
Токен — это то, за что AI-сервисы берут плату, примерно три четверти слова. Ваш агент платит за каждый токен, который он пишет, и за каждый токен, который он читает. Большинство агентов пишут как в сопроводительном письме и читают как из шланга.
Кавеман решает обе проблемы: в агенте, который вы запускаете, и в том, который вы создаёте:
Началось как шутка в пятницу апреля 2026 года. Набрало 4000 звёзд за неделю. Теперь более 100 000, с исследовательской работой, тестом JetBrains и видео-реакцией Primeagen. Шутка стала серьёзной. Голос — нет.
Кавеман бывает двух размеров. Начните с малого.
Файл правил, который заставляет вашего агента отвечать на манер кавемана. Лицензия MIT, бесплатно навсегда, работает в 30+ агентах (Claude Code, Codex, Gemini, Cursor, Windsurf, Cline, Copilot и др.). Одна команда:
npx skills add JuliusBrussee/caveman -g
```>
Наберите `/caveman`, если ваш агент не активируется сам. Это вся установка. Один камень.
### Большой камень: прокси
---
Работает на вашем устройстве между вашим агентом и поставщиком ИИ, уменьшая то, что агент *читает* перед каждым вызовом. MIT CLI, BSL-1.1 для времени выполнения:
```bash
npm install -g @caveman-ai/cli && caveman setup --install
caveman claude # or codex · gemini · aider · kilo · qwen · opencode · hermes · openclaw · pi
Строите агента на коде вместо запуска в терминале? Та же самая оптимизация, обёртка вокруг вызова, который вы уже делаете. MIT-клиент, альфа-версия на сегодня:
npm install @caveman-ai/middleware @caveman-ai/sdk # TypeScript, plus your framework (ai, openai, …)
pip install 'caveman-middleware[langchain]' caveman-sdk # Python 3.13+, swap the extra for your framework
Шесть строк кода и локальное время выполнения. Полное руководство ниже.
Они накладываются друг на друга. Большинство начинают с маленького камня и переходят к большему.
Другие входы в пещеру · полный инсталлятор, Windows, одиночные агенты, деинсталляция
Полный инсталлятор подключает хуки для Claude Code и строку состояния, находит все поддерживаемые агенты на вашем устройстве и пропускает те, которые у вас нет. Безопасно перезапускать. Требуется Node.js 22.13+.
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.7.0/install.sh | bash
Windows, PowerShell 5.1+:
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.7.0/install.ps1 | iex
Просто один агент:
# Claude Code
claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman
# Gemini CLI
gemini extensions install https://github.com/JuliusBrussee/caveman
# Oh My Pi (OMP)
npx -y github:JuliusBrussee/caveman -- --only omp
# Qwen Code CLI, then its Caveman wrapper
npm i -g @qwen-code/qwen-code
caveman qwen
# Codex, Cursor, Windsurf, Cline, and other skills-compatible agents
npx skills add JuliusBrussee/caveman --skill '*' -a codex --yes -g # replace codex with your agent profile
Установка сломалась? Откройте вашего агента в этом репозитории и скажите: "Прочитайте CLAUDE.md и INSTALL.md, установи caveman для меня." Агент прочитает репозиторий, агент починит свой собственный "мозг". Змея съедает хвост.
Передумали: npx -y github:JuliusBrussee/caveman -- --uninstall
Полная матрица из 30+ агентов, пробные запуски, флаги и верификация доступны в INSTALL.md.
Маленький камень. Навык, сразу после npx skills add:
/caveman lite для лаконичного, но вежливого. /caveman ultra для лаконичного. /caveman wenyan для классического китайского, потому что кто-то спросил./caveman-commit пишет коммит по конвенции за одну строку./caveman-review выдаёт одно наблюдение на строку: L42: 🔴 null deref. Защитите это./caveman-compress CLAUDE.md обрезает текст, сохраняет все заголовки, пути и команды, а оригинал резервирует.stop caveman. Возвращается нормальный текст. Никаких обид.Большой камень. Прокси, сразу после npm install -g @caveman-ai/cli:
caveman learn читает месяцы истории агента, уже находящиеся на вашем диске локально, и ранжирует ваши "стоки" токенов по убыванию с однострочным исправлением за каждым. Сделайте это перед всем остальным. Это самые полезные пять минут в этом README.caveman learn implement передаёт каждое исправление Claude Code или Codex по одному диффу за раз, применяемому только по вашему "да", и отменяет всё, что не снизило токены за ход.caveman claude (или codex, gemini, aider, opencode, pi, …) ставит прокси перед ним. Логи, вывод тестов, JSON и диффы сжимаются до того, как поставщик их увидит. Оригиналы остаются на диске, и агент может вернуть любой из них обратно.caveman shrink -- pnpm test сжимает вывод команды. caveman browse <url> даёт агенту сжатый вид веб-страницы вместо дампа доступности в 15 000 токенов.caveman trial -- claude запускает реальную сессию с и без caveman, затем caveman trial report показывает разницу. Этот A/B перекрывает все числа на этой странице. Для теста нужен свой прокси, поэтому если вы уже выполнили шаг 3, он скажет вам сначала запустить caveman disable claude, а затем caveman enable claude после. Caveman лучше сказать "не могу измерить это", чем выдать отчёт, полный нулей.caveman convert --dry-run показывает, какие установленные навыки становятся дешевле как PNG-страницы, которые модель читает как изображение. Преобразуйте прибыльные, откатитесь байт в байт в любое время.caveman stats для истории и оценок. /caveman-stats внутри Claude Code для этой сессии.Каждое число ниже либо из зафиксированного запуска в этом репозитории, либо от названного третьего лица. Ничего округлённого вверх. Где число маленькое, об этом сказано. Где строка красная, она остаётся красной.
| Кто измерял | Что измеряли | Результат |
|---|---|---|
| Adobe Research (CAVEWOMAN, arXiv 2606.24083) | Восемь моделей, пять наборов данных, пять уровней сжатия | Стиль caveman на стороне вывода сокращает реальные затраты в 1.4–2.4 раза на модель, до 3× в лучшем случае |
| JetBrains | 86 реальных задач по кодированию, парный A/B, Claude Code 2.1.200. Только навык, без прокси (июль 2026, до появления прокси) | На 8.5% меньше токенов в выводе, примерно на 10% затрат. Нет обнаруживаемых изменений качества (тест знаков p = 0.82) |
| Этот репозиторий (зафиксированный снимок оценки) | Десять вопросов для разработчиков, навык против простого Answer concisely. (контроль), claude-opus-4-6 |
На 50% меньше токенов в выводе в медиане поверх лаконичного контроля. Только длина, не корректность |
| Прочтите эти три документа вместе, и вы получите честную картину. Диалог в стиле чата: большой отсев. Сессии кодирования с агентным подходом, где большинство токенов — это код и вызовы инструментов, к которым навык не прикасается: высокие однозначные цифры на выходе, качество на прежнем уровне. |
Число от JetBrains — причина существования прокси. Они измерили навык в одиночку в июле 2026 года, до выхода прокси. Их вывод заключался в том, что счет агента состоит mostly из чтения, а не написания, и никакой стиль общения это не исправит. Поэтому мы создали инструмент, который сокращает чтение. Таблица ниже — то, что это изменило.
Другое открытие из статьи Adobe также важно: сжатие промпта человека в "язык пещерного человека" заставляет модели отвечать длиннее и хуже. Caveman никогда не переписывает ваши промпты. Только "рот" агента.
Правила добавляют токены на каждом вызове, и окупается ли более короткий вывод зависит от вашего агента, кэширования и тарификации. Полный расчет: docs/HONEST-NUMBERS.md.
Ни один проверенный результат бенчмарка API пока не опубликован здесь. Запустите
uv run python benchmarks/run.py, чтобы сгенерировать новый результат, затем проверьте сырые пары ответов и качество перед публикацией сгенерированной таблицы.
Ваш агент перечитывает логи, вывод тестов, диффы и половину вашего репозитория весь день. Прокси сжимает этот поток до того, как он достигнет провайдера. Зафиксированный бенчмарк Claude Code на 54 запусках, токены ввода по данным провайдера, три запуска на каждый случай, каждый ответ проверен против точного оракула:
| Случай | Прямой Claude Code | Через caveman | Изменение |
|---|---|---|---|
| Поиск выбросов в CSV | 165,823 | 74,484 | -55.1% |
| Игла в стоге сеней (логи) | 148,807 | 74,068 | -50.2% |
| Дрейф конфигурации YAML | 132,124 | 71,027 | -46.2% |
| Сбой в выводе тестов | 150,377 | 108,514 | -27.8% |
| Дрейф JSON при деплое | 147,975 | 108,939 | -26.4% |
| Предупреждение HTML дашборда | 140,687 | 154,641 | +9.9% |
| Итого | 885,793 | 591,673 | -33.2% |
18 из 18 проверок ответов прошли. Интервал доверия 95% для кластеров случаев: 14.6% до 48.5%. В том же наборе Headroom сэкономил 6.7% и провалил 3 из 18 проверок. Метод, хеши происхождения и лимиты: docs/WRAP-BENCHMARK.md. Сырые артефакты harness не включены в этот чек-аут, поэтому рассматривайте это как зафиксированный отчет, а не публичную воспроизводимость.
Примечание от maintainer. Строка с HTML остается красной, и так и будет. В этом случае не применялось сжатие, поэтому caveman оплатил собственные накладные расходы и ничего не выиграл. День, когда я скрою красную строку, — это день, когда вы должны перестать доверять зеленым.
| Поле применения | Измерено | Значение |
|---|---|---|
| Страницы браузера | Фокусированный вопрос к таблице из 200 строк против снимка Playwright ARIA | 121 токен против 15,704. В 129,8 раз меньше. Маленькие формы теряют 2,3×; об этом говорит бенчмарк |
Файлы в памяти (/caveman-compress) |
Пять реальных фикстур в стиле CLAUDE.md |
В среднем на 46% меньше, заголовки, код, пути и URL проверены на целостность |
| Сам навык (режим пикселей) | Визуализация в PNG-страницы, которые модель читает как изображение | С 1,069 до 415 оцененных токенов, сокращение на 61% |
Префикс вашего harness (subagent-tax) |
То, что каждый суб-агент пересылает перед любой работой | На одном реальном устройстве 219K из 267K-символьного запроса были схемами инструментов. Запустите на своем |
Многие инструменты в долине обещают экономию токенов. Они работают на разных уровнях, поэтому сначала — что каждый из них затрагивает, а затем — что было измерено. Каждая цитата ниже взята из README или страницы GitHub этого инструмента на 2026-09-19.
| Инструмент | Что сжимает | Можно вернуть оригинал? | Отправляет данные домой |
|---|---|---|---|
| Caveman | Что агент говорит (навык) и что он читает: вывод инструментов, логи, JSON, диффы, вывод тестов, веб-страницы (прокси) | Всегда. Байт-в-байт оригинал в локальной SQLite, одна ручка для восстановления | CLI: анонимные подсчеты включены по умолчанию, caveman telemetry off. Навык и хуки: никогда |
| RTK | Только вывод команд оболочки: ls, cat, grep, git, запуск тестов. Вызовы инструментов Read и Grep обходят его |
Если команда завершилась с ошибкой или была обрезана, или по опции для успешных запусков | Выключено по умолчанию, опция включения |
| Headroom | Вывод инструментов, логи, файлы и история через локальный прокси | Да, обратимый кэш | Включено по умолчанию, HEADROOM_BEACON=off |
| context-mode | Вывод инструментов, запускается в песочнице, чтобы сырые данные никогда не попадали в контекст | Соответствующие разделы из поискового индекса, но не весь оригинал | Никогда |
| pxpipe | Текстовый контекст, перерендеривается в изображения, которые модель читает | Нет. "Это потери." Промахи молчаливы | Только локальный лог |
| ### Что написано на банке и кто проверял |
| Инструмент | Что написано на банке | Кто проверял, на чём | Результат |
|---|---|---|---|
| Caveman | Только то, что измеряет эта страница | Этот репозиторий, закреплённая коллекция из 54 запусков Claude Code, каждая ответ проверена против известного правильного ответа | 33.2% меньше входных токенов, 18/18 ответов правильных |
| Caveman, только навык | JetBrains, 86 реальных задач по программированию, парное A/B-тестирование | 8.5% меньше выходных токенов, качество без изменений (тест знаков p = 0.82) | |
| RTK | "Сокращает до 90% выход bash, который читает ваш агент". В их README добавлено: "это не то же самое, что сократить счёт на 90%" | JetBrains, та же лаборатория, тот же метод, 86 задач, 425 оплаченных тестов | +7.6% медианная стоимость на задачу при низких затратах на рассуждение (p = 0.004), +0.1% при высоких. Качество ничья |
| Headroom | "На 20% меньше токенов для агентов-кодировщиков, на 60–95% меньше токенов для JSON" | Этот репозиторий, та же коллекция из 54 запусков, как выше | 6.7% меньше входных токенов, 15/18 ответов правильных |
| context-mode | "315 КБ становится 5.4 КБ. Сокращение на 98%." | Только собственные данные по размеру. Нет опубликованной проверки качества | — |
| pxpipe | "~59–70% более низкая итоговая стоимость" | Собственные запуски на SWE-bench | Lite: 10/10 в обоих случаях. Pro: 14/19 с, 15/19 без, и их перезапуск одного разбиения говорит о вариативности от запуска к запуску |
Единственное место, где два из этих инструментов запускались бок о бок против одних и тех же известных правильных ответов. Claude Code 2.1.223, claude-sonnet-5, Headroom 0.33.0, шесть нагрузочных тестов в форме агентов, по три запуска каждого, токены на входе по данным провайдера:
| Вариант | Правильные ответы | Токены на входе от провайдера | vs прямой вызов | 95% интервал |
|---|---|---|---|---|
| Прямой вызов Claude Code | 18/18 | 885,793 | базовый уровень | |
| Caveman wrap + skill | 18/18 | 591,673 | -33.2% | 14.6% до 48.5% |
| Headroom wrap | 15/18 | 703,202 на 15 правильных запусках | -6.7% на этих 15 | -0.7% до 17.9% |
Caveman использовал меньше токенов в 15 из 18 парных запусков. 703,202 токенов Headroom покрывают только 15 запусков, где он дал правильные ответы, поэтому его 6.7% рассчитано именно против этих 15 прямых запусков, а не против общего числа 885,793. Три неудачных запуска с YAML остаются в таблице, но не учитываются. Красная строка Caveman (HTML +9.9%) находится в таблице по отдельным случаям выше и остаётся красной. Мы сами проводили этот тест, и сырые артефакты harness пока не опубликованы, поэтому это закреплённый отчёт, а не то, что можно перезапустить из этого репозитория. Методология и хеши: docs/WRAP-BENCHMARK.md.
RTK, context-mode и pxpipe не участвовали в этом тесте. RTK переписывает вывод оболочки, а в этой коллекции данные передаются агенту через вызов инструмента, а не через оболочку, поэтому RTK остался бы без дела. Разные слои, разные тесты. Что касается остальных, то всё честно: телеметрия RTK — по умолчанию отключена, наша — включена, context-mode никуда ничего не отправляет, а pxpipe тестировался на SWE-bench, где мы не проводили тестов. Сравнивайте их по своему усмотрению. В README Headroom упоминается caveman как инструмент, который они с удовольствием запускают за собой.
|
**ThePrimeagen** · *"Никак не думаю, что это действительно работает"* [Полная реакция на The PrimeTime →](https://www.youtube.com/watch?v=L29q2LRiMRc) **Adobe Research** · [CAVEWOMAN: Как большие языковые модели ведут себя при сжатии входных и выходных данных](https://arxiv.org/abs/2606.24083) Adeyemi, Rossi, Dernoncourt · arXiv, июнь 2026 г. · ссылается на этот репозиторий. Этот стиль теперь стал эталонным регистром. **JetBrains** · [Общение с ИИ-агентами на языке "пещерного человека" экономит 65% токенов. Мы проверили.](https://blog.jetbrains.com/ai/2026/07/speak-to-ai-agents-like-cavemen-tosave-tokens/) Самое строгое внешнее A/B-тестирование на данный момент, проведённое только на навыке до появления прокси. Их вердикт: *"Используйте, если вам нравится. Это весело, и это не ухудшает качество измеримым образом."* Их 8.5% — это число, которое заставило нас создать прокси. |
**Hacker News** · [#1, 904 очка, 366 комментариев](https://news.ycombinator.com/item?id=47647455)
**The New Stack** · [Перевод Claude Code на "пещерный язык" может не сэкономить столько токенов, сколько вы думаете](https://thenewstack.io/caveman-mode-token-savings/) Справедливый заголовок. Мы всё равно ссылаемся на него. См. [Числа](#-the-numbers). **GitHub Trending** · #1 в общем рейтинге, июль 2026 **Trendshift** · #1 Репозиторий дня (апрель 2026) · #1 JavaScript-репозиторий месяца (апрель) · #1 Go-репозиторий месяца (июль) **Product Hunt** · #8 Продукт дня |
Один файл правил, один стиль общения, плюс небольшой набор инструментов. Команды /caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra устанавливают интенсивность. /caveman off или normal mode отключает его.
| Уровень | Один и тот же вопрос: "Почему мой компонент React перерисовывается?" |
|---|---|
| lite | Ваш компонент перерисовывается, потому что вы создаёте новый объект при каждом рендере. Обёрните его в useMemo. |
| full (по умолчанию) | Новый объект при каждом рендере. Встроенный объект в пропсах = новый объект = перерисовка. Обёрните в useMemo. |
| ultra | Встроенный объект в пропсах, новый объект, перерисовка. Используйте useMemo. |
| wenyan-full | 每繪新生對象參照,故重繪;以 useMemo 包之則免。 |
Три вещи, которые навык никогда не сделает: сократить ваш код, перефразировать сообщение об ошибке или игнорировать предупреждение о безопасности. Он переходит к полным предложениям для всего, что необратимо, а затем снова поднимает "клуб" (возвращается к сокращённому стилю).
Всё, что в наборе · сообщения коммитов, ревью, подагенты, рабочие паттерны
| Инструмент / команда | Что вы получаете |
|---|---|
/caveman [lite\|full\|ultra\|wenyan-lite\|wenyan-full\|wenyan-ultra\|off] |
Краткие ответы с интенсивностью по вашему выбору. |
cavecrew-investigator, cavecrew-builder, cavecrew-reviewer |
Сжатые настройки подагентов для поиска, редактирования и ревью кода. |
/caveman-commit |
Лаконичные сообщения коммитов по конвенции. |
/caveman-review |
Однострочные, действенные находки для ревью. |
/caveman-compress <file> |
Более компактные файлы Markdown с сохранением оригиналов. |
/caveman-stats |
Записанное использование токенов Claude Code; экономия неизвестна без измеренного сравнения. |
/caveman-help |
Напоминание на один экран о всех режимах и командах. |
investigate-first, lean-build, surgical-patch, safe-refactor, migration, verify-and-stop |
Рабочие паттерны, которые пишут меньше кода, чтобы агент начислял меньше токенов. Ваш агент сам выбирает их при подходящей задаче. |
/caveman-setup, /caveman-discover, /caveman-learn, /caveman-manage, /caveman-optimize, /caveman-explore, /caveman-evidence-review |
Управление движком caveman и прокси: настройка, поиск расхода токенов, действия на основе найденного. |
Один локальный процесс. Ваш агент общается с ним, а он — с вашим провайдером. Никакого сервера Caveman в цепочке, и ваш логин Claude Pro/Max передаётся в Anthropic без изменений. Оригиналы всего, что сжимается, хранятся в SQLite-файле на вашем устройстве с возможностью восстановления, так что агент всегда может запросить полную версию обратно.
Your agent (Claude Code · Codex · Gemini · Aider · opencode · Pi · …)
│ tool output · logs · JSON · diffs · search results
▼
┌────────────────────────────────────────────────────┐
│ caveman proxy (your machine, your keys) │
│ detect() → json · log · code · diff · search · text│
│ originals → local SQLite, recovery handle returned │
└────────────────────────────────────────────────────┘
│ smaller prompt, same answer
▼
Your provider (Anthropic · OpenAI · Google · Bedrock · Vertex · Azure · OpenRouter)
Весь коллектив? Один контейнер. Одинаковый прокси в вашем VPC, один общий токен, ключи остаются на сервере. Развернуть →

Что движок сохраняет по типу полезной нагрузки · и диаграмма стека обёртки
detect() определяет тип каждого пакета данных и направляет его в компрессор, который сохраняет то, на чём зависят ответы:
| Определённый тип | Сохраняет | Экономия целей |
|---|---|---|
json |
ключи, структура, поддеревья ошибок/сообщений; свёртывает повторяющиеся массивы | 70-90% |
log |
ошибки, трассировки стека, первые/последние строки; отбрасывает INFO и шум прогресса | 85-95% |
code |
импорты, сигнатуры, типы; опускает тела функций, синтаксис остаётся корректным | 40-70% |
diff |
заголовки файлов/кусков и изменённые строки; опускает повторяющийся контекст | 60-80% |
search-result |
верхние/нижние совпадения плюс диагностические/безопасные совпадения | 80-95% |
text / HTML |
заголовки, открывающий/закрывающий контекст, важные разделы | 50-80% |
contextwindow.Pack() дополнительно подгоняет кандидатный контекст под бюджет токенов по релевантности BM25, актуальности и сигналу ошибки, возвращая в исходном порядке, чтобы хронология сохранилась.
Любой хост MCP получает те же возможности через пять инструментов: caveman_compress, caveman_retrieve, caveman_stats, caveman_toon_encode, caveman_toon_decode.
Месяцы истории вашего агента уже лежат на вашем диске. caveman learn считывает их локально, в режиме только для чтения, без аккаунта, и ранжирует ваши "стоки" токенов по принципу "худшие сначала", с однострочным исправлением за каждым.
caveman learn # Claude Code + Codex + Gemini CLI + opencode; aider via CAVEMAN_AIDER_ROOT
caveman learn implement # hand the fixes to Claude Code or Codex, one diff at a time, applied only on your yes

implement переизмеряет после каждого изменения и откатывает всё, что не снизило количество токенов за ход. Caveman никогда не делает вашего агента глупее, чтобы сделать его дешевле.
caveman explore install # read-only FastContext subagent: finds code as path:line
caveman shrink -- pnpm test # compress noisy command output, byte-exact recoverable
caveman browse <url> # local Chrome over a compressed a11y tree
caveman mem remember|recall # durable memory; `mem recover <handle>` = original bytes
caveman trial -- claude # A/B a real session, then `trial report` (needs `disable` first)
caveman toon encode|decode # the TOON re-encoder, standalone
caveman stats # token history, API estimates, subscription equivalents
Caveman "пожирает свой хвост". Каждый навык, который вы устанавливаете, становится текстом подсказки, который агент перезагружает при каждом вызове. caveman convert рендерит тело навыка в PNG-страницы на месте, и модель читает их как изображения. На навыке caveman: с 1,069 до 415 оценённых токенов, сокращение на 61%.
caveman convert --dry-run # every installed skill, with the token math, no writes
caveman convert --agent claude # convert the profitable ones
caveman convert --revert # byte-identical restore from SKILL.orig.md
Конвертация срабатывает только тогда, когда страницы превосходят текст. Любая ошибка оставляет навык байт-в-байт идентичным и называет ворота, которые сказали "нет".
caveman <agent> включает прокси навсегда и запускает агента. caveman wrap <agent> запускает одну сессию и не оставляет следов. Он никогда не редактирует ваши файлы конфигурации.
В управляемом режиме обёртка также отправляет репозиторий (владелец/имя на github.com) и текущую ветку как x-cave-tags, чтобы Cloud мог связать расходы сессии с изменением, которое она доставила. Имена веток могут нести имя человека; если это неприемлемо, запустите вне чек-аута или задайте свои собственные x-cave-tags в ANTHROPIC_CUSTOM_HEADERS, и обёртка сохранит их.
| Агент | Поставщик | Как обёртывается |
|---|---|---|
| Claude Code | Anthropic | переменные окружения |
| OpenAI Codex CLI | OpenAI | переменные окружения (API-ключ) · эфемерный CODEX_HOME (авторизация ChatGPT) |
| Gemini CLI | переменные окружения | |
| Aider | OpenAI/Anthropic | переменные окружения |
| Kilo Code | Kilo Code | KILO_CONFIG_CONTENT, ваш kilo.json остаётся нетронутым |
| Qwen Code | QwenLM | эфемерный наложенный системный конфиг, исходные настройки нетронуты |
| opencode | sst | встроенный конфиг через переменные окружения, ваш opencode.json нетронут |
| Hermes Agent | Nous Research | --provider custom + переменные окружения |
| OpenClaw | OpenClaw | эфемерный объединённый конфиг, ваш конфиг только для чтения |
| Pi | pi.dev | встроенное расширение, ваш конфиг ~/.pi нетронут |
Мелкий шрифт · протестированные версии, стандартная комплектация, рецепты SDK
Тестировалось на реальных сессиях с Hermes v0.18.0, OpenClaw 2026.6.11, Pi 0.84.2, Kilo Code 7.5.6 (CLI, а не расширение редактора), и Qwen Code 0.22.3. Постоянные сокращения фиксируются и обратимы с помощью caveman disable <agent>.
OpenClaw, к слову, — это омар. Клешня омара всё ещё остра. Рот омара теперь маленький.
По умолчанию обёртка передаёт агенту пять инструментов MCP, сервер для просмотра (когда Chrome разрешается), сжатие вывода команд для Claude, opencode, Gemini, Hermes и OpenClaw, а также режим пикселей при установке новых навыков. Codex пропускает крючок сжатия, так как его runtime отклоняет перезапись (openai/codex#18491). Отключите отдельные компоненты в ~/.caveman-cloud/config.json.
Агента нет в списке или вы разрабатываете свой? Обёрните один вызов нативно с помощью middleware, или направьте любой SDK поставщика или фреймворк (Vercel AI SDK, LangChain, LiteLLM, OpenAI Agents, CrewAI, PydanticAI) на локальный прокси с заменой baseURL: integrations/recipes/. Новый нативный агент обычно — это один профиль JSON в agents/profiles/.
Прокси уменьшает объем информации, которую читает кодирующий агент. Мидлвар (промежуточное ПО) делает то же самое для агента, который вы строите, в используемом вами фреймворке. Одна обертка для одного вызова. Перед каждым запросом провайдеру он заменяет большие результаты инструментов на сокращенную копию и передает модели инструмент caveman_retrieve, чтобы модель могла прочитать оригинал обратно, если сокращенная версия недостаточна. История вашего диалога сохраняет каждый оригинальный байт. Ваш провайдер, ваш клиент, ваши повторные попытки, ваш стриминг — остаются без изменений.
TypeScript (показан SDK Vercel AI):
+import { createMiddlewareRuntime } from "@caveman-ai/sdk/middleware";
+import { withCaveman } from "@caveman-ai/middleware/ai-sdk";
+
+const runtime = createMiddlewareRuntime({ endpoint: "http://127.0.0.1:8787", mode: "compress" });
+const scope = { namespace: "support", session_id: conversationId, branch_id: "main", cache_epoch: "0" };
+
-const result = streamText(options);
+const result = streamText(withCaveman(options, { runtime, scope }));
Python (показан LangChain):
+from caveman_cloud.middleware import MiddlewareRuntime, Scope
+from caveman_middleware.langchain import with_caveman_agent
+
+runtime = MiddlewareRuntime(endpoint="http://127.0.0.1:8787", mode="compress")
+scope = Scope("support", conversation_id, "main", "0")
+
-agent = create_agent(model=model, tools=tools)
+agent = create_agent(**with_caveman_agent({"model": model, "tools": tools}, runtime=runtime, scope=scope))
Рантайм — это тот же локальный прокси из большого камня, запускаемый один раз рядом с вашим приложением:
npm install -g @caveman-ai/cli && caveman setup --install
CAVEMAN_MODE=compress caveman start # binds 127.0.0.1:8787; plain `caveman start` only records
| Фреймворки с нативным адаптером | |
|---|---|
TypeScript @caveman-ai/middleware |
Vercel AI SDK · OpenAI · Anthropic · Google GenAI · LangChain · Strands · Mastra · MCP |
Python caveman-middleware |
OpenAI · Anthropic · Google GenAI · LangChain + LangGraph · LiteLLM · Strands · Agno · CrewAI · PydanticAI · AutoGen · LlamaIndex · FastAPI · MCP |
Честный разговор об альфа-версии: рантайм в режиме записи измеряет и не изменяет ничего, независимо от режима, который запрашивает клиент, поэтому установите оба. Отчеты о принятых решениях говорят, что было заменено и почему, и не содержат счетчиков токенов; использование провайдера — единственное число сбережений, которое имеет значение. Если рантайм недоступен, ваш оригинальный запрос проходит без изменений, если вы не включите строгий режим.
Документация: обзор мидлвара · руководство по Vercel AI SDK · руководство по Python · все фреймворки и версии · развертывание рядом с вашим приложением · README пакетов для TypeScript и Python.
Не хотите трогать код? Направьте любой SDK на прокси, заменив baseURL вместо этого: integrations/recipes/.
Хороший вариант, если вы читаете ответы вашего агента чаще, чем вставляете их куда-либо, работаете с длинными сессиями, полными логов и тестового вывода, или платите за токен и хотите уменьшить объем чтения без изменения кода.
Пропустите, если вы платите за запрос, а не за токен (например, премиум-запросы GitHub Copilot: более короткий ответ — это тот же запрос), или ваша нагрузка — это чистое генерация кода с почти отсутствующим текстом для сокращения. Правила набора сопровождаются входными токенами на каждом вызове (примерно 1000 оценивается для полного навыка), и на лаконичных однострочных вопросах и ответах, которые могут стоить дороже, чем сэкономят.
Самостоятельная оценка. Запустите одну и ту же задачу с и без caveman и сравните страницу выставления счетов провайдера. Этот A/B тест важнее любых чисел на этой странице. Если caveman проигрывает на вашей нагрузке, выключите его. Полный список, где он проигрывает: docs/HONEST-NUMBERS.md.
Одна идея везде: агент делает больше с меньшим.
| Репозиторий | Что уменьшает | Статус |
|---|---|---|
| caveman (вы здесь) | Что агент говорит (навык), читает (прокси) и что ваше приложение отправляет (мидлвар) | live |
| caveman-browse | Что агент видит в браузере | live |
| caveman-agent-sdk | Что ваш производственный агент загружает, вызывает и тратит | собственный репозиторий · в разработке |
| cavegemma | Компрессия встроенная в веса (тонкая настройка Gemma) | labs |
| caveman-code | Весь агент, от начала до конца | frozen |
| cavemem | Что агент помнит, между сессиями | frozen |
| cavekit | Цикл сборки, управляемый спецификацией | frozen |
| Frozen ones ещё устанавливаются и работают. Их лучшие идеи переехали сюда. |
Caveman делает токены маленькими. Caveman Cloud делает их доказуемыми. Локальные числа inferred, зафиксированные бенчмарки benchmark_counterfactual, ни то, ни другое не является счётом. Живой трафик за воротами оценки с подписанными квитанциями получает verified. Это Cloud. Ожидание списка на caveman.so
Ваш агент всё ещё общается с выбранным вами провайдером. Навыки и хуки работают полностью на вашем устройстве, и здесь не требуется аккаунт.
Командная строка caveman по умолчанию отправляет анонимную статистику использования, и вот почему: caveman бесплатный, его поддерживает один человек, а эти данные помогают понять, какие команды люди действительно используют и какие оптимизации работают в реальных рабочих процессах. Это то, что держит проект бесплатным и направленным в правильную сторону. Справедливая сделка, как мы думаем.
Что отправляется: какие команды выполнялись, а также количество токенов на входе и выходе. Что никогда не отправляется: ваши запросы, ваш код, пути к файлам или любая информация, которая может вас идентифицировать. Об этом вам сообщается при первом запуске.
Не согласны? Одна команда — и всё отключается навсегда, без обид:
caveman telemetry off # or set DO_NOT_TRACK=1
Точные границы сети, телеметрии и хранения: SECURITY.md.
Разделённая лицензия. Навыки и поверхности адаптации — MIT. Связанный с движком runtime — BSL-1.1 с открытым исходным кодом, не OSI Open Source до даты изменения.
MIT: навыки, SDK агента и инициализатор, CLI, оба клиентских SDK, контракты, каталог провайдеров, оболочка расширений и тонкие клиенты cavemem. Свободные как мамонт на открытой равнине.
BSL-1.1: Движок, прокси, кэш-движок, рерайтер, Browse, сервер MCP, shrink, ядро cavemem на Go и общая платформа Go. Новые модули связанного с движком runtime по умолчанию используют BSL-1.1. Читайте, форкайте, развёртывайте для собственного трафика бесплатно, включая продакшен. Каждая версия переходит на Apache-2.0 к более ранней из дат 2030-06-21 или через четыре года после релиза. Развёртывание для третьих лиц требует коммерческой лицензии.
engine/pixel включает pxpipe (MIT) и атласы глифов, созданные на основе Spleen 5×8 (BSD-2-Clause) и GNU Unifont (двойная лицензия OFL-1.1 / GPLv2 с исключением для шрифтов); его NOTICE идёт вместе с исходным кодом.
"Caveman" и логотип в виде камня — торговые марки Julius Brussee. "Powered by Caveman" — допустимо, если это правда.
Если caveman упоминается в вашей статье, как это было в Adobe:
@software{brussee2026caveman,
author = {Brussee, Julius},
title = {Caveman: why use many token when few do trick},
year = {2026},
url = {https://github.com/JuliusBrussee/caveman}
}
Caveman экономит ваши токены, экономит ваши деньги. Звёздочка стоит ноль. Справедливая сделка. ⭐
Документация:
Технический мануал ·
Матрица установки ·
Честные числа ·
Обернуть бенчмарк ·
Лицензия ·
Вклад ·
Руководство по сопровождению ·
Вопросы
MIT для навыков · BSL-1.1 для движка. Мало токенов. Нет обмана.