{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Блог Михаила Озорнина: заметки с тегом дофамин",
    "_rss_description": "Главная · Блог · Работы ·",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/mikeozornin.ru\/blog\/tags\/dofamin\/",
    "feed_url": "https:\/\/mikeozornin.ru\/blog\/tags\/dofamin\/json\/",
    "icon": "https:\/\/mikeozornin.ru\/blog\/user\/userpic@2x.jpg?1614204384",
    "author": {
        "name": "Михаил Озорнин",
        "url": "https:\/\/mikeozornin.ru\/blog\/",
        "avatar": "https:\/\/mikeozornin.ru\/blog\/user\/userpic@2x.jpg?1614204384"
    },
    "items": [
        {
            "id": "209",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/vibe-coding-as-a-slot-machine\/",
            "title": "Вайб-кодинг, дофамин и слот-машины",
            "content_html": "<p class=\"lead\">Осознал недавно, чем вайб-кодинг в его классическом виде похож на лудоманию и при чем тут дофамин<\/p>\n<h2>Что за вайб-кодинг такой<\/h2>\n<p>Давайте сначала начнем с определений. Не каждая разработка с ллмкой — вайб-кодинг, но каждый вайб-кодинг — разработка с помощью ллмки.<\/p>\n<p>Вайб-кодингом я буду называть программирование с помощью ллмки, в котором есть вот такие характеристики:<\/p>\n<ul>\n<li>Мало изначального планирования. Буквально короткое описание, вкинутое в ллмку и потом разберемся походу.<\/li>\n<li>Попытка сразу попасть в нужную конечную точку. Желательно за одну итерацию.<\/li>\n<li>Значительная часть кода написана ллмкой. Человек в целом не читает весь код, не проверяет его, только смотрит на результат. Архитектура придумана тоже ллмкой и в целом какая вышла, такая вышла.<\/li>\n<li>Быстрые итерации, горячая перезагрузка. Сообщение об ошибках в целом не читаются, копипаст в чат, обновление.<\/li>\n<li>Небольшой горизонт планирования. Ощущение щас фичу допилим, разберемся. Похоже на стрельбу трассирующими — и стреляем и одновременно целимся.<\/li>\n<li>Вайб-дебагинг — вместо попыток понять, разобраться, понять причину — промт «почини» × 5 раз. Да, и это иногда срабатывает.<\/li>\n<\/ul>\n<p>Я не говорю, что все это неправильно или плохо. Это просто то, что я бы назвал вайб-кодингом.<\/p>\n<p>Чтобы показать, что не каждая разработка с ллмкой — вайб-кодинг, давайте я попробую описать противоположный полюс. Я бы назвал это LLM assisted development.<\/p>\n<ul>\n<li>Много изначального планирования. К началу первого промта есть достаточно подробный PRD, есть какие-то макеты, схемы взаимодействия, есть выбор технологий, примерная архитектура и схемы данных. Хоть как-то продуманы краевые и хитрые сценарии. Возможно, на отдельные технологические части сделаны прототипы.<\/li>\n<li>Реализация и приемка по частям: планомерная реализация модуля за модулем, планирование именно этого модуля, разработка, приемка, тесты, фиксация. После этого переход к следующему.<\/li>\n<li>Написание части кода самостоятельно или значительное ревью написанного.<\/li>\n<li>Общее ощущение, что ведет человек, ллмка — лишь инструмент. Очень мощный, местами самостоятельный, но инструмент.<\/li>\n<\/ul>\n<p>Вайб-кодингом в силу понятных причин чаще заняты люди, кто сами не умеет программировать, а те, кто умеет, чаще склонны ко второму.<\/p>\n<p class=\"loud\">— Где уже тема поста, Лебовски! Я уже полторы страницы прочитал<\/p>\n<h2>Где здесь слот-машина<\/h2>\n<p>Вот мы подошли к главному. Я осознал, что вайб-кодинг обладает всеми теми же вещами, которые подсаживают слот-машины на дофамин. Я не биолог, проверяйте эту часть.<\/p>\n<p><b>Негарантированная награда<\/b><br \/>\nДофамин же вырабатывается не от самой награды, а от предвкушения награды. Если награда будет всегда, организму такое не нравится. Ему нравится, когда <i>иногда да<\/i>.<\/p>\n<p>Вайб-кодинг в чистом виде такой. Иногда промт сработает, иногда нет. Иногда ллмка уйдет в полную галюцинацию, но потом тем же самым промтом та же самая модель с очищенным и немного расширенным контекстом все за собой же починит.<\/p>\n<p><b>Сверхкороткий цикл<\/b><br \/>\nЦикл действие-реакция (промт-результат) очень короткий, поэтому за несколько минут можно пройти несколько таких циклов. Это очень высокая плотность событий, редко что может создать такой мощный стимул. Именно поэтому слот-машина больше затягивает, чем покер. Покерная партия длится существенно дольше.<\/p>\n<p>Вайб-дебагинг 5 промтов в минуту и копипаст ошибок из консоли — предел такого короткого цикла.<\/p>\n<p><b>Эффект почти-попадания (near-miss effect)<\/b><br \/>\nБывает, что проект совсем не заводится, сыпется на комплияции, а интерфейс взрывается. Но бывает и то, что называется near-miss effect — ну вот-вот, уже почти. Вроде работает, но как-то хитро глючит. В целом ок, но криво сверстано.<\/p>\n<p>Прямо как в слот машине — не все три слота разные, а «ну вот же, две вишенки совпали, а третья не докрутилась всего на один шажок». Конечно, после почти-попадания желание продолжить значительно выше.<\/p>\n<p><b>Всплеск нейромедиаторов при победе<\/b><br \/>\nКогда все в итоге завелось, приложение ЗА-РА-БО-ТА-ЛО вырабатывается огромное количество нейромедиаторов (как и при джекпоте). От адреналина аж пульс может подскочить.<\/p>\n<p><b>Некоторые эмоциональные качели<\/b><br \/>\nИногда ты сделаешь большую штуку за десять минут, а потом два часа будешь пытаться исправить досадный баг. В итоге качаешься между «Я молодец, ллм — лучшее, что есть в программировании» и «Я тупой, ллм ничего не может, зря я все это затеял».<\/p>\n<p><b>Сюрпризы и бонус<\/b><br \/>\nИногда ллмка доставляет и просто бонусы — хоба и отломала те части, которые раньше работали. Это тоже сильные эмоции и некоторые эмоциональные качели: ах ты сволочь ←→ о, я починил.<\/p>\n<p>Могу сказать по себе, что программирование в стиле вайб-кодинга невероятно затягивает. Особенно когда вот-вот уже почти. На это вот-вот уже почти можно сжечь огромное количество времени. Ой, может другая модель сможет. Ой, а давай переформулирую.<\/p>\n<p>Если кодить близко к полюсу максимального вайб-кодинга, то прямо физически начинает ощущаться вот это состояние ажитации — вероятно, именно его чувствуют люди перед слот-машиной.<\/p>\n<p>В целом, не этом все.<\/p>\n<h2>Как же быть<\/h2>\n<p><aside class=\"aside-margin-right\"><span class=\"related-excerpt\">Я не специалист в такой химии. Я мог бы с умным видом копипастнуть разбор Грока про норадреналин и анандамид. Но не буду. Спросите у ллмок<\/span><\/aside><\/p>\n<p>Мне кажется, что выход — программировать так близко к классическому програмированию, как можете. В программировании — состояние потока, фокус, длинные сессии, более медленный и стабильный темп. Уверен, что там совсем другая биохимия и другие нейромедиаторы.<\/p>\n<p><aside class=\"aside-margin-right\"><span class=\"related-excerpt\">«Станьте ежиками» — это из анекдота<\/span><\/aside><\/p>\n<p>Ну а как быть, если кто-то не умеет программировать. Что за «станьте ~ежиками~ программистами» такое. Я понимаю, что легко сказать «читайте написанный ллмкой код», но все умеют. Но так или иначе, у меня есть гипотеза, что если двигаться максимально близко к варианту LLM assisted development, то будет лучше.<\/p>\n<p>Что я бы попробовал:<\/p>\n<ol start=\"1\">\n<li>Начинайте с большого плана — на пару страниц даже для небольшого проекта.<br \/>\nСоберите в голове визуальный дизайн, подумайте про краевые случаи, заранее продумайте деплой. Соберите примеры кода, компонентов, референсы, ссылки на документацию. Опишите те вещи, которые обычно не описываете — адаптив или хоткеи. Вам все равно придется принимать все эти решения. <i>Вы можете принять их спокойно в начале или потом — в ажитации и перед слот-машиной.<\/i><\/li>\n<\/ol>\n<ol start=\"2\">\n<li>Разрабатывайте по частям. Держите в голове общий план, общую картинку, но делайте по этапам, не позволяя ллмке унести вас в сторону лишь потому, что она предложила «Нужло ли адаптивровать для очков виртуальной реальности?». Не так важны сами этапы, сколько нужно ощущение, что вы контролируете ллмку, а не она вас.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li>Возможно через шаблоны ответов лучше убрать вот эти «Отличный вопрос!» и другие восхваления искусственного интеллекта.<\/li>\n<\/ol>\n<p>Способ с большим предварительным планом был единственным доступным еще пару лет назад. Ллмки не умели так хорошо следовать длинному плану, не умели так успешно вызывать тулы для обогащения своего контекста и не умели выполнять действия. Мы были <i>вынуждены<\/i> проектировать сами и могли лишь просить ллмки написать отдельные модули или даже вовсе отдельные функции. А сейчас болт, реплит, лавабл и фигмамейк продвигают идею «Готовое приложение за одно предложение».<\/p>\n<p class=\"loud\">Вместо вывода. Ллмки позволяют нам делать вещи, которые мы бы не смогли без них. Но не разтеребите ими себе мозг, как это делает тикток. Уверен, ничего хорошего в этом не будет.<\/p>\n",
            "date_published": "2025-12-06T01:41:56+03:00",
            "date_modified": "2025-12-08T03:13:09+03:00",
            "_date_published_rfc2822": "Sat, 06 Dec 2025 01:41:56 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "209",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3798,
    "_e2_ua_string": "E2 (v3798; Aegea)"
}