История о том, как «вайбкодинг» окончательно победил здравый смысл.
Вчера проводили экспертный созвон. Собрались DS’ы, чтобы помочь молодому фаундеру. Парень пилит стартап: поиск багов и проблем на сайтах с помощью LLM. Благое дело.
Начало стандартное: парень открывает презентацию и начинает яростно «продавать» нам инвесторский питч. Мы его мягко тормозим: «Друг, мы тут DS-инженеры, продавать не надо. Расскажи техническую суть, где затык?»
Он объясняет: «Ну, я закидываю в LLM разные факты, а она мне подсвечивает какую-то незначительную дичь вместо реальных проблем».
Окей, классика. Просим показать пример: что уходит на вход и что получается на выходе. И тут начался чистый киберпанк.
Вместо того чтобы открыть логи или скопировать готовый пример, парень открывает Cursor AI и просит нейросеть… найти этот пример в коде. Говорит: «Так быстрее, чем я сам искать буду».
Ладно, глубокий вдох. Спрашиваем: «А почему просто не посмотреть логи в БД?»
Ответ: «Ну, в интерфейсе это можно глянуть, но он сейчас почему-то упал. А в DataGrip открывать… там очень сложная структура, я не разберусь».
Пока он это говорил, Cursor закономерно ушел в астрал. Нейросеть не понимает, где лежат нужные ключи, потому что в проекте вообще нет никакой структуры. Что делает наш фаундер? Он просто копирует приватный ключ, пачку паролей прямо в окно чата Курсора и отправляет. Тут даже сама модель офигела и выдала системное предупреждение в духе: «Чувак, у тебя всё нормально? Ты мне только что все доступы и секреты слил».
Мы у экрана тихо сползаем под стол. Но ладно, магия вайбкодинга активировалась, Cursor начал пыхтеть. Проект не просто большой — он огромный, запутанный, без единой строчки документации и DDL-схем таблиц. Нейросеть 15 минут генерировала около 20 SQL-запросов, металась по углам, искала этот несчастный пример… и не смогла.
Итог первой части марлезонского балета: мы 15 минут сидели и смотрели, как ИИ пытается раскопать артефакты другого ИИ, чтобы просто увидеть ОДИН пример плохой работы (ради чего созвон и собирался). Не увидели.
Окей, заходим с другой стороны. Пытаемся понять логику: «Ладно, бог с ними, с логами. Ты сам-то понимаешь, как модель должна искать проблемы? Какой промт? Что в контекст передаешь?»
Показывает промт. Это гигантская простыня текста в стиле «делай хорошо, плохо не делай».
Спрашиваем: «А в самом запросе данные какие?»
Ответ: «У меня идея — передавать туда ВООБЩЕ ВСЕ СЫРЫЕ ДАННЫЕ, пусть LLM сама разбирается».
Мы: «А ты сам эти сырые данные видел? Сам сможешь в них разобраться?»
Фаундер, на полном серьезе: «Ну так LLM же сама всё может!»
В этот момент где-то в мире заплакал один Илья Суцкевер. Слушать это было физически больно.
Естественно, парня мы без помощи не оставили и насыпали нормальной инженерной базы:
- Переписать промт, урезать воду и сделать жесткий Few-Shot / One-Shot с четкими примерами «как надо» и «как не надо».
- Собрать наконец Golden Dataset для нормальной оценки ответов.
- Прикрутить Langfuse, чтобы видеть трейсы и понимать, куда улетают токены.
- Хватит пихать терабайты сырого мусора в контекст. Даже если данные структурированы, сделайте сначала первичный код-анализ, найдите паттерны, напишите эвристики и шлите в LLM подсказки о сработках, а не весь дамп базы.
Но судя по тому, что проект полностью написан нейронкой без контроля человека, а любое действие приводит к 15-минутному ступору Курсора — через месяц активных правок эта конструкция окончательно схлопнется под собственным весом.
Кстати, тут стартаперы уже вовсю выкатывают вакансии (как на картинке). Ищут крепких синьоров, чтобы отрефакторить то, что они там «навайбкодили». Чувствую, это будет главный тренд в найме на ближайшие пару лет.
Вчера проводили экспертный созвон. Собрались DS’ы, чтобы помочь молодому фаундеру. Парень пилит стартап: поиск багов и проблем на сайтах с помощью LLM. Благое дело.
Начало стандартное: парень открывает презентацию и начинает яростно «продавать» нам инвесторский питч. Мы его мягко тормозим: «Друг, мы тут DS-инженеры, продавать не надо. Расскажи техническую суть, где затык?»
Он объясняет: «Ну, я закидываю в LLM разные факты, а она мне подсвечивает какую-то незначительную дичь вместо реальных проблем».
Окей, классика. Просим показать пример: что уходит на вход и что получается на выходе. И тут начался чистый киберпанк.
Вместо того чтобы открыть логи или скопировать готовый пример, парень открывает Cursor AI и просит нейросеть… найти этот пример в коде. Говорит: «Так быстрее, чем я сам искать буду».
Ладно, глубокий вдох. Спрашиваем: «А почему просто не посмотреть логи в БД?»
Ответ: «Ну, в интерфейсе это можно глянуть, но он сейчас почему-то упал. А в DataGrip открывать… там очень сложная структура, я не разберусь».
Пока он это говорил, Cursor закономерно ушел в астрал. Нейросеть не понимает, где лежат нужные ключи, потому что в проекте вообще нет никакой структуры. Что делает наш фаундер? Он просто копирует приватный ключ, пачку паролей прямо в окно чата Курсора и отправляет. Тут даже сама модель офигела и выдала системное предупреждение в духе: «Чувак, у тебя всё нормально? Ты мне только что все доступы и секреты слил».
Мы у экрана тихо сползаем под стол. Но ладно, магия вайбкодинга активировалась, Cursor начал пыхтеть. Проект не просто большой — он огромный, запутанный, без единой строчки документации и DDL-схем таблиц. Нейросеть 15 минут генерировала около 20 SQL-запросов, металась по углам, искала этот несчастный пример… и не смогла.
Итог первой части марлезонского балета: мы 15 минут сидели и смотрели, как ИИ пытается раскопать артефакты другого ИИ, чтобы просто увидеть ОДИН пример плохой работы (ради чего созвон и собирался). Не увидели.
Окей, заходим с другой стороны. Пытаемся понять логику: «Ладно, бог с ними, с логами. Ты сам-то понимаешь, как модель должна искать проблемы? Какой промт? Что в контекст передаешь?»
Показывает промт. Это гигантская простыня текста в стиле «делай хорошо, плохо не делай».
Спрашиваем: «А в самом запросе данные какие?»
Ответ: «У меня идея — передавать туда ВООБЩЕ ВСЕ СЫРЫЕ ДАННЫЕ, пусть LLM сама разбирается».
Мы: «А ты сам эти сырые данные видел? Сам сможешь в них разобраться?»
Фаундер, на полном серьезе: «Ну так LLM же сама всё может!»
В этот момент где-то в мире заплакал один Илья Суцкевер. Слушать это было физически больно.
Естественно, парня мы без помощи не оставили и насыпали нормальной инженерной базы:
- Переписать промт, урезать воду и сделать жесткий Few-Shot / One-Shot с четкими примерами «как надо» и «как не надо».
- Собрать наконец Golden Dataset для нормальной оценки ответов.
- Прикрутить Langfuse, чтобы видеть трейсы и понимать, куда улетают токены.
- Хватит пихать терабайты сырого мусора в контекст. Даже если данные структурированы, сделайте сначала первичный код-анализ, найдите паттерны, напишите эвристики и шлите в LLM подсказки о сработках, а не весь дамп базы.
Но судя по тому, что проект полностью написан нейронкой без контроля человека, а любое действие приводит к 15-минутному ступору Курсора — через месяц активных правок эта конструкция окончательно схлопнется под собственным весом.
Кстати, тут стартаперы уже вовсю выкатывают вакансии (как на картинке). Ищут крепких синьоров, чтобы отрефакторить то, что они там «навайбкодили». Чувствую, это будет главный тренд в найме на ближайшие пару лет.