Термин «вайб-кодинг» (vibe coding), который запустил в массы легендарный Андрей Карпати — экс-руководитель AI в Tesla и один из отцов-основателей OpenAI, — успел обрасти кучей нелепых мифов. В представлении многих это выглядит так: ты лежишь на диване, надиктовываешь в микрофон сумбурные пожелания, а нейросеть волшебным образом выкатывает готовый сервис на миллион пользователей.
Но если заглянуть через плечо самому Карпати во время его реальной работы, ты увидишь диаметрально противоположную картину. Это не хаотичный эксперимент, а филигранный, математически строгий и до предела лаконичный инженерный конвейер. Никаких простыней промптов на пять страниц с эмоциональными просьбами «подумать хорошенько», никаких сложных надстроек и бесконечного ручного переписывания файлов.
Аналитик Ник Сараев детально деконструировал реальные рабочие сессии Карпати в среде Claude Code. Давай разберем по винтикам, как на самом деле устроен этот минималистичный пайплайн и почему отказ от лишних слов ускоряет написание софта в разы. О продвинутых возможностях этой консольной среды мы уже писали в статье 45+ практических приемов для Claude Code: архитектура, субагенты и автоматизация терминального ИИ-агента.
Парадокс Medium Effort: почему максимальный режим только вредит
Первый неожиданный инсайт касается уровня вычислительных усилий модели (reasoning effort). Когда разработчики получили доступ к переключателям глубины рассуждений, большинство тут же выкрутило ползунок на максимум — High или Max Effort. Логика казалась очевидной: пусть нейросеть думает как можно дольше, чтобы не допустить ошибок.
Карпати поступает ровно наоборот: его рабочим стандартом в консольном агенте Claude Code является режим Medium Effort (средний уровень усилий). И за этим стоит железный практический расчет:
- Защита от переусложнения (overthinking). На максимальном усилии модель начинает страдать от собственного «ума». Вместо простой правки пяти строк в функции она начинает перепроектировать всю архитектуру модуля, плодить ненужные фабрики абстракций, городить лишние интерфейсы и бесконечно перепроверять тривиальные условия.
- Мгновенный цикл обратной связи. На среднем уровне агент отвечает за считаные секунды, вносит точечный дифф и возвращает управление. Ты видишь результат сразу, а не ждешь две минуты, пока модель рассуждает о вечном.
- Экономия токенов. Потребление входных и выходных токенов при Medium Effort падает на 45–60%. Для длинной рабочей сессии это разница между $15 и $50 за рабочий день.
Настройка этого режима в терминале занимает ровно одну строку:
# Глобальная установка терминального агента Claude Code
npm install -g @anthropic-ai/claude-code
# Переход в проект и запуск агента со средним уровнем усилий
cd ~/projects/my-cool-service
export CLAUDE_CODE_EFFORT=medium
claude
Нотация ASD-STE100: язык, на котором думают машины
Второй фундаментальный принцип Карпати — радикальный отказ от классического «промпт-инжиниринга». Он не пишет многостраничные инструкции с психологическими уловками вроде «Ты ведущий архитектор Google, представь, что от этого зависит моя жизнь».
Вместо этого Карпати взял на вооружение стандарт ASD-STE100 (Simplified Technical English). Этот регламент был создан в международной аэрокосмической отрасли для составления инструкций по обслуживанию самолетов Boeing и Airbus, где любая двусмысленность формулировки может стоить человеческих жизней.
В адаптации под диалог с языковыми моделями подход «Go 80% to ASD-STE100» сводится к четырем простым правилам:
- Короткие предложения: не длиннее 15–20 слов;
- Строгий активный залог: «Write test», «Remove table», а не «It would be great if you could consider writing...»;
- Одно значение для одного слова: никогда не чередовать синонимы ради благозвучия. Если ты используешь слово «change», забудь про «alter», «modify» или «update»;
- Одно действие на одно предложение: разделяй составные инструкции на четкие нумерованные пункты.
Вот как выглядит эталонный промпт в стиле Карпати на добавление JWT-аутентификации в API:
Task: Add JWT authentication to POST /api/login.
Requirements:
1. Verify user email and password against users table in database.
2. Return signed JWT token with 24 hour expiration on success.
3. Return HTTP 401 error code with JSON message on invalid credentials.
4. Add unit test covering valid login and invalid password.
Do not edit files outside src/auth/ and tests/auth/.
Run npm test to verify.
Посмотри, насколько этот запрос прозрачен. Здесь нет ни одного лишнего слова, нет эмоционального шума, четко очерчены границы изменений и задан критерий проверки. Модель выполняет такую команду с первой попытки со стопроцентной точностью.
Кейс HackerTube: разработка без прикосновения к файлам
Чтобы доказать силу этого подхода, Карпати в прямом эфире с нуля собрал полноценный рабочий прототип видеоплатформы HackerTube. Самое поразительное в этом эксперименте — он ни разу не открыл редактор кода VS Code для ручной правки строчек!
Все взаимодействие шло исключительно через терминального агента Claude Code. По коротким командам Карпати агент:
- инициализировал репозиторий и разворачивал структуру каталогов;
- устанавливал проверенные версии npm-пакетов;
- писал и применял миграции базы данных;
- верстал пользовательский интерфейс и настраивал стриминг видео;
- запускал локальные тесты и устранял ошибки компиляции.
Человек в этом процессе выполнял роль главного архитектора и строгого контролера: он читал git diff, оценивал направление мысли модели и давал короткие указания на следующем шаге. Другие интересные сценарии автоматизации через Claude мы рассматривали в подборке Практические рецепты Claude Code: от 3D-моделей в Blender до финансового дашборда.
Каскадная фильтрация: не корми гигантов мусором
И последний архитектурный секрет пайплайна — двухступенчатая фильтрация контекста.
Типичная ошибка начинающих разработчиков: при падении сборки скопировать простыню лога на 500 строк с трассировкой стека и целиком закинуть ее в тяжелую флагманскую модель Sonnet 5.5. Флагман тратит драгоценное контекстное окно на пережевывание мусорных строк сборщика, а счет за токены стремительно растет.
Карпати организует каскад: сырой лог падает на вход дешевой легковесной модели (Claude Haiku или компактной локальной сети на 8B параметров). Ее задача — вычленить суть: «В строке 42 файла auth.ts передана строка вместо числа». И уже этот лаконичный диагноз передается ведущему агенту Claude Code.
Настоящий вайб-кодинг — это не магия и не отказ от инженерного мышления. Это искусство говорить с искусственным интеллектом на языке предельной ясности, делегируя машине файловую рутину и оставляя за собой главное — архитектурную волю и контроль над результатом.
