Публикую наш протокол AI-разработки. Как мы разрешаем ИИ писать код, который трогает деньги
Ранее я рассказывал про спор со знакомым разработчиком: кто отвечает за дефект, который написал ИИ. Обещал показать наш протокол — выкладываю, файл ниже.
Этот протокол я не вычитал в умной книжке. Он собран эмпирическим путём — на наших проектах и проектах клиентов. Каждое правило в нём — грабли, на которые мы уже наступали. Одно решение мы навайбкодили за месяц, а потом полгода вайб-дебажили. Чтобы такого не было - внедряем протокол, документ живой, поэтому дописывается после серьезных инцидентов + получения нового опыта.
Как теперь начинается любая разработка через ИИ. Простыми словами:
- Взвешиваем задачу. Мелкая правка, обычная задача или опасная зона — всё, что касается денег, доступов и данных. Чем тяжелее задача, тем больше обязательных этапов. Сомневаешься — бери тяжелее.
- Сначала описание, потом код. ИИ сперва изучает проект, дальше подробно расписываем: что делаем, зачем, как должно работать, что может пойти не так и что считается «готово». Отдельно смотрим — не ломает ли задумка то, что уже работает. Ломает — сначала меняем план, и только потом пишем код.
- Рабочую систему не трогаем. Всё пишется в отдельной копии. Бизнес работает, что бы ИИ там ни натворил.
- Проверяет другой ИИ. Не тот, что писал код, — отдельный, незамыленный. Главное правило: «здесь может быть проблема» не принимается. Нашёл — докажи: воспроизведи и покажи, где именно. Страшилки отделяются от подтверждённых проблем. Мой рекорд — сутки и 474 агента на один проект: 12 критических ошибок и около 30 мелких.
- Решает человек. По каждой подтверждённой проблеме разработчик фиксирует: исправил — и что именно, или осознанно оставил — и почему риск приемлем. Молча проигнорировать нельзя.
- Опасные изменения — с паузой. Сначала прогон на тестовой площадке, потом сутки ожидания перед запуском. А через пару дней после запуска смотрим: живёт ли всё в бою.
И поверх всего — автоматический контролёр: пока обязательные шаги не закрыты, изменение физически не попадает в работу. По-другому просто не пройдёт.
Зачем это всё. Вопрос «можно ли доверять коду ИИ» — неправильный. Мы и человеческому коду не «доверяем» по умолчанию. Правильный вопрос: какой путь должен пройти код — чей угодно — прежде чем ему можно доверить деньги и клиентов. Протокол выполнен честно, а ошибка всё равно прошла — риск компании. Шаг пропущен или сделан для галочки — зона разработчика.
Файл протокола можно скачать ниже. Берите как каркас и адаптируйте под себя: внутренние инструменты у вас будут свои, а сами шаги — универсальные.
Спасибо, что дочитали 🙏