Правила работы с агентом
Шесть правил, которые отделяют рабочий инструмент от лотереи.
Шесть правил, которые отделяют рабочий инструмент от лотереи. Они пришли из руководства Anthropic и из практики тех, кто работает так каждый день.
Термин «вайб-кодинг» придумал Андрей Карпаты в феврале 2025 года, в полушуточном твите про выходные проекты: принимаю все правки не глядя, код давно перерос моё понимание. Там же стояла оговорка, которую все растеряли: для чего-то серьёзнее одноразовой игрушки так работать не стоит. Ниже про то, как работать по-другому.
Тест перед каждым коммитом
Можете своими словами объяснить, что делает этот код? Проверили результат на деле? Вид готовности и готовность это разные вещи.
Два «да» означают рабочий инструмент. Хотя бы одно «нет» означает игрушку на выходные, и рабочие задачи ей не доверяют.
Практическое следствие: перед коммитом просите короткий пересказ изменений и коммитьте после того, как поняли ответ. В историю не сохраняется то, что вы не можете объяснить.
План до кода
Перед задачей, где меняется несколько файлов или подход не очевиден, переключитесь в режим
плана: Shift и Tab листают режимы, внизу экрана появляется plan mode. В нём модель читает
файлы и предлагает план, ничего не трогая.
Для правки в одну строку план только тормозит. Результат описывается одним предложением: просите сразу делать.
Дайте способ проверить работу: «посчитай сумму по месяцам и сверь с итогом исходного файла, не сойдётся, найди причину и исправь». Без критерия модель останавливается тогда, когда результат выглядит готовым. Это та же сверка, что в любом отчёте: цифра без контрольной суммы не сдаётся.
Уровни самостоятельности
Те же Shift и Tab листают степень доверия: обычный режим спрашивает разрешение на каждое действие, отдельный режим правит файлы без вопросов, режим плана только читает. Точка по умолчанию: обычный, с вопросами.
Флаг --dangerously-skip-permissions отключает все вопросы разом. На машине, где лежат
чужие файлы, он не используется. Защиты от непредвиденного действия он не даёт, и сам
разработчик инструмента рекомендует его только для изолированных песочниц.
Гигиена контекста
Окно разговора конечно: в него входит каждое сообщение, каждый прочитанный файл и каждый
вывод команды. По мере заполнения модель тупеет, забывает ранние договорённости и повторяет
решённое. Команда /context показывает, чем занято окно.
Три признака, что пора начинать заново. В одном разговоре смешались несвязанные задачи. Вы третий раз поправляете одну и ту же ошибку. Модель роется в файлах без остановки, и непонятно зачем.
Что делать. /clear стирает разговор под ноль: дальше формулируете короче и с учётом
понятого. Закончили кусок работы, тоже /clear. Сообщение о сжатии истории это
автоматический /compact, он сохраняет код и решения, пугаться не нужно.
Дважды Esc или команда /rewind открывает список ваших сообщений: можно откатить разговор,
код или то и другое. Годится для черновых экспериментов внутри сессии. Границу помните:
откатываются только правки самой модели. То, что вы меняли руками, останется, и git это
не заменяет.
Большая задача: сначала техзадание, потом чистая сессия
Систему или крупную фичу не описывают одним сообщением. Сначала модель расспрашивает вас и записывает техзадание в файл, потом реализация идёт в новом разговоре, с чистым окном и письменным заданием под рукой.
Я хочу собрать [коротко: что за система или фича]. Сначала подробно расспроси меня: какие данные на входе, кто пользуется, какой результат считается правильным, что делать со спорными случаями. Очевидное не спрашивай, копай в сложные места. В конце запиши полное техническое задание в файл SPEC.md. Реализовывать пока ничего не надо.
Дальше /clear и новая сессия: «реализуй SPEC.md по шагам, после каждого шага скажи, как
мне проверить, что он работает». Надёжнее, чем один длинный разговор про всё сразу.
Секреты
Ключи и токены живут в .env и в менеджере паролей. Никогда: в чате, в коде, в коммите,
в переписке, в скриншоте. Файл .env добавляется в .gitignore до первого коммита.
Секрет может утечь и без вашего участия: модель иногда вписывает ключ прямо в код. Перед коммитом пробегайте изменения глазами, а если сомневаетесь, спросите прямо: «проверь изменения, нет ли в них паролей, ключей или токенов».
Удалить файл следующим коммитом недостаточно: он остаётся в истории и достаётся оттуда одной
командой. Поэтому .gitignore заполняется в самом начале, а чужие файлы и большие выгрузки
в репозиторий не кладут вообще.
Ключ всё-таки попал в историю: сначала отзовите его в панели сервиса, потом разбирайтесь с историей. Пока ключ жив, им пользуются за ваш счёт. И если репозиторий успел побыть публичным, считайте ключ скомпрометированным независимо от того, что показывает история.
Вы работаете в режиме плана на всём, что больше одного файла, знаете три признака
переполненного контекста, и в вашем проекте есть .gitignore с .env внутри.
Что сделать
Результат: Свой рабочий режим: план до кода, чистый контекст, секреты на месте.