NEVER FUCKING GUESS или Что Stanford нашёл в 6 000 вайбкодинг сессиях
- именно такую инструкцию Jer Crane (фаундер PocketOS, софт для rental-агентств) добавил в системный промпт Cursor-а. И еще там было курсоровское правило про то, чтобы он не выполнял деструктивные операции. Но, к сожалению, это не помогло: агентпредположил решил, что можно снести продакшн базу. Вместе со всеми бэкапами. Вместе с бэкапами - потому что Railway хранит бэкапы на том же волюме, что и основная база.
Вспоминается Папино:
(чтобы файлы лежали в разных секторах дискеты - часто один из секторов повреждался; не говоря уже о бэкап дискете, если она у вас есть под рукой)
Когда Джер спросил агента "почему ты это сделал?" — тот честно процитировал ему его же системные правила и признался, что нарушил каждое.
К чему я это?
Stanford опубликовали исследование - анализ того, как разработчики реально юзают coding-агентов в полях: 6 000 сессий, 63K промптов, 355K тулколлов из публичных репов.
Из интересного:
1) Вайбкодинг — это реальность (ну, мы то с вами в курсе). В 41% сессий агент пишет практически весь код, который коммитится. В 23% — человек пишет всё сам.
2) Только 44% сгенерированного агентом кода доживает до коммита. Остальное распадается так: ~10% агент сам же и переписывает (черновики), а ~46% юзер либо удаляет, либо переписывает руками. То есть "выжатый лимон" к 12 дня — это не ощущение, а арифметика: каждая вторая строчка дружбана идёт в мусор, и решение "оставить или нет" — это наша когнитивная нагрузка.
3) Неожиданное: в режиме чистого вайбкодинга survival rate - доля кода, доживающего до коммита - ВЫШЕ: 59%. Авторы честно пишут: "это либо лучше попадание в задачу, либо просто меньше ревью со стороны юзера". По моему личному опыту, каюсь, это скорее второе 😉
4) Чистый вайбкодинг в 9 (9 раз!) чаще создает уязвимости: SQL-инъекции и тп; а именно - на 1000 строк введённых уязвимостей:
- человек ручками: 0.08
- человек + агент в коллабе: 0.14
- чистый вайбкодинг: 0.76
<тут вам должно стать немного не по себе>
Для информации - в датасете сессии из Claude Code/ OpenCode/Gemini/Factory; большинство - из Claude Code с Opus 4.6; янв-апр 2026.
Нельзя тут не вспомнить Андреевское:
Что делать-то?
Это про наш любимый harness, разумеется, а именно:
1) Опасные операции блокируются СИСТЕМНО — и СНАЧАЛА архитектурой, потом сканерами. Capability scoping (агенту физически недоступны деструктивные операци), credential isolation (токены с необходимым минимумом прав), бэкапы ВНЕ доступности агента (Папа, привет!). Инструкций, как мы уже поняли, недостаточно.
2) Защита "швейцарским сыром": 3 уровня проверки, компенсирующие недостатки друг друга.
3) Plan Mode на каждой нетривиальной задаче. Если 44% генерации идёт в мусор — значит, надо обсуждать план ДО написания кода, не после.
4) Пост Reflection с security линзами
В общем, цифру 9х надо читать как "грубый порядок", а не "точная мера". Но направление и порядок величины — думаю, вполне реальные.
Кто-нибудь, кстати, уже попробовал Claude Code Security? 😉
"NEVER FUCKING GUESS!"
- именно такую инструкцию Jer Crane (фаундер PocketOS, софт для rental-агентств) добавил в системный промпт Cursor-а. И еще там было курсоровское правило про то, чтобы он не выполнял деструктивные операции. Но, к сожалению, это не помогло: агент
Вспоминается Папино:
копируешь файл в корень дискеты (o__O), а потом дублируешь в отдельную директорию для бекапа.
(чтобы файлы лежали в разных секторах дискеты - часто один из секторов повреждался; не говоря уже о бэкап дискете, если она у вас есть под рукой)
Когда Джер спросил агента "почему ты это сделал?" — тот честно процитировал ему его же системные правила и признался, что нарушил каждое.
I didn't understand what I was doing before doing it
К чему я это?
Stanford опубликовали исследование - анализ того, как разработчики реально юзают coding-агентов в полях: 6 000 сессий, 63K промптов, 355K тулколлов из публичных репов.
Из интересного:
1) Вайбкодинг — это реальность (ну, мы то с вами в курсе). В 41% сессий агент пишет практически весь код, который коммитится. В 23% — человек пишет всё сам.
2) Только 44% сгенерированного агентом кода доживает до коммита. Остальное распадается так: ~10% агент сам же и переписывает (черновики), а ~46% юзер либо удаляет, либо переписывает руками. То есть "выжатый лимон" к 12 дня — это не ощущение, а арифметика: каждая вторая строчка дружбана идёт в мусор, и решение "оставить или нет" — это наша когнитивная нагрузка.
3) Неожиданное: в режиме чистого вайбкодинга survival rate - доля кода, доживающего до коммита - ВЫШЕ: 59%. Авторы честно пишут: "это либо лучше попадание в задачу, либо просто меньше ревью со стороны юзера". По моему личному опыту, каюсь, это скорее второе 😉
4) Чистый вайбкодинг в 9 (9 раз!) чаще создает уязвимости: SQL-инъекции и тп; а именно - на 1000 строк введённых уязвимостей:
- человек ручками: 0.08
- человек + агент в коллабе: 0.14
- чистый вайбкодинг: 0.76
<тут вам должно стать немного не по себе>
Конкретный пример из самого пейпера: агент написал subprocess.run(cmd, shell=True) — классический CWE-78, command injection.
А почему именно агент чаще ставит shell=True? Видать, такое чаще встречается в тренинг датасете
Для информации - в датасете сессии из Claude Code/ OpenCode/Gemini/Factory; большинство - из Claude Code с Opus 4.6; янв-апр 2026.
Нельзя тут не вспомнить Андреевское:
"agentic engineering > вайбкодинг — почти всё можно завайбкодить, но как удержать качество?"
Что делать-то?
Это про наш любимый harness, разумеется, а именно:
1) Опасные операции блокируются СИСТЕМНО — и СНАЧАЛА архитектурой, потом сканерами. Capability scoping (агенту физически недоступны деструктивные операци), credential isolation (токены с необходимым минимумом прав), бэкапы ВНЕ доступности агента (Папа, привет!). Инструкций, как мы уже поняли, недостаточно.
2) Защита "швейцарским сыром": 3 уровня проверки, компенсирующие недостатки друг друга.
3) Plan Mode на каждой нетривиальной задаче. Если 44% генерации идёт в мусор — значит, надо обсуждать план ДО написания кода, не после.
4) Пост Reflection с security линзами
Пара дисклеймеров про датасет:
1) Датасет - публичные репы. Это энтузиасты, опенсорс контрибьюторы, прототипы. Прод-код Stripe или вашего банка туда не попадает - надеюсь :)
2) Надо понимать, что Semgrep ловит паттерны, а не реальную уязвимость. Возможно, в заданном контексте эти алерты - ложные срабатывания
3) Коммит ≠ доехало до прода. CI, PR-ревью, security-сканеры в пайплайне ловят часть до релиза. Пейпер, как я понял, смотрит на коммит.
4) Self selection: вайбкодинг чаще делают на greenfield/прототипах, в то время как руками - продакшнкод?!
В общем, цифру 9х надо читать как "грубый порядок", а не "точная мера". Но направление и порядок величины — думаю, вполне реальные.
Кто-нибудь, кстати, уже попробовал Claude Code Security? 😉
❤ 14
👍 10
🔥 4
👏 1
😁 1
3 104 5K
Обсуждение 3
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram