Представьте стажёра, который пишет код с лицом гения, а скиллами — как после трёх бессонных ночей. Теперь добавьте к нему уверенность старшего разработчика и обёртку «новейшая нейросеть». Встречайте: современные ИИ‑ассистенты по программированию.

Статья Джейми Твисса в IEEE Spectrum («AI Coding Assistants Are Getting Worse») бьёт в осторожный набат: по мере обновления моделей их поведение становится всё опаснее не тем, что они «глупеют», а тем, как именно они ошибаются. Не громко и заметно, а тихо и утончённо.

Ранние версии ИИ‑ассистентов были наивны. Они честно путались, давали странные решения, и разработчик настораживался: «так, тут что‑то не то». Сейчас модели выдают гладкий, стилистически приличный код, который легко пролезает в репозиторий. Но внутри всё чаще прячутся:

  • логические ошибки на границах условий;
  • тонкие нарушения безопасности;
  • неочевидные проблемные кейсы, которые не ловятся простыми тестами.

Парадокс в том, что по мере «улучшения» моделей растёт их способность маскировать провалы под уверенный тон. Машина не просто ошибается — она делает это с харизмой сеньора.

Самое неприятное — эффект обратной связи. Чем больше команд без оглядки полагаются на ИИ и заливают сгенерированный код в прод, тем больше такого кода попадает в будущие датасеты. Нейросети начинают учиться на собственных же, уже размытых, решениях. Получается цифровой инбридинг: код всё красивее внешне и всё более вырожденный внутри.

Российская школа разработки при этом имеет редкое преимущество: сильная математика, традиции алгоритмики, мощное сообщество в кибербезопасности и привычка не верить ничему «на слово», будь то документация или ИИ. Там, где ИИ‑мода призывает «доверять модели», отечественный подход резонно шепчет: «доверяй, но проверяй и пиши тесты».

Что с этим делать? Относиться к ИИ‑ассистенту как к очень шустрым, но совершенно безответственным помощникам:

  • оставлять за человеком архитектуру и критические решения;
  • усиливать code review, особенно для сгенерированных фрагментов;
  • инвестировать в тестирование, статический анализ и безопасный стиль кодирования;
  • не позволять ИИ становиться единственным источником «правды» в кодовой базе.

ИИ‑помощники не исчезнут, да это и не нужно. Но жить с ними безопасно можно только при одном условии: пока они пишут код, настоящие разработчики не должны переставать думать.