
Разработчики всё чаще подключают ИИ к задачам — от обработки данных до генерации тестов. На первом просмотре такой код выглядит аккуратно и логично. Но при рабочей нагрузке в нём часто вскрываются ошибки, которые модель не учла.
Расскажем, почему код от ИИ выглядит корректным даже при логических пробелах, что такое LLM‑интеллект, как ИИ‑грамотность связана с переоценкой качества кода и какие инженерные практики помогают выстроить работу с моделью.
Материал подготовлен на основе экспертной колонки старшего вице‑президента Сбера, руководителя блока «Технологий» Кирилла Меньшова, опубликованной в Ferra.
Почему код от ИИ выглядит корректным, даже когда в нём есть ошибка
Сценарий знаком многим командам. Разработчик просит ИИ‑ассистента помочь с обработкой данных в заданном формате. Модель за секунды выдаёт решение — 30 аккуратных строк кода с обработкой ошибок и ясной структурой. Код уходит на проверку, и коллеги принимают его без замечаний.
Через неделю приходит отчёт об ошибке. Система падает на сложном сценарии, который не попал в логику решения. Например, модель не учитывает вложенные структуры данных. Синтаксис остаётся корректным, стиль — аккуратным, но логика оказывается неполной.
Исследования показывают: с генеративным ИИ производительность разработчиков растёт на 15–20%, но качество своих решений они переоценивают на 25–30%. ИИ ускоряет работу, но не делает проверку внимательнее. Вместо готового решения человек получает прототип, который не выдерживает рабочую нагрузку.
Особый риск в том, что разработчики, подробно знакомые с устройством ИИ‑ассистентов, склонны переоценивать такой код чаще других. Именно в этих случаях затем проявляются логические ошибки, которые раньше оставались незаметными.
Понимание архитектуры нейросети не помогает предсказать её ошибки. Зато оно легко создаёт иллюзию полного контроля. Большие языковые модели — LLM — часто воспринимают как обычный инструмент разработки: компилятор, линтер или статический анализатор. Но LLM — это вероятностный генератор паттернов, а не система, которая понимает смысл кода.
Такая модель не знает контекст конкретной архитектуры и не различает ситуацию «код запускается» и ситуацию «код работает правильно». Поэтому для работы с ней нужен отдельный навык — LLM‑интеллект.
Что называют LLM‑интеллектом
LLM‑интеллект — это способность разработчика эффективно взаимодействовать с языковыми моделями за счёт понимания их когнитивной архитектуры, метакогнитивного контроля над генерацией и адаптивной настройки запросов к модели. Он включает в себя:
понимание задачи, требований, пограничных случаев и критериев качества;
карту сильных и слабых сторон модели, которая формируется только через опыт;
понимание того, как строить диалог с моделью: когда использовать цепочку рассуждений, когда давать примеры, а когда достаточно попросить улучшить код.
Когда опытный разработчик работает с джуном, он постепенно понимает, что тому нужно объяснять подробнее, где тот ошибётся и как воспримет обратную связь. В психологии это называют теорией разума — способностью моделировать чужие когнитивные процессы. Тот же принцип применим и к ИИ, но с важной поправкой.
GPT не понимает код по‑человечески, но у него есть предсказуемая когнитивная архитектура. Его «мышление» опирается на частоту паттернов в обучающих данных, а не на корректность алгоритма. Поэтому модель уверенно генерирует шаблонный код, но хуже справляется с нетривиальной бизнес‑логикой, малоизвестными библиотеками и задачами, где нужно не только написать модульный тест, но и понять, что именно стоит тестировать в конкретной системе.
Почему ИИ‑грамотность не гарантирует точную самооценку
Знание того, как работают attention и RLHF, ещё не означает умения работать с ИИ в разработке. Даже чтение статьи Attention is All You Need не заменяет практику. Механизм attention помогает модели учитывать связи внутри последовательности, а RLHF настраивает ответы через обучение с подкреплением на основе человеческой обратной связи. Но техническое знание об ИИ и навык работы с ним — разные компетенции.
Исследования показывают метакогнитивный разрыв: высокая ИИ‑грамотность связана и с большей уверенностью, и с большей ошибкой в самооценке. Те, кто знает теорию, чаще пропускают этап критического анализа и принимают сгенерированный код за корректный.
Эксперименты показывают и другое: ИИ сглаживает эффект Даннинга‑Крюгера. Джуниоры и сеньоры одинаково переоценивают качество сгенерированного кода — на 25–30%. Модель выравнивает производительность, но одновременно создаёт иллюзию корректности.
Когда человек компетентнее ИИ, связка даёт синергию: разработчик задаёт архитектуру и проверяет логику, а модель ускоряет реализацию. Когда ИИ сильнее человека в узкой области, эффект становится обратным: разработчик начинает «улучшать» код, добавляет лишние проверки или переписывает решение в менее удачном стиле. Поэтому роль инженера здесь не сводится к управлению промптами.
Какие практики помогают развивать LLM‑интеллект
Можно выделить шесть инженерных практик, которые помогают развивать LLM‑интеллект:
Рассматривать ИИ как джуна, а не как компилятор: задавать спецификации, передавать контекст и пограничные случаи, затем проводить проверку кода.
Сначала описывать интерфейсы и типы, а потом переходить к генерации кода.
Калибровать доверие к модели и обновлять представление о её сильных и слабых сторонах после каждого инцидента.
Запрашивать объяснение сложных решений, чтобы лучше понимать логику ответа модели.
Проводить слепую проверку кода перед коммитом, не опираясь на исходный запрос.
Не передавать модели архитектурные решения и оставлять за человеком топологию системы, базы данных и кэширование.
Что это меняет для разработки
В ближайшие 5–10 лет разработка с поддержкой ИИ станет стандартом — так же, как уже стали стандартом среды разработки с автодополнением, статические анализаторы и процессы CI/CD, то есть непрерывной интеграции и доставки кода. Но разницу между обычным использованием модели и осмысленной работой с ней определит не сам факт применения ИИ, а качество взаимодействия с ним.
LLM‑интеллект в этой логике — не знание трансформерных архитектур само по себе, а умение строить для ИИ теорию разума, держать под контролем собственную уверенность, подбирать способ взаимодействия с моделью и вовремя корректировать уровень доверия к её ответам. Такой навык появляется не из чтения научных работ, а из практики, разбора того, что сработало, систематизации удачных паттернов и постоянного обновления собственной ментальной модели ИИ.
