Изначально к вайб-кодингу относился скептически, и моей целью было экспериментально установить границы этого самого вайб-кодинга. Посмотреть, как быстро LLM-ка упрется в предел возможностей и начнет “водить по кругу”.
В этой статье хочу поделиться своими впечатлениями, выводами и видением перспектив. Какие проблемы вайб-кодинга вижу неразрешимыми, что в перспективе будет решено, а что решить не получится.
Общее впечатление от вайб-кодинга
Эмоционально написание кода в IDE vs применение агентов вернуло меня в первую половину нулевых, когда часть людей сидела на диалапе, а часть уже вкусила прелести широкополосного интернет-подключения.
Как я чувствую вайб-кодинг
Вспомнил, как в эпоху диалапа ценили уже скачанные фильмы, делились друг с другом, покупали их, платили за это достаточно немалую цену. Скачать нужно было уметь, знать свои хитрости. Фильм мог качаться неделю, нужно было использовать специальный софт, который сможет докачать после обрыва подключения, сам установить новое подключение через диалап.
Не все умели это делать, не у всех был качественный диалап. Как сейчас помню разочарование человека, узнавшего, что нужная ему программа весит 5 МБ. И он такой: “Сколько? А, да это невозможно скачать”.
С появлением широкополосного доступа изначально возникло некое неравенство. Кто-то продолжал сидеть на диалапе, не спешил подключаться (так как непонятно было, зачем это нужно, ведь уже привыкли все передавать на дисках, а почту или новости получить по IMAP/NNTP – не так уж долго).
Некая аналогия – как сейчас по территориальному признаку не всем открыт доступ к лучшим моделям, так и ранее в отдельных городах интернет был неполноценным. В локальной сети скорость была хорошей (куча софта была доступна именно в локальных файлообменниках), а вот “выход в мир” уже был проблемой.
Ну и тарификация. Ранее почти всегда был ограничен трафик, и превышение стоило немало денег. И мне казалось, что по-другому и быть не может – ведь если трафик не ограничивать, то я выкачаю весь Интернет и ни один провайдер этого не потянет.
Когда пришла эпоха отмены тарификации трафика, я сначала не мог поверить, даже в голове не укладывалось, и скачивал все подряд. Прошло немало времени, прежде чем я успокоился, перестал копить данные и просто привык, что все доступно.
Строго говоря, и сегодня трафик не совсем бесплатный – начнете на 100% нагружать свой гигабитный канал – и узнаете об этом. Но большинство людей с данной проблемой не сталкиваются – всем просто хватает.
Сейчас с LLM-ками мы где-то в 2004 году. Т.е. “трафик” еще тарифицируется, поверить, что токены будут бесплатными – невозможно. А “скорость” продолжает удивлять, еще не всем доступен качественный широкополосный интернет (либо территориально, либо еще не все готовы раскошелиться, ибо не знают, зачем это).
Как ранее я испытывал дискомфорт, если не потратил весь трафик к концу месяца, так и сейчас есть “токен-тревожность” – беспокойство по поводу того, что не потратил все токены, упустил возможности.
Что я навайбкодил
Дабы не быть голословным, посмотрел свой список за пару месяцев. Большая часть не заняла времени, то есть буквально ввел запрос, пошел выпить кофе, и программа уже готова. С чем-то пришлось повозиться. Все выполнялось на выходных или по вечерам в свободное от работы время.
По категориям, кому что интересно. Большая часть программ сделана в виде одного HTML-файла, который работает офлайн в песочнице браузера (запросы и пр. запрещены политикой). Еще часть – кроссплатформенные на Rust.
Берите вайб-кода столько, сколько сможете унести:
Приколы и игрушки
Проект
Что это
Технология
html-color-music
Бесконечная генеративная музыка и шейдерные картины в такт
TypeScript + WebGL 2 + Web Audio · HTML + PWA
html-minecraft
Blockcraft: воксельная песочница в стиле Minecraft
TypeScript + WebGL · HTML + PWA
html-morse-decoder
Декодер и генератор Морзе: спектр, водопад, два декодера, EN/RU
TypeScript + Web Audio · HTML + PWA
Графические редакторы
Проект
Что это
Технология
html-paint
Графический редактор в духе Paint.NET: слои, выделения, эффекты
TypeScript · HTML + PWA
html-vector-shader-editor
Векторный редактор, экспорт в SVG, GLSL, Shadertoy, WGSL и PNG
TypeScript + WebGL 2 / WebGPU · HTML + PWA
Безопасность и криптография
Проект
Что это
Технология
html-password-manager
Менеджер паролей KeePass (.kdbx) в виде одного HTML-файла, детерминистическая генерация паролей
TypeScript · HTML + PWA + Chrome
html-pgp
Управление ключами OpenPGP и шифрование в духе Kleopatra
TypeScript · HTML + PWA + Chrome
html-lite-pgp
OpenPGP для GnuPG и Kleopatra, вся криптография своя, ничего из npm
TypeScript · HTML + PWA
bitphrase/bitphrase
Номера карт, телефоны, пароли и сид-фразы ↔ смешные запоминаемые предложения
TypeScript · HTML + PWA
ua-cryptography
Проект украинской криптографии (DSTU 7564, DSTU 7624, DSTU 4145)
Rust, C#, TypeScript
Финансы, бизнес и базы данных
Проект
Что это
Технология
cashflow
Личные финансы без записи каждой траты: сверки балансов и прогноз
TypeScript + SQLite (sql.js) · HTML + PWA
html-bap-studio
BAP Studio: конструктор бизнес-приложений (справочники, документы, регистры, отчеты) с плагинами. 1С на минималках.
TypeScript · HTML + PWA
html-database-editor
Редактор схемы и данных БД через плагины-коннекторы
TypeScript · HTML + PWA
Файлы, диск и процессы
Проект
Что это
Технология
html-merge
Сравнение папок и файлов в двух панелях с подсветкой синтаксиса, как WinMerge, только чтение
TypeScript · HTML + PWA
dir-merge
DirMerge: сравнение и слияние файлов и папок, как WinMerge, 185 языков подсветки
Rust · десктоп
uisonlab/uison-commander
Двухпанельный файловый менеджер, как Total Commander: диск, S3, SFTP, FTP, WebDAV
Rust + uison
disk-usage
Диаграмма занятого места в стиле DaisyDisk, один бинарник около 5 МБ
Rust · десктоп
uisonlab/uison-disk-usage
Disk Usage, переписанный на uison
Rust + uison
process-tree
Дерево процессов с возможностью их завершать (пока macOS), README на 10 языках
Rust · десктоп
Тексты и заметки
Проект
Что это
Технология
notepad
Минимальный текстовый редактор, открывает файлы больше 1 ГБ (piece table)
Rust · десктоп
markdown-catalog-editor
Редактор папки Markdown-заметок (Obsidian на минималках); расширение «Send to Markdown» отправляет выделенный текст в заметку
TypeScript · HTML + PWA + Chrome
Образование и обучение для детей и взрослых
Проект
Что это
Технология
timeline
Просмотр и редактирование хронологий (файлы .timeline)
TypeScript · HTML + PWA
school-lessons/primary
Обучающие игры для младших школьников (чтение, счет)
HTML/JS · GitHub Pages
hash-lesson
Материал для статьи: как из обратимых операций получается необратимый хеш (SHA-256)
TypeScript · веб-страница
Дизассемблеры, процессоры, ассемблер
Проект
Что это
Технология
html-disasm
Дизассемблер Arm, x86, WebAssembly, .NET и Java (Mach-O, ELF, APK, JAR) с пояснениями инструкций и видом HLA64
TypeScript + Rust/WASM · HTML + PWA
virtual-cpu
Эмулятор и отладчик ARM64 и x86-64
TypeScript · HTML
html-hlaa64
HLA64: ассемблер ARM64, x86-64 и wasm с синтаксическим сахаром; транслятор, линкер и эмулятор
TypeScript
Библиотеки и фреймворки
Проект
Что это
Технология
uisonlab/uison
Кроссплатформенный UI-фреймворк
Rust
uisonlab/uison-ssh-player
Запускает программу на uison на удаленном сервере по SSH и показывает ее интерфейс в локальном окне
Rust + uison
uniptr
Умный указатель, сам переключается между Rc и Arc
Rust · крейт
spill-cache
Кэш короткоживущих файлов в памяти, при переполнении сбрасывает группы на диск
Rust · крейт
dotenv-verbatim
Загрузчик .env, значения берутся дословно, без подстановок и экранирования
Rust · крейт
Теперь о проблемах
Ключевой вопрос такой: сможет ли вайб-кодинг сделать труд программистов ненужным. Условно я разделил проблемы на разрешимые и неразрешимые.
Разрешимые проблемы
Есть тонкости, которые сейчас нужно знать. К примеру, уметь выбрать правильные технологии (знать, что для LLM-ки лучше TypeScript, чем JavaScript, или что Rust проще, чем C++, ведь чем больше проверит детерминированный компилятор, тем качественнее будет результат). Или знать, как правильно выбрать модель – почему Opus 5.5 дешевле Astra. Ведь попытка стоит немало – нужно оплатить каждую и попробовать: все быстро меняется.
Также скиллы, способность организовать агентов. Уже целые курсы продают по этим навыкам, люди гордятся библиотекой своих скиллов.
Есть особые навыки, как тратить поменьше токенов, как экономить.
Но, на мой взгляд, это все временно, эти вещи быстро устаревают (продолжая нашу аналогию – как сейчас устарели download-менеджеры и навыки по их настройке).
В новых версиях все больше встроено из коробки – LLM-ка и нужные скиллы сама начнет использовать, и технологии подскажет, и токены уже никто считать не будет (хотя сегодня в это невозможно поверить).
То есть все это временно и ценность данных навыков вряд ли продержится много лет.
Намного интереснее проблемы неразрешимые – то, что проще не станет.
Ценная идея или поиск нужности
Софт пишется для людей. LLM-ка может вам нагенерить множество идей – но только зная реальные нужды реальных людей, можно понять, что вообще имеет смысл, а что пустая трата времени.
То есть вопрос видения общей ситуации, понимания нужд людей, перспектив – неразрешим алгоритмически.
Все простые идеи уже реализованы, причем многократно с большим запасом. Найти что-то востребованное не так просто.
Пользовательский опыт
Это связано с предыдущим.
Мне кажется, это главный вопрос. Сделать качественно можно лишь то, чем ты пользуешься сам, что находится в области твоей компетенции.
Сейчас бы Балмер кричал со сцены: “Пользовательский опыт! Пользовательский опыт! Пользовательский опыт! Пользовательский опыт! Пользовательский опыт! Пользовательский опыт! Да! Пользовательский опыт!” Он у всех разный. Есть пользователи, которых боятся сами разработчики.
Для примера. Наверняка вы знаете про Total Commander, может, даже используете или ранее пользовались. Но сколько процентов от его возможностей лично вы используете? Знаете ли все горячие клавиши, знаете ли про плагины?
Если вы будете делать аналог Total Commander для себя, то реализуете лишь те немногочисленные функции, которые используете сами. Но даже не подумаете, что это лишь верхушка айсберга и у других пользователей – совсем другие потребности.
Можно сделать клон уже готовой программы, которая вобрала в себя многолетний пользовательский опыт, но как выйти за пределы клона и создать что-то новое?
Пользователи сами не знают, чего хотят
Казалось бы, проблема разрешима – просто создай голосовалку, и пусть пользователи сами пишут, чего хотят. Можно даже это автоматизировать – сделать типа форума: каждый может писать свои хотелки и каждое утро получать новую (возможно, даже индивидуальную) версию софта.
Но не все так просто…
Пользователи сами не знают, чего хотят. Они ждут от вас, что именно вы им покажете что “так можно было”.
Как разработчики бухгалтерского софта заодно и учат бухгалтеров правильно выполнять свою работу (именно так и есть, работал в этой сфере), как многие узнавали о тонкостях сетевых протоколов из программы Network Monitor.
То есть пользователи от софта ждут расширения границ своего познания и не могут указать вам путем коллективного голосования, что именно нужно делать.
Есть особый вид пользователей, которые знают, чего хотят, знают тонкости той или иной области, но их очень мало, скорее даже меньше, чем разработчиков ПО. Возможно, такие люди смогут с помощью нейросетей создавать ценный софт.
Ваше время не бесплатно
Ну и самый главный вопрос. Допустим, вы нашли идею, у вас есть понимание и пользовательский опыт.
Но какой смысл вам тратить свое время, свою жизнь на реализацию чужих хотелок?
Монетизировать не так уж просто – как только вы сделаете программу, вложите силы, так сразу кто-то ее склонирует LLM-кой и начнет раздавать бесплатно с открытым кодом. Какой вам с этого прок?
Если предыдущие проблемы имели хоть какое-то решение, то решения данного вопроса я пока не вижу.
Как привлечь пользователей?
Отчасти решением проблемы монетизации может быть захват внимания аудитории, популярность проекта среди пользователей, создания комьюнити. Тогда можно как-то отбить на рекламе даже бесплатный продукт. Но в эпоху простого клонирования это не так просто, если вообще возможно.
Сейчас привлечь внимание непросто: информационная сфера перегрета. Тематические сайты или ютуберы за рекламу хотят немалых денег – возможно, что вы уйдете в минус.
Писать в блогах (как Хабр или Reddit) о том, что я навайбкодил то или иное, пока еще можно, но интереса все меньше – а скоро люди вообще плеваться будут.
То есть вместе с простотой написания кода мы получили и обесценивание спроса на продукты. Часть легко склонировать. А ведь многое и клонировать не нужно – LLM-ка сама решит твою задачу, к примеру, сама почистит диск от ненужных файлов, и это будет безопасно (хотя на переходном этапе еще не все могут в это поверить), LLM-ка подготовит тебе программу обучения и будет обучать тебя. Стало проще написать сервис, который давно планировал написать, но теперь он просто никому не нужен.
Выводы
Изначально я хотел найти границы вайбкодинга – момент, когда LLM-ка упрется в потолок и начнет “водить по кругу”. Граница нашлась, но не там, где я ее искал. Код LLM-ка пишет, и с каждой новой версией все лучше. Упираешься в другое: что писать, для кого и зачем.
Вернусь к аналогии с диалапом. Когда трафик стал безлимитным, умение скачать перестало чего-то стоить. Download-менеджеры и хитрости с докачкой забылись, а ценным стало понимание того, что вообще стоит смотреть. С кодом сейчас происходит нечто похожее. Промпты, скиллы, экономия токенов – это те самые download-менеджеры. Через пару лет о них никто и не вспомнит. Идея, понимание нужд людей и пользовательский опыт останутся, и проще с ними не станет.
Понять, что людям на самом деле нужно и превратить это в точные промпты – все равно работа, и времени она требует немало. И вопрос, есть ли смысл тратить это время бесплатно, никуда не денется. А как на этом зарабатывать, когда любую программу можно будет склонировать за вечер?
Мы переходим в новую эпоху, и пока никто в точности не знает, чего ждать. Но если аналогия с диалапом верна, то лет через десять сегодняшняя токен-тревожность будет вызывать такую же улыбку, как сейчас лимиты трафика.
А пока пойду потрачу оставшиеся токены – лимит же сгорит.
Источник: habr.com