Начало тут
0. Есть проект, там работает ~3 мейнтейнера-организатора, ~23 внешних коллаборатора с правами записи, ~40+ контрибуторов без прав записи.
Возникла простая вайбкодерская задача — написать бота, который делает ПР-ревью:
1. заходит в репо, делает клон
2. смотрит какие есть ПРы для ревью
3. запускает команду /review номер ПРа
4. публикует ревью в комментах
Ну допустим, что пока я этого бота не написал, я даже не знал, что на гите есть специальный формат ревью комментариев.
В чем тут фишка этих ревью?
А в том, что у ревью бота инструмент Write должен быть выключен по соображениям безопасности. И вообще запускать такого бота нужно в песочнице (Докер контейнере), где нет никаких ваших секретов, иначе бот быстро сольет все на промпт инжектинге. Писал об этом тут.
Бот с первого же дня начал адски косячить, я неделю правил его косяки но сегодня решил лично перепроверить и я был шокирован 🤯
Бот три раза ревьювил один и тот же уже смердженный ПР.
Как так получилось?
Дело в том, что ревью одного ПРа может занимать до 50 минут времени. И бот он находит эти ПРы не мгновенно, и действительно, пока бот поставит ПР в очередь и реально сделает ревью, ПР может быть уже смерджен.
Зачем он повторно ревьювил этот ПР если его об этом не просили — пока загадка.
Но, я попросил GPT-6.1-SOL low сделать мне анализ логов этого бота, и он написал мне целых 7 пунктов, любопытных косяков, из которых самый первый был:
1. Модель делает анализ, но вместо результата оставляет план и просит одобрение. 🤦♂️
И тут я задумался. А зачем я пишу этого бота с нуля, даже не попробовав найти уже готового?
Ну какие на это причины:
• Спешка — просто рвусь в бой, не хочу ничего изучать, хочу получить быстрые результаты.
• Лень что-то искать и признавать, что другие уже могли собрать все эти грабли за меня.
• Изучение чужого проекта тоже не мгновенно и иногда надо тратить недели, чтобы разобраться.
Но самое главное:
Мне постоянно кажется, что это маленький простой проект и сейчас ЛЛМ его быстро (и без косяков) напишет.
Так вот друзья, это не правда. Не напишет.
Есть реально разница между:
Промпт:
Создайте Nokia 3310 с пиксельным экраном, игрой Змейка, составлением SMS и визуализатором классического рингтона.И нормальным проектом за которые другие пользователи готовы платить деньги.
Так что, я настоятельно советую меньше писать своего кода и больше заниматься внедрением и адаптацией чужого кода. Код проектов, где несколько контрибуторов, как правило намного более высокого качества, чем у соло мэинтейнеров. Кроме этого, количество контрибуторов еще и косвенно говорит о востребованности проекта на рынке.