Когда впервые видишь примеры Caveman Coding от JuliusBrussee, кажется, что это просто мем. Но после недели экспериментов с Claude 3 в Cursor я осознал: за грубым синтаксисом скрывается реальная экономия бюджета на AI-ассистента.
Что такое Caveman Style
Автор репозитория предлагает буквально “разговаривать” с Claude как с пещерным человеком:
# Вместо:
"Could you please refactor this function to use async/await pattern and add error handling?"
# Caveman style:
"me want async function. make no break"
На практике это работает неожиданно хорошо — особенно для рутинных задач типа рефакторинга или генерации boilerplate. Claude действительно понимает интенции через примитивный синтаксис, а ответы получаются лаконичнее.
Почему это работает
- Токены — деньги: В среднем Caveman-промпты на 65% короче. Для enterprise-решений с API-биллингом это прямая экономия.
- Меньше ambiguity: Сложносплетённые запросы иногда приводят к overengineering в ответах. “Me need sort list” даёт ровно одну сортировку.
- Обход RLHF-фильтров: Некоторые версии Claude склонны к избыточным disclaimer’ам. Примитивный стиль часто даёт “голый” код без лирики.
Но есть и подводные камни:
// Запрос: "make hook fetch data"
// Результат:
function useData() {
const [data, setData] = useState(null);
useEffect(() => {
fetch('/api').then(r => r.json()).then(setData);
}, []);
return data;
}
// Ни error handling, ни abort controller, ни даже типы
Когда применять (а когда нет)
Хорошо для:
- Быстрого прототипирования
- Очевидных преобразований (“rename var to camelCase”)
- Генерации шаблонов, которые всё равно придётся править
Плохо для:
- Сложной логики с нюансами
- Задач, где важна безопасность
- Совместной работы (коллеги вас не поймут)
Мой workflow с Caveman
- Первый проход — грубый Caveman-запрос для каркаса
- Уточнение нормальным языком: “add TypeScript types and error handling”
- Финал через Copilot для polish’а
Такой подход даёт баланс между скоростью и качеством. Особенно выручает при работе с незнакомыми технологиями, где сначала нужен “черновик” для понимания.
Что пробовать дальше
- Комбинированные промпты: Начало в Caveman, затем уточнения обычным языком
- Языковые вариации: “Baby talk” (типа “make go zoom-zoom”) работает хуже, но интересно для экспериментов
- Интеграцию с RAG: Подавать Caveman-запросы в контексте документации
Лично мне подход напомнил early days of coding — когда мы писали максимально сжатый код ради экономии памяти. Только теперь оптимизируем не байты, а токены. Ирония в том, что для эффективной работы с ИИ приходится имитировать “примитивное” мышление — но возможно, в этом и есть зерно истины.
Попробуй сам: Cursor — AI-редактор для разработчиков.
Источник: https://github.com/JuliusBrussee/caveman