Вайб-кодинг по-взрослому
Обзор стэка на середину октября 2025, лайфхаки и мое субъективное мнение.
В последнее время меньше сил трачу на контент, потому что с головой ушёл в новый проект. Agentic engineering стал настолько хорош, что пишет практически 100% моего кода. И всё же вижу массу людей, которые вместо того чтобы просто делать работу, изобретают сложные схемы.
В статье отражено мое личное мнение, не всегда оно в консенсусе с остальными вайб-кодерами, но подумал что может пригодится новичкам мой опыт.
Статья получилась большая, поэтому вот основые тезисы:
- Почему Codex - топ
- Считаем ущерб до коммита
- Очередь сообщений, Esc-метод и как не терять фокус в длинных сессиях
- Codex vs Claude Code: контекст, скорость, язык
- Планирование без планировщика
- Subagents/MCP: где действительно нужны, а где съедают контекст
- Веб-агенты (Devin/Cursor/Codex web)
- Тулы вокруг агентов: Conductor/Terragon/Imbue и почему большинство не имеют смысла
- Spec-driven vs «с места в карьер»: как менялся мой флоу с июня
- AGENTS.md на ~800 строк: что внутри и почему он работает у GPT-5, но хуже у Claude
Контекст и технический стэк
Работаю один; текущий проект - ~100k строчек кода на TypeScript и Vite. Суть проекта - набор тулов для GTM инженеров - AI SDR в cli (AI SDK, оптимизация промптов через DSPy и GEPA и многочисленные апишки типа Exa AI Websets, Smartlead, Leadmagic), симуляция аутрич компаний (Supabase, Openrouter) и бенчмарк для оценки поведения моделей на различных сэйлз тасках (Inspect AI). Хостинг - на Cloudflare.
Общий подход
Полностью переехал на Codex cli в качестве повседневного агента. Запускаю по 3-5 параллельно в сетке терминала 3×3; большинство - в одной папке, эксперименты - в отдельных. Пробовал worktrees, PRs, но всегда возвращаюсь к этой схеме - она эффективнее всего.
Мои агенты сами делают нано-коммиты. Чтобы поддерживать чистую историю коммитов, я много итераций сделал над инструкциями для агентов в AGENTS.md. Это делает git-операции точнее - каждый агент коммитит ровно те файлы, которые редактировал.
Да, с Claude можно навесить хуков, а в Codex их пока нет, но модели настолько хитрые, что никакой хук их не остановит, если они хотят по своему.
Выбор модели
Почти всё строю с gpt-5 на high. Пробовал последний gpt-5-codex на разных настройках думания, но в итоге вернулся к обычной модели. Перекручивать эти настройки не даёт заметной отдачи, и приятно не писать в каждом сообщении про ultrathink.
Радиус взрыва 💥
Когда работаю, думаю о радиусе взрыва. Термин (blast radius) не мой, но он мне нравится. Когда планирую изменение, у меня есть ощущение, сколько времени это займёт и сколько файлов затронет. Можно бросать много маленьких бомб в кодовую базу или одну царь-бомбу и пару маленьких. Если бросать несколько больших бомб, изолированные коммиты станут невозможны и сильно сложнее будет откатываться, если что-то пойдёт не так.
Это ещё и хороший индикатор, пока я наблюдаю за агентами. Если что-то длится дольше ожидаемого, я просто жму Escape и спрашиваю “what’s the status” - получаю апдейт статуса и дальше либо помогаю модели найти верное направление, либо останавливаю, либо продолжаю. Не бойтесь останавливать модели на полпути: изменения файлов атомарные, и они отлично подхватывают с места остановки.
Если не уверен в масштабе влияния, использую запрос “give me a few options before making changes”, чтобы прикинуть его.
Почему не worktrees?
Я держу один dev сервер: по мере развития проекта кликаю по нему и тестирую сразу несколько изменений. Дерево/ветка на каждое изменение сильно замедлит процесс, а поднимать много серверов быстро начинает раздражать.
А что насчёт Claude Code?
Раньше обожал Claude Code, сейчас не выношу. Его язык, эти You are absolutely right!, сообщения «100% production ready», пока тесты падают - больше не могу. Codex - он как интроверт-инженер: молча фигачит и выдает результат. Он читает гораздо больше файлов перед стартом, поэтому даже короткие промпты обычно делают ровно то, что мне нужно.
По моей ленте в твиттере виден широкий консенсус: codex - номер 1.
Другие преимущества Codex
- ≈230k токенов контекста против 156k у Claude. Да, есть Sonnet 1M, если платить по API, но на практике Claude начинает вести себя странно задолго до исчерпания контекста, так что лучше им не пользоваться.
- Более эффективное расходование токенов. Не знаю, что OpenAI делает иначе, но мой контекст заполняется гораздо медленнее, чем в Claude Code. Раньше при работе с Claude я постоянно видел “Compacting…”, в codex мне редко удаётся вообще наполнить контекст до упора.
- Очередь сообщений. Codex позволяет ставить сообщения в очередь. У Claude это было, но несколько месяцев назад они изменили механику так, что ваши сообщения управляют моделью (steer). Если мне нужно поправить Codex, я просто жму Escape и Enter, чтобы отправить новое сообщение. Иметь оба варианта - гораздо лучше. Я часто ставлю в очередь связанные фиче-таски, и Codex стабильно их разгребает.
- Скорость. OpenAI переписали Codex на Rust - это заметно. Он невероятно быстрый. С Claude Code у меня часто многосекундные фризы, процесс раздувается до гигабайт памяти. И ещё этот мерцайщий терминал. У Codex всего этого нет. Он ощущается лёгким и быстрым.
- Язык. Это реально влияет на менталочку. Слишком много раз я орал на Claude. Сodex раздражает реже. Даже будь Codex хуже по качеству, я бы выбрал его хотя бы из-за этого. Если попользоваться обоими пару недель - поймёте.
- И никаких случайных markdown-файлов повсюду. Кто в теме - поймёт.
Почему не обертка
На мой взгляд, между конечным пользователем и фронтир лабой просто мало места. Официальная подписка выгоднее всего. Сейчас у меня 1 подписка OpenAI и 1 Anthropic; суммарно около $400/мес за фактически безлимитные токены. Если юзать API, вышло бы примерно в 10× дороже. Только не придирайтесь к цифрам: я смотрел счётчики вроде ccusage - это всё примерно; даже если это 5×, всё равно выгода огромная.
Нравится, что есть инструменты вроде amp или Factory, но я не вижу у них будушего. И Codex, и Claude Code с каждым релизом становятся лучше и сходятся к одним и тем же идеям и фичам. У кого-то временно будет преимущество по лучшим to-do спискам, steering или мелким DX-фишкам, но сомневаюсь что они смогу обогнать большие AI-компании.
Factory - не убедили. Видео у них кринжовые, хотя в моей ленте про них говорят неплохо, пусть картинки пока и не поддерживаются, и есть фирменный flicker.
Cursor… у них tab completion - безусловный лидер, если вы пишете код сами. Я в основном сижу в VS Code, но мне нравятся их идеи с автоматизацией браузера и режимом планирования. Экспериментировал с GPT-5-Pro, но в Cursor всё ещё те же баги, что бесили меня в мае. Говорят, их чинят, так что иконка остаётся в доке.
Остальные вроде Auggie - мелькнули в ленте и пропали. В итоге все они оборачивают либо GPT-5, либо Sonnet - то есть легко заменяемы. RAG может был полезен для Sonnet, но GPT-5 настолько хорош в поиске, что отдельный vector index для кода не нужен.
Наиболее перспективные - opencode и crush, особенно в связке с опенсурсными моделями. Да, можно прикрутить свою подписку OpenAI или Anthropic (благодаря хакерам), но вопрос, насколько это разрешено, и вообще - зачем использовать менее способную обертку для модели, оптимизированной под Codex или Claude Code.
А что насчёт OSS моделей?
Слежу за китайцами - впечатляет, как быстро они догоняют. GLM 4.6 и Kimi K2.1 - сильные претенденты, постепенно приближаются к качеству Sonnet 3.7, но на повседневку я их не рекомендую.
Бенчмарки рассказывают лишь половину истории. По мне, вайбкодинг перешёл из «это отстой» в «это хорошо» в мае с релизом Sonnet 4.0, а следующий скачок - из хорошего в «это вау» - произошёл с gpt-5.
Режим планирования и подход
Чего не видят бенчмарки - это стратегия, которой следует связка модели и обертки при получении промпта. Codex гораздо осторожнее и читает больше файлов в репозитории перед тем, как что-то решать. Он жёстче пушит, когда вы просите сделать глупость. У Claude/других агентов реакция более порывистая - они хотят с наскоку решить сами. Это можно смягчить через режим планирования и строгие доки, но для меня это выглядит как костыль.
С Codex я редко использую большие md файлы. У Codex даже нет выделенного режима планирования - но он настолько лучше следует промпту, что я могу просто написать “let’s discuss” или “give me options”, и он будет добросовестно ждать моего одобрения.
Но теперь же у Claude Code есть плагины?
Этот релиз реально разочаровал в приоритетах Anthropic. Они пытаются латать неэффективности модели. Да, держать хорошие доки под конкретные задачи - здравая идея. Я сам храню большую пачку полезных документов в папке docs как markdown. Последняя идея со скиллами выглядит интересно, пока тестирую. Теперь можно генерить мемы :)
А subagents?
Нужно сказать пару слов про все эти пляски с субагентами (subagents). В мае это называлось субтаски (subtasks) и в основном служило, чтобы выносить задачи в отдельный контекст, когда модели не нужен весь текст - по сути, для параллелизма или экономии контекста, например, для build скриптов. Потом это заребрендили и улучшили до субагентов - вы выносите задачу с инструкциями, красиво упакованную.
Юзкейс тот же. То, что другие делают через субагентов, я обычно делаю через отдельные окна терминала. Нужно что-то исследовать - делаю это в другом окне и просто вставляю туда, куда надо. Это даёт мне полный контроль и видимость того контекста, который я инженерю, в отличие от субагентов, где сложнее управлять тем, что генерится.
И нужно рассказать про субагента, которого Anthropic рекомендует в блоге. Посмотрите на этого “AI Engineer” - смесь слопа: упоминает GPT-4o и o1 для интеграции, в целом напоминает автогенерированный суп слов, пытающийся выглядеть осмысленным. Там нет мяса, которое сделает вашего агента лучшим AI инженером.
Что это вообще значит? Если хотите лучшего аутпута, инструкция “You are an AI engineer specializing in production-grade LLM applications” сама по себе ничего не меняет. Дайте документацию, примеры, явные do/don’t - вот что поможет. Готов поспорить, вы получите лучший результат, если попросите агента “google AI agent building best practices” и дадите ему загрузить пару сайтов, чем от этой ерунды. Можно даже сказать, что такой слоп отравляет контекст. А его надо беречь как зеницу ока.
Как я пишу промпты
Когда сидел на claude, я писал (ладно, диктовал) очень развернутые промпты - эта модель лучше понимает, чем больше контекста ей дашь. Это верно для любой модели, но я заметил, что с codex промпты стали существенно короче. Часто это 1-2 предложения + картинка. Модель невероятно хорошо читает кодовую базу и понимает меня. Иногда даже возвращаюсь к набору текста руками - codex требует куда меньше контекста, чтобы понять, что мне нужно.
Добавлять изображения - мощный лайфхак для контекста: модель отлично находит именно то, что показываешь, вытаскивает строки, мэтчит их и сразу прыгает в нужное место. Скажу, что как минимум 50% моих промптов содержат скриншот. Редко сопровождаю комментариями - так даже лучше, но медленнее. Скриншот это 2 секунды, чтобы перетащить его в терминал.
Wispr Flow с семантическим исправлением по-прежнему в топе.
Агенты в вебе
В последнее время снова экспериментирую с веб-агентами: Devin, Cursor и Codex. Гугловый Jules выглядит симпатично, но установка бесит, а Gemini 2.5 уже не тянет как модель. Всё может измениться с выходом Gemini 3 Pro. Единственный, который иногда юзаю - Codex web. Его тоже неприятно настраивать, местами он поломан: терминал сейчас грузится некорректно.
Я использую Codex web как короткосрочный issue трекер. Когда я не дома и приходит идея, кидаю запрос через iOS-приложение, а потом смотрю это на маке. Теоретически можно было бы делать на телефоне намного больше - даже ревьюить/мерджить, - но я осознанно этого не делаю. Моя работа и так достаточно затягивает; когда я не за компом или с друзьями, не хочу, чтобы меня утягивало ещё глубже.
Раньше codex web вообще не считался в лимитах использования, но эти дни сочтены.
Тулы для агентов
Поговорим про тулы. Conductor, Terragon, Imbue и ещё вагон и маленькая тележка подобных. Какие-то - хобби-проекты, какие-то тонут в VC кэше. Я перепробовал их кучу. Ничто не приживается. На мой взгляд, они маскируют текущие неэффективности и продвигают воркфлоу, который просто не оптимален. Плюс большинство прячут терминал и не показывают всё, что генерит модель.
Большинство - это тонкие обертки вокруг Anthropic SDK + управление work tree. Никакого moat. И я вообще сомневаюсь, что нужна упрощённая работа с кодинг агентами на телефоне. Те редкие случаи, когда мне нужно было повайбкодить вне дома, полностью закрывает codex web.
А как же бэкграунд таски в Claude Code
У codex пока не хватает свистелок и перделок, которые есть у claude. Самая большая боль - управление бэкграунд тасками. Там должен быть таймаут, но я не раз видел зависания на cli-тасках без завершения - вроде поднятия dev-сервера или дедлокнувшихся тестов.
Это одна из причин, по которой я возвращался к claude, но поскольку в остальном та модель ведёт себя слишком туповато, сейчас я просто использую tmux. Это старая утилита для запуска CLI в фоне; и у модели достаточно знаний о ней, так что достаточно сказать “run via tmux”. Никаких доп инструкций в agent.md не нужно.
Что насчет MCP?
Про MCP не писал только ленивый. На мой взгляд, в большинстве случаев это история про поставить галочку для маркетинга. Почти все MCP по факту должны быть CLI.
Я могу сослаться на CLI по имени. Не нужно ничего объяснять в agents-файле. Агент попробует $randomcrap в первом вызове, cli покажет help, контекст получит всю инфу о том, как этим пользоваться, и дальше все без проблем. Я не плачу налог за тулы - в отличие от MCP, которые постоянно едят контекст и засоряют его. Подключаете GitHub MCP - и вот уже минус 23k токенов. Сейчас конечно получше, в начале было почти 50k. Или используйте gh cli с почти тем же функционалом, модели уже понимают его, и вы экономите контекст.
Сейчас я использую chrome-devtools-mcp, чтобы закрыть полный цикл - он заменил мне Playwright как MCP для дебаггинга.
Но в коде по-прежнему много мусора!
Около 20% времени уходит на рефакторинг. Разумеется, всё делает агент - руками этим не занимаюсь. Дни рефакторинга хороши, когда нужно меньше фокуса или я устал, концентрации много не требуется.
Типичные задачи: проверка, не наплодили ли мы лишних апишек, которые можно объединить, поддержание доков, распил слишком разросшихся файлов, добавление тестов и комментов в неоднозначных местах, апдейты зависимостей, апгрейды тулов, перестройка структуры, поиск и перепись медленных тестов и переписывание кода в целом. Всегда есть что улучшить.
Можно возразить, что всё это стоит делать на каждом коммите, но я считаю более продуктивным (и более интересным) чередовать быстрые итерации с фазами обслуживания кодовой базы - то есть погашения техдолга.
Работаю ли я по спекам (spec-driven development)?
Когда начинал в июне - да. Пишешь большую спеку или PRD.md, даёшь модели строить ее часами. Думаю, что такой взгляд на вайбкодинг устарел.
Сейчас я обычно начинаю с брейншторминга с codex: кидаю сайты, идеи, прошу прочитать код или api доки, и вместе придумываем фичу. Если что-то сложное - прошу оформить всё в док, отдаю GPT-5-Pro на ревью (через чатгпт), чтобы посмотреть, нет ли идей поэффективнее (удивительно часто - они есть и план становится заметно лучше), и затем возвращаю в основной контекст только полезное, чтобы обновить файл.
Со временем вырабатывается интуиция, сколько контекста требуют те или иные задачи; а у codex контекста хватает, поэтому часто я просто начинаю строить. Кто-то делает отдельный контекст под каждую фичу - раньше это имело смысл для Sonnet, но GPT-5 гораздо лучше переваривает большие контексты. Такой подход легко добавит +10 минут ко всему, пока модель медленно подтянет все нужные файлы.
Самый кайф - UI-задачи. Часто стартую с простого запроса, наблюдаю, как модель строит, и вижу апдейты в браузере в риалтайме. Потом ставлю в очередь доп изменения и итеративно довожу до ума. Часто я сам до конца не знаю, как это должно выглядеть; играю с идеей, кручу-верчу, и вижу, как она оживает. Нередко codex придумывает интересный ход, о котором я не думал. Я не делаю ресет - просто итеративно леплю до нужной мне формы.
Параллельно всплывают идеи для связанных взаимодействий - их веду в другом агенте. Обычно работаю над одной главной фичей и несколькими мелкими задачами.
Какие еще есть лайфхаки?
Не пытайтесь сочинить идеальный промпт, чтобы заставить агента продолжать долгую задачу - есть обходные пути. Если идёт большой рефактор, codex часто отвечает посреди сессии. Поставьте в очередь “continue”-сообщения, если уходите и хотите вернуться на все готовенькое. Если codex закончил и получает новые сообщения, он их спокойно игнорит.
Просите модель писать тесты после каждой фичи/фикса. В том же контексте. Тесты получаются заметно лучше и часто ловят баги. Если это чисто UI-фиксы, тесты могут быть неуместны; в остальных случаях - мастхэв. В целом AI посредственно пишет тесты, но всё равно полезно.
Просите модель «add code comments on tricky parts» - поможет и вам, и агентам.
Когда пилите что-то сложное, добавляйте триггеры в промпт: “take your time”, “comprehensive”, “read all code that could be related”, “create possible hypothesis”.
Как выглядит мой Agents/Claude.md файл?
У меня есть agents.md со ссылкой на claude.md - Anthropic не захотели стандартизировать. Понимаю, что это кривовато: GPT-5 предпочитает другой стиль prompting, чем Claude. Остановитесь и прочтите их prompting guide, если ещё не.
Claude хорошо реагирует на 🚨 КАПСЛОК!! 🚨 с угрозами «всё провалится и 100 щенят умрут, если ты запустишь X», - GPT-5 от этого, мягко говоря, офигевает. (И правильно.) Так что уберите это и пишите нормально, по-человечески. Это значит, что такие файлы нельзя шарить между моделями. Для меня не проблема: в основном я в codex, и принимаю, что для редких заходов в claude эти инструкции могут быть слабоваты.
Сейчас мой Agent-файл - ~800 строк. Писал его не я, а codex: как только что-то случается, прошу сделать туда короткую заметку. Когда-нибудь хочу прибраться, но даже в таком объёме он работает потрясающе, и gpt в целом учитывает то, что там написано - куда чаще, чем это когда-либо делал Claude. (стоит отметить что, с Sonnet 4.5 стало получше).
Помимо git-инструкций там рассказ про продукт, общие нэйминги и API-паттерны, заметки про DSPy или Inspect AI - потому что мой стэк новее, чем world knowledge модели. Ожидаю, что с апдейтами моделей смогу ещё сократить этот файл.
Значимая часть - про управление миграциями БД, тестирование, использование и написание правил для ast-grep для прокачки агентского поиска по код базе.
Ещё я экспериментирую с текстовым дизайн системой - как всё должно выглядеть; пока не могу поделиться результатами.
В итоге Codex идеален?
Конечно нет. Иногда он полчаса рефакторит, потом паникует и всё откатывает - приходится перезапускать и говорить, что времени достаточно. Иногда забывает, что умеет делать bash-команды, - нужен лёгкий пинок. Но это бывает редко, а в остальном он настолько силён, что на эти шероховатости можно закрыть глаза. Люди тоже не идеальны.
Заключение
Не тратьте время на RAG, subagents, Agents 2.0 и прочую мишуру. Просто общайтесь с моделью. Накапливайте интуицию. Чем больше вы работаете с агентами, тем лучше будет результат.
Очень нравится статья Simon Willison про вайб-инжиниринг - навыки управления агентами пересекаются с управлением разрабами.
И да, писать хороший софт всё ещё сложно. То, что я не пишу код руками, не значит, что я меньше думаю про архитектуру, системный дизайн, зависимости, фичи и путь пользователя. AI лишь поднял планку ожиданий по тому, что и как быстро мы шипим.
___________________________________________________________________________
Подписывайся на тг канал - https://t.me/becheetah
И пиши Федору, если хочешь больше лидов!