
В индустрии принято оценивать эффективность программиста по скорости написания кода или количеству закрытых тикетов. С появлением ИИ-агентов эти метрики выросли, но возникла проблема: код пишется, а понимание системы у разработчиков падает. В этой статье разберем, как концепция Питера Наура «программирование как построение теории» объясняет скрытые риски использования LLM в разработке.
Код — только верхушка айсберга
В 1985 году Питер Наур опубликовал работу, где утверждал, что программирование — это не процесс создания текста, а процесс формирования теории в голове человека. Это ментальная модель, которая включает:
• Понимание того, как части системы связаны между собой.
• Знание причин, по которым были выбраны конкретные решения и почему были отвергнуты другие.
• Способность предсказать, как изменение в одном модуле отразится на всей системе.
Согласно Науру, если команда разработчиков уходит из проекта, теория умирает. Код остается, но он становится мертвым: новые люди могут его читать, но они не обладают той же теорией, поэтому их правки будут постепенно разрушать архитектурную целостность.
ИИ-агенты и разрыв ментальной модели
Современные ИИ-агенты работают по принципу статистического предсказания следующего токена. Они не строят теорию. Когда разработчик делегирует написание функции или исправление бага агенту, он пропускает этап построения теории.
Как это работает?
1) Разработчик описывает задачу
2) Агент выдает кусок кода, который проходит тесты.
3) Разработчик делает быстрый ревью и мержит код.
Но в голове разработчика не возникло понимания, почему этот код работает именно так. Процесс борьбы с кодом, который обычно заставляет вникать в детали реализации, исчезает. В итоге кодовая база растет, а ментальная модель программиста остается на прежнем уровне или вовсе деградирует.

Ограничения и риски автоматизации
Использование ИИ-агентов создает эффект заимствованного понимания. Это работает до первой серьезной проблемы, которую агент не может решить. Агенты часто предлагают решения, которые локально верны, но глобально противоречат архитектуре проекта. Без глубокой теории в голове разработчик не заметит, снаружи все вроде будет работать, но внутри в одной части кода башни строятся одним способом, в другой совсем иначе.
Найти ошибку в коде, который вы написали сами, проще, потому что вы помните ход своих мыслей. Отладка сгенерированного кода требует сначала восстановить чужую логику, что часто занимает больше времени, чем написание с нуля. Высокая скорость закрытия задач создает ложное ощущение контроля над системой. Сам же разработчик становится зависимым от инструмента, не понимая основ.
Когда ИИ-агенты действительно полезны
Проблема не в самих инструментах, а в способе их применения. ИИ оправдан там, где построение теории минимально:
• Написание простых DTO, мапперов или базовых CRUD-операций, где логика очевидна.
• Написание тестов, особенно если нужно покрыть краевые случаи в уже понятном коде.
• Когда нужно быстро вспомнить, как работает конкретный метод библиотеки.
Микро-анализ: компромисс между скоростью и знанием
Бизнесу выгодно получать фичи быстрее. Но технический долг, возникающий из-за непонимания системы, проявится позже при масштабировании или смене команды.
Разработчикам приходится либо рисковать потерей контроля над проектом через полгода-год, используя ИИ 'бездумно', либо использовать ИИ как помощника, перепроверяя каждое решение и тратя время на впитывание сгенерированного кода в свою ментальную модель. Второй путь медленнее, но он сохраняет ту самую теорию программы.
Практический итог
Программирование — это в первую очередь когнитивная деятельность, и если инструмент лишает вас необходимости думать и анализировать структуру, он лишает вас понимания продукта. Использовать агентов стоит для ускорения рутины, но критические части логики и архитектурные стыки лучше прорабатывать вручную.
Если вам интересна тема AI-агентов и нейросетей, заглядывайте в мой Telegram-канал "ДругОпенсурса". Там я публикую свежие новости и разборы инструментов в числе первых.
Комментарии (3)

Antoshink
08.04.2026 15:56Попробовал я эти ваши ии.
Агенты генерируют слишком сложный код.
Если код ответственный, просто так *уяк промтик и впродакшен, не прокатит. В случае ошибок, которые как всегда тесты не отлавливают, бизнес может влететь на десятки миллионов. Поэтому сгенерированный код, нужно пропускать через себя, что с ии занимает чуть ли не больше времени, чем просто взять и написать самому.
3. ИИ не годен для сложной бизнес логики, когда нужно работать с большим потоком данных или с базой данных. Точнее он может выдать рабочий код, но промтирование этого всего займет больше времени, чем старое доброе кодирование руками.
4. ИИ совсем не годен для проектов с историей, где куча зависимостей, самописных функций и. т.д.
5. ИИ супер полезный, если ты просто не знаешь, как реализовать какую то фичу или плохо знаешь SDK. В этом сценарии ии это бог помощи. Он поможет сделать даже те алгоритмы, которые просто так не нагуглишь.
6. Агентов можно использовать, если это проект с нуля, в НЕ критичных участках проекта(например интеграция по api) и если цена ошибки не приводит к потерям в миллионы в час.

exsoko
08.04.2026 15:56Код, который только в голове у программистов - это неотделяемый код. Это большая проблема для любого проекта. Естественно, что такой проект начинает деградировать, если программист, которые его делал уходит.
Для того, чтобы код отделялся от программиста есть документация. Именно там описывается архитектура, логика все остальное, что не необходимо.
ИИ агенты отлично понимают документацию, также хорошо её создают. ИИ агента нужно снабжать нужным контекстом для работы с тем куском кода, с которым он сейчас работает. И никакой деградации происходить не будет.
netricks
Идея хороша, материал отражает проблему, но выводы - хрень полная.
От использования ии-агентов ментальная карта проекта никуда не девается. Хороший результат получается тогда, когда ментальная карта хороша, потому что так вы можете чётко направлять агента. В тоже время агент вам позволяет проверить с десяток гипотез за один день.
В тоже время понимание незнакомого кода с помощью глаз агента ускоряет воссоздание такой карты из незнакомого кода. Как это работает: вы задаёте вопросы, агент ищет на них ответы. Времени тратиться в десятки раз меньше, чем ежели вы будете смотреть его глазами.
Программировать надо уметь, а не только код писать, и тогда агент перестаёт быть проблемой