Гайд · 2026

Вайбкодинг на Claude Code

Что делать, чтобы код был лучше, а токенов уходило меньше. Без теории — только приёмы.

Обновлено: 14.07.2026 Читать: ~10 мин
★ ГЛАВНОЕ

Fable думает, агенты делают

Сиди на Fable. Сам он файлы не трогает — только планирует.

Всю работу раздавай агентам: Opus — где надо думать, Sonnet — где надо просто делать, Haiku — поиск и рутина.

Зачем. Anthropic это померила: 96% качества за 46% денег. Работает лучше, стоит вдвое дешевле.

96%

качества

46%

цены

2.2×

экономия

Почему. Контекст забивается быстро, и агент тупеет. Когда файлы читают агенты, в твой контекст приходит только вывод — не сто файлов. Работать можно долго.

Какую модель на что

МодельЧто даёшь
FableПлан, архитектура, приёмка. Файлы не трогает.
OpusСложный баг, схема БД, ревью.
SonnetПравки, тесты, рефакторинг. 80% работы.
HaikuПоиск по файлам, бойлерплейт.
Сделай это прямо сейчас

Агенты по умолчанию берут модель главной сессии. Сидишь на Fable — даже поиск по файлам идёт по цене Fable. Две строчки чинят это:

~/.zshrc
export CLAUDE_CODE_SUBAGENT_MODEL=haiku

И создай файл — он перекроет встроенный поисковый агент, который иначе жрёт по премиум-тарифу:

~/.claude/agents/Explore.md
---
name: Explore
description: Поиск по репозиторию.
model: haiku
effort: low
---

Ищи и докладывай факты. Решений не принимай.

Что отдавать агенту, а что нет

✓ Отдавай

Найти файл, прочитать, пересказать код, глянуть логи, прогнать тесты, рутинные правки, бойлерплейт.

✗ Делай сам

Архитектура, границы задачи, компромиссы, финальная приёмка. И никогда не отдавай: авторизацию, оплату, миграции, безопасность.

Правило: задача меньше 5 минут — делай сам. Гонять агента ради одной строчки дороже, чем написать её.

Честно: приём не всегда выигрывает

Каждый агент — новый контекст, он заново читает всё, чтобы сориентироваться. На линейной задаче шесть агентов просто шесть раз переучивают одно и то же и сжигают лимит. Дроби только то, что реально идёт параллельно.

Не хочешь настраивать — включи /model opusplan, он делает примерно то же из коробки.

01

Настройка проекта

CLAUDE.md — держи коротким

Максимум 200 строк. Чем длиннее файл, тем хуже его слушают: важное тонет.

Проверка каждой строки: «если убрать — он ошибётся?» Нет — удаляй.

✗ Мусор

«Пиши чистый код и следуй хорошим практикам.»

✓ Правило

«Миграции только через npm run db:migrate. Файлы в migrations/ руками не трогать.»

Клод не слушается? Не добавляй правил — убирай

Плохое исполнение = файл раздут, а не правил мало. У одного парня файл вырос с 45 до 190 строк — стало хуже. Почистил до 123 — сразу лучше.

Почему он забывает правила к концу сессии

CLAUDE.md грузится один раз в начале, а не каждый ход. Чем дольше разговор, тем дальше правила уезжают назад — и тем слабее работают.

Вывод: что важно соблюдать всегда — вешай хуком, а не пиши текстом. Текст можно проигнорировать, хук — нет.

4 правила, которые реально работают

1. «В конце скажи, чего ты НЕ сделал»

Лучшее правило вообще. Взрывается ночью не тот код, что написан, а тот случай, что молча пропущен.

2. «Сначала опиши подход в 2 строках и скажи, что он усложнит потом»

Иначе Клод напишет простейшее, что проходит тест, и загонит в тупик через три файла. Это ловит тупик до того, как написано 200 строк.

3. «Не трогай файлы, о которых я не просил»

Запреты работают лучше разрешений. «Никогда не делай X» сильнее, чем «всегда делай Y».

4. «Видишь путь лучше — скажи до реализации, в 2–4 пунктах. Если моя просьба разумна — просто делай»

Без этого он либо молча кивает, либо спорит по каждой мелочи.

Приём: пусть сам пишет себе правила

Ошибся — скажи: «обнови свой CLAUDE.md, чтобы больше так не делать». Он сформулирует сам.

.claudeignore

.claudeignore
node_modules/
.next/
dist/
build/
coverage/
*.log
*.lock
.env*
Никогда не пиши «прочитай кодовую базу»

Он вытянет всё подряд и забьёт контекст. Всегда указывай конкретные файлы или папку.

Проверка здоровья проекта

Не получается сделать задачу с одного промпта? Значит одно из трёх: код превратился в кашу, ты сам не понимаешь систему, или задача слишком большая. Все три — повод остановиться, а не давить дальше.

02

Дизайн

Почему AI-интерфейсы узнаются сразу: модель не имеет вкуса, у неё есть статистика. Не задал шрифт — получишь Inter. Не задал цвет — фиолетовый градиент. Не задал разделение — серую рамку вокруг всего.

Просить «сделай красивее» бесполезно. «Красивее» для модели = среднее по интернету. Лечится не уговорами, а записанными ограничениями.

Заведи DESIGN.md

Шесть секций, зафиксировать до первой строчки стилей:

  1. Шрифты — точные названия и шкала
  2. Цвета — hex + для чего каждый
  3. Отступы — базовая единица
  4. Компоненты — радиусы, тени
  5. Сетка и ширины
  6. Характер — прилагательные и анти-примеры

Запретный список работает лучше всего

Запиши дословно в DESIGN.md:

«Не используем: hero на всю ширину с текстом по центру, сетку фич с иконками, карусели отзывов, футер в три колонки. Шрифты Inter, Roboto, Arial — нельзя. Фиолетовые градиенты — нельзя.»

Числа, которые отличают дизайн от слопа

ЧтоКак
ЦветаТри штуки: фон 60% / поверхность 30% / акцент 10%. Новых не добавлять.
Чёрный/белыйНикогда чистые #000 и #fff.
ТекстОт 16px. Строка 60–80 знаков. Иерархия жирностью, а не новыми шрифтами.
ОтступыСетка 8px. Внутри блока меньше, между блоками больше.
КарточкиБез рамок. Разделяй воздухом или сдвигом фона на 3–5%.

Не описывай дизайн — вытащи его

Вместо того чтобы объяснять словами, забери готовую дизайн-систему с любого сайта:

терминал
npx designlang https://stripe.com

Получишь точные цвета, шрифты, отступы и конфиг Tailwind. Дальше: «свёрстай по этой системе». Попадание совсем другое.

Дай Клоду глаза

Главный приём для фронтенда. Ставишь Playwright — и он сам смотрит на результат:

терминал
claude mcp add playwright -- npx -y @playwright/mcp@latest
npx playwright install
✗ Не работает

«Сделай дашборд покрасивее.»

✓ Работает

«[скриншот] Свёрстай это. Потом скриншоть результат, сравни с оригиналом, перечисли отличия и исправь.»

Обычно хватает 2–3 итераций. Он крутит цикл сам, обновлять страницу руками не надо.

Скажи «через Playwright MCP» явно

Иначе он запустит Playwright через bash и потеряет половину возможностей.

Скиллы из интернета не ставь не глядя

Скилл — это исполняемая инструкция. Сделать такой, что отправит твои ключи чужому человеку, — элементарно. Читай перед установкой.

03

Экономия токенов

Главное, что надо понять: контекст забивается — качество падает. Экономия денег тут побочный эффект, основное — чтобы агент не тупел.

Модели по цене

МодельЦена / 1MКогда
Haiku$1 / $5Рутина, поиск
Sonnet$3 / $15Дефолт на всё
Opus$5 / $25Архитектура, сложный баг

Разгон рутины на младшую модель — до 5× экономии.

/compact или /clear

Работай дальше

Та же фича, тот же код.

/compact

Тот же код, но контекст пухнет. Жми на 60%, не позже.

/clear

Новая задача. Старое — балласт.

Правило двух исправлений

Поправил его дважды по одному и тому же — не спорь третий раз. Контекст забит неудачными попытками. /clear и заново.

Что ещё режет расходы

  • JSON жрёт вдвое больше токенов, чем тот же смысл текстом. Отдавай контекст текстом или таблицей.
  • Выход дороже входа в 5 раз. Проси вернуть ID или номера — разворачивай их своим кодом. Люди срезают так до 60%.
  • Динамическую часть промпта — в конец. Кэш работает по началу: поменял начало — обнулил весь кэш.
  • Отключи лишние MCP-серверы. Их описания грузятся в каждый запрос. Проверить: /context.

Перед /clear — сохрани состояние

промпт
Запиши в .claude/session-handoff.md: цель, изменённые файлы,
решения, падающие тесты, следующий шаг.

# потом /clear, и в новой сессии:
Прочитай .claude/session-handoff.md и продолжай.
Поставь потолок расходов

Один сорвавшийся ночью цикл может стоить больше недели работы. Используй --max-budget-usd.

Коммить ДО запуска агента

Испортит состояние — просто откатишься. Коммитишь после — отлаживаешь неизвестно что. И помни: /rewind откатывает файлы, но не откатывает bash — записи в БД и rm уже случились.

04

Как раздавать работу агентам

Границы — по папкам, а не по идеям

кто что делает
Агент 1: src/api/auth/**
Агент 2: src/session/**
Агент 3: tests/**

Максимум три агента. Общие файлы (package.json, миграции, конфиг) не трогает никто, кроме назначенного.

Всегда ограничивай агента

✗ Расплывчато

«Разберись в авторизации и почини баг.»

✓ Чётко

«Смотри только src/auth. Верни максимум 15 пунктов. Код не пиши. Вширь не сканируй.»

Пиши код одной сессией, ревьють другой

Сессия A пишет. Сессия B — свежая, ничего не знает — проверяет. Так она непредвзята.

промпт ревьюеру
Сверь код с PLAN.md. Всё ли требование реализовано,
есть ли тесты на крайние случаи, не изменилось ли
лишнее.

Пиши про пробелы, а не про вкусовщину.
Оговорка

Ревьюер, которому велели искать проблемы, найдёт их даже в хорошем коде. Поэтому и написано «пробелы, а не вкусовщину» — иначе получишь оверинжиниринг.

Параллельно — только в worktree

терминал
claude --worktree backend-auth

Каждому агенту — свою ветку и свой порт (3000, 3001, 3002), иначе подерутся.

Когда параллелить НЕ надо

Задача меньше 5 минут · файлы пересекаются · контракты между кусками ещё не определены · ты не успеваешь всё это ревьюить. Тогда один агент справится лучше.

05

Автоматизация

Запуск без человека

ФлагЗачем
--max-turns NГлавный предохранитель. Ставь всегда
--max-budget-usd NПотолок по деньгам
--output-format jsonРезультат для скрипта
--allowedToolsЧто ему можно
--permission-mode dontAskНе зависать на вопросе
ревью только на чтение
claude -p "Проверь диф на баги." \
  --allowedTools "Read,Grep,Glob" \
  --permission-mode dontAsk
пройтись по всем файлам
for file in $(cat files.txt); do
  claude -p "Мигрируй $file. Верни OK или FAIL." \
    --max-turns 10 --model sonnet
done

Сначала обкатай на 2–3 файлах, потом запускай на всех.

Хуки — единственный способ заставить наверняка

CLAUDE.md можно проигнорировать. Хук — нет, это код. Хочешь, чтобы типы проверялись после каждой правки — не проси, повесь хук, который падает и блокирует ход.

Правило автономности

Дай Клоду проверку, которую он запустит сам. Для бэкенда — тесты. Для фронтенда — скриншот. Не можешь назвать такую проверку? Значит ты не автоматизируешь, а надеешься.

06

Как строить сервис

80% времени — план, 20% — код. Звучит как потеря темпа, но так быстрее: хороший план делает кодинг механическим.

Шаг 1. Пусть он тебя допросит

первый промпт
Хочу построить [X]. Задай мне вопросы, чтобы всё понять.
Спрашивай про реализацию, UI, крайние случаи, риски.
Очевидное не спрашивай — копай в сложное.

Потом запиши всё в SPEC.md.

Дальше /clear и в новой сессии: «прочитай SPEC.md и делай». Контекст чистый, план готов.

Скриншоть конкурентов

Перед планированием фичи наскриншоть, как она сделана у других, и кинь картинки в чат. Он видит изображения — это работает сильно лучше описания словами.

Шаг 2. Порядок

  1. План-режимShift+Tab дважды. Файлы не тронет, пока не утвердишь.
  2. Сначала контракты — типы, схема БД, API. Отдельным коммитом. Потом можно параллелить.
  3. Раздай по папкам — максимум три агента.
  4. Фронтенд — циклом со скриншотом.
  5. Ревью свежей сессией — не той, что писала.
  6. Перед деплоем — хук с тестами, а не надежда.
Он переусложняет

Построит систему управления состоянием там, где нужен один useState. Ревью плана до кода должно искать именно это: переусложнено, дублирует существующее, не по-MVP-шному.

07

Чего не делать

Одна сессия на всё подряд

Фича, потом баг, потом рефакторинг. Контекст превращается в кашу. Одна сессия — одна задача.

Поправлять по третьему кругу

Неудачные попытки остались в контексте и тянут его не туда. Чисти, а не упорствуй.

Верить на слово

Сказал «готово, работает» — требуй доказательство. Скриншот, вывод команды, зелёные тесты.

«Разберись в кодовой базе»

Будет читать, пока окно не забьётся. Работа так и не начнётся.

Полезно знать

/btw — задать вопрос мимо истории. /rewind — откатиться. Esc — жми сразу, как понял, что пошло не туда.

08

Шпаргалка

КомандаЧто делает
Shift+Tab ×2План без правки файлов
EscСтоп
/rewindОткатить назад
/compactСжать контекст (на 60%)
/clearНовая задача
/contextКто ест токены
/costСколько потрачено
/btwВопрос мимо истории
/model sonnetСменить модель
claude -p "..."Один прогон, для скриптов
claude --worktree XАгент в своей ветке
в ~/.zshrc
export CLAUDE_CODE_SUBAGENT_MODEL=haiku
export MAX_THINKING_TOKENS=8000

Чеклист

  • CLAUDE.md короче 200 строк
  • CLAUDE_CODE_SUBAGENT_MODEL=haiku выставлен
  • Свой Explore.md с model: haiku создан
  • Есть .claudeignore
  • Есть DESIGN.md с запретным списком
  • Записано «говори, чего не сделал»
  • Записано «не трогай лишние файлы»
  • Закоммичено перед запуском агента
  • --max-turns на всех автозапусках
  • Есть проверка, которую агент запустит сам

Можешь объяснить, почему код работает именно так? Если ответ «потому что ИИ так написал» — это слоп. Если можешь объяснить — неважно, кто это написал.