Caveman Coding: как Claude Code экономит 65% токенов, имитируя первобытный стиль

#claude#ai-coding#prompt-engineering#token-optimization

Когда впервые видишь примеры 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 действительно понимает интенции через примитивный синтаксис, а ответы получаются лаконичнее.

Почему это работает

  1. Токены — деньги: В среднем Caveman-промпты на 65% короче. Для enterprise-решений с API-биллингом это прямая экономия.
  2. Меньше ambiguity: Сложносплетённые запросы иногда приводят к overengineering в ответах. “Me need sort list” даёт ровно одну сортировку.
  3. Обход 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, ни даже типы

Когда применять (а когда нет)

Хорошо для:

Плохо для:

Мой workflow с Caveman

  1. Первый проход — грубый Caveman-запрос для каркаса
  2. Уточнение нормальным языком: “add TypeScript types and error handling”
  3. Финал через Copilot для polish’а

Такой подход даёт баланс между скоростью и качеством. Особенно выручает при работе с незнакомыми технологиями, где сначала нужен “черновик” для понимания.

Что пробовать дальше

  1. Комбинированные промпты: Начало в Caveman, затем уточнения обычным языком
  2. Языковые вариации: “Baby talk” (типа “make go zoom-zoom”) работает хуже, но интересно для экспериментов
  3. Интеграцию с RAG: Подавать Caveman-запросы в контексте документации

Лично мне подход напомнил early days of coding — когда мы писали максимально сжатый код ради экономии памяти. Только теперь оптимизируем не байты, а токены. Ирония в том, что для эффективной работы с ИИ приходится имитировать “примитивное” мышление — но возможно, в этом и есть зерно истины.


Попробуй сам: Cursor — AI-редактор для разработчиков.


Источник: https://github.com/JuliusBrussee/caveman