TL;DR:
Сейчас много хайпа насчёт вайб-кодинга. Но работает ли он, когда вам нужно создать собственное приложение с нуля? Вот мой практический опыт.
Торжественные воспоминания
AI я люблю давно, но обычно на уровне исследования какого-то вопроса, или психологической / медицинской консультации, или сравнения товаров. Ну и, конечно, создания картинок! (— а сейчас Google Veo3 может очень убедительно делать целые фильмы, включая озвучку.)
Но тут у меня возникла прикладная задача.
Поеду по Европам, буду делать фотки. Но как их грамотно сохранять, чтобы ничего не потерялось?
(отсюда и дальше — фотки с предыдущих поездок. Ведь стоит же сохранять?! 🤩 )
Ща всё будет! — или?..
Первая реакция — просто найти готовую программу, которая это всё уже делает.
Покопавшись же в интернетах (да, с помощью того же AI), ничего подходящего не нашёл.
Нет, есть конечно приложения всякие, но они не отвечают требованиям.
И какие же требования?
Не тупо копировать карту памяти каждый раз полностью, а только новые фотки.
Например: карточка памяти в камере может быть отформатирована между бэкапами... а может, и нет. Приложение которое сгружает фотки с карточки (далее Offload) должно распознать что только новые файлы нужно копировать, а не всю карту полностью ещё раз. Ибо это создаёт дубликаты и забивает место на диске куда копируешь.
Это не тривиальная задача.
Дальше, отыграть все возможные проблемы во время Offload: отвалился драйв, отвалилась SD карта, не считывается конкретный файл, очередная комета летит, и т.д и т.п. ...Без потери данных.
К тому же, копировать не абы что, а именно полезные (тебе) файлы изображений и видео. А также их sidecar files.
А ещё: чтобы работало локально, никакой связи с Интернетом не должно требоваться. Потому что её может вообще и не быть, и потому что — приватность (что сука я такое там собираюсь фотографировать?!!) 🤪
И много ещё всяких требований: стабильность; вменяемые user-facing messages; чтобы работала на мини компе размером со смартфон и было всё видно и удобно тыкать; чтобы sidecar файлы определяла по-умному а не как в них написано... ну и дальше длинный лист всего.
Короче, нет таких приложений.
Что делаем? — Пишем сами!
Mission Impossible: Thread Beckoning
Писать выбрал на новом для себя языке Python.
Disclaimer: да, я потихоньку занимался программированием со времён Basic DOS... потом это стало легче делать в Visual Basic. Но вот правда, не являюсь я профессионалом программистом. Всё делалось чисто по принципу "давай-ка я узнаю ровно столько этой муры, сколько мне нужно чтобы выполнить эту задачу".
(Уверен что, поскольку большинство народу здесь программисты, за такие слова на меня сейчас посыплются все шишки. Штош 🥹 ...)
Disclaimer #2: хорошо понимаю базу HTML, был одним из первых в мире веб-дизайнеров в 1995 (не, ну тогда-то я молодой был, чё вы!) — но потом отошёл от передовых вещей. Хотя могу и CSS / JavaScript, и Perl / MySQL.
Написать целое приложение с нуля, и чтобы не глючило (мы же тут ценные фотки сохраняем, а не дрова возим), и чтобы все мои идиотские разумные требования выполнены были, да на новом языке программирования — это прямо нереально для меня.
...Ну то есть было нереально.
Enter vibe-coding.
На коленке — на пеньке; в мыслях токен, флаг в руке
Представляем: вайб-кодинг с помощью ИИ.
Описываешь задачу (орально, то есть ротом), хотя бы даже коряво. Просишь выдать нормальное техзадание из этой кучи слов. ИИ красиво пишет. Но самое главное, она же сама это потом и понимает! — на самом деле это важный момент, база с которой всё начинается. Установить контакт, понимать друг друга, обговорить правила.
Например, я ей говорю так: "Don't write any code yet. Propose a solution, then wait for my feedback. Only write any code when I give you my Go Ahead. Confirm!"
Дальше начинаешь с малого: базовый интерфейс и backend. ИИ пишет — ты отлаживаешь. Если не можешь отладить сам, говоришь ИИ чтобы это делала, но предупреждаешь чтобы не ломала уже настроенные части.
Шаг за шагом, вырисовывается программа. Даже сложная программа.
И как вы думаете, какой результат?
Томить не буду: работает по моим требованиям!
Получилось-таки, и времени ушло 6 дней (примерно по полдня работы в день). Vibecoding: а что, так можно было?!!
Дальше усовершенствую, чтобы по желанию писала в облако (сейчас она специально сделана полностью автономной, ибо поездка с непонятными Wi-Fi); а также находила бы скопированные фото и видео по параметрам, типа местоположение, ключевые слова, использованная линза и камера, и т.д и т.п. Короче, получается такая неслабая система которая и копирует данные, и делает бэкап, и менеджерит DAM на каком-то уровне.
Выводы? 🧐
Думаю так:
Да, вайб-кодинг абсолютно работает. Это на конец мая - начало июня 2025. Дальше будет только лучше ®
Да, человек с базовыми понятиями о программировании может за неделю навайбкодить полноценное приложение.
Жизненно важно выбрать правильный ИИ инструмент. Я использую: Gemini 2.5 Pro Preview 05-06, in Google AI Studio. Инструмент бесплатный.
(Update: new, just-released, amazing Gemini 2.5 Pro Preview 06-05 is even better!)
- Из явных затыков: при миллионе токенов, уже на 200,000 начинаются проблемы. LLM забывает о чём шла речь, или несёт откровенную чушь (Gemini 2.5 Pro 05-06).
Лечение: начинаешь новый чат; переносишь туда всё техзадание и код; продолжаешь вайбкодить дальше.
А что же ChatGPT? Ну, а что он. У меня там проплаченный аккаунт, но... Эта 👆 версия Gemini несравнимо лучше (на сегодня) чем остальные LLM: ChatGPT, DeepSeek, Perplexity, etc.
А что делать человеку, у которого нет даже базовых понятий о программировании? Та же ИИ в помощь. Она объяснит и поможет. Ну допустим уйдёт у вас 4 месяца а не неделя. Но результат будет!
Для меня это явилось открытием, потому что изначально был скептически настроен в отношении вайб-кодинга. Но теперь буквально редко проверяю код, а просто тестирую и заставляю ИИ исправлять косяки, в которые её тыкаю носом. И глаза больше не вытекают от бесконечного пристального кодирования!
Жизнь хороша. А хороший ИИ — ещё лучше!
Спасибо что прочли. Задавайте вопросы, по мере возможности отвечу!
Интересно, а какой у вас опыт с этим вот всем? У меня например при заявленном окне модели в 1M токенов, уже на 200,000 начинаются жёсткие глюки... После чего я просто открываю новый чат.
Что вы пробовали, получилось / не получилось, а почему? Поделитесь, буду рад узнать!
А мог поставить Immich на сервер и грузить на него с телефона фотки...
(wrong turn) Ой, это я не туда написал, извиняйте, удалил 👉👈
Вайб-кодил (на питоне и го) с ChatGPT (использовал разные модели, у меня корп. подписка), было терпимо, хотя и задалбывали постоянная потеря контекста и галлюцинации, из-за которых почти всё время уходило на дебаг. В общем, 50/50 удовольствия и минус вайба.
Потом перешел на нативный copilot в VSCode (с Claude то ли 3, то ли 3.5), но не зашло, хотя особо тщательно его не тестил.
Настоящим прорывом стал переезд на платный Cursor с Claude 4. Мои вайб-проекты несложные, но тем не менее, почти каждое крупное изменение, сделанное четвертым клодом, работало отлично с первого раза. Не знаю, это модель так хорошо держит контекст, или Cursor что-то подшаманили, но времени на допиливание дополнительных фичей сократилось в разы - не приходится заново объяснять очевидные вещи и по 10 раз повторять одно и то же. Еще нравится как он рассуждает в процессе, гораздо легче отследить логику его решений.
Вайб-кодинг работает до тех пор, пока твоя кодобаза вполовину меньше максимального размера окна твоей ЛЛМки. В тот момент, когда твой код переваливает за 100 килобайт на Клоде, у тебя начинаются такие проблемы, что мало не покажется.
Так-то запилить клиент к апям по OpenAPI спецификациям - это всё хорошо. А когда у тебя проект состоит из 30 подпроектов, которые билдятся разными версиями нода, а некоторые файлы весят по 100-200 килобайт то вайбкодинг - это прожигание денег на ИИ. У меня любой запрос к агенту уводит агента в даун, снимая $20 со счёта.
А если ты ещё и программировать не умеешь сам, то фиг ты большой проект выведешь из каки.
Так что нет, как писал по-старинке, заставляя модель дописывать за меня строчки, так и пишу.
А если у тебя домашнаяя работа на 10 минут, то с вайбкодингом как раз удобно за пару недель можно будет справится.