🔥 Я был уверен, что неплохо контролирую код, который пишут мои агенты. А потом прогнал два своих проекта через независимый аудит и немного охренел.
За последние месяцы я довольно сильно обвязал свою вайб-разработку: спецификации, тесты, acceptance gates, отдельные агенты для проверки, архитектурные правила, линтеры. В общем, сделал примерно всё, что обычно советую другим, чтобы агент не мог просто навайбкодить что-нибудь прекрасное и отправить это в production.
А потом взял два своих не самых больших проекта и прогнал их через агентов в AntiGravity.
В обоих нашлись God-файлы по несколько тысяч строк. Нашлись вопросы к безопасности: CORS, rate limiting и другие неприятности. Вылезли проблемы с инфраструктурой и observability. И самое прекрасное — всё это уже прошло мои проверки, лежало в Git, уехало в production и даже вполне себе работало.
Первая реакция была предсказуемой: какого хрена, у меня же для этого есть гейты?
А потом я понял, что проблема вообще не в AI. С живыми командами происходит ровно то же самое. Можно иметь coding standards, code review, линтеры и архитектурные правила, но потом где-то срочно добавили костыль, где-то проще было дописать ещё сто строк в существующий файл, а через полгода никто уже не понимает, откуда взялся монстр на 4000 строк.
На вчерашнем митапе по AI Security Engineering как раз обсуждали похожую мысль: как бы хорошо ни была построена защита на входе, рассчитывать, что в кодовую базу никогда не попадёт мусор, довольно наивно.
Поэтому я меняю собственный процесс разработки.
Раньше он примерно заканчивался здесь:
spec → implementation → tests → gates → production
Теперь после production появляется ещё один постоянный цикл:
audit → refactoring → verification
Не потому, что агенты пишут плохой код. А потому, что любая кодовая база постепенно накапливает компромиссы, и контролировать нужно не только то, что мы в неё добавляем, но и то, во что она со временем превращается.
Завтра покажу, какие конкретно правила я теперь отдаю агентам на таком аудите. Там уже никакого «посмотри код и сделай красиво» 😁
