ИИ смещает затраты в постановку задач, но ведет к росту ошибок в релизах

ИИ-код не снижает общий бюджет: затраты сдвигаются на этап анализа, а число багов и инцидентов при релизах растет.

Получается, что с помощью ИИ-кода затраты не уменьшились — они просто сместились по графику Ганта на более поздний участок. При этом, как показывает исследование, число ошибок при релизе продукта увеличилось на 28%, а количество инцидентов выросло на 242,7%. К тому же цена промаха или сбоя в продакшене во много раз выше, чем в производственном этапе: в зависимости от отрасли и критичности она может отличаться в десятки и даже сотни раз. И если код-ревью и тестирование действительно важны, то не менее значимым выглядит другой этап — анализ и постановка задач, вклад которых в стоимость зачастую еще существеннее. Именно на нем фактически закладывается удорожание и для ревью/тестов, и для последствий ошибок в продакшене.

Если смотреть на традиционный подход, написание кода начинается с понимания задачи: что нужно получить на выходе, в чем суть работы и какие есть ограничения. Но, как знает любой руководитель команды, часто происходит так: пока объясняешь постановку сотруднику, который «не понимает» или просит уточнить, сам начинает разбираться глубже. Примером служит хорошо знакомая фраза «пока объяснял — сам все понял». Похожих ситуаций, когда человек берется за код без понимания задачи, действительно почти не бывает. Другое дело — ИИ: возможность получить обратную связь в таком случае ограничена. Даже когда используется формула «задавай вопросы, пока не станет ясно», сам ИИ ориентирован на выполнение и ускорение результата. Поэтому снижается и потребность в уточнениях, и количество запросов «прояснить», если в логике агента это не требуется. В результате корректность и точность выполнения задачи агентом оказываются менее предсказуемыми — по сути, из-за принципа работы самого инструмента.

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

Если говорить о последствиях, качественная разработка с ИИ-агентами увеличивает не только загрузку, но и повышает требования к квалификации бизнес-аналитиков и архитекторов. При этом такие специалисты и так встречаются нечасто, а их человеко-часы стоят недешево, особенно в узких предметных областях. Постановку задач могут выполнять и senior-разработчики — их опыт помогает видеть узкие места и задавать ограничения. Однако итог все равно один: возрастает время, которое требуется от высокоуровневых и дорогих специалистов — как в начале цикла разработки, так и в конце. Да, экономия достигается на написании кода, но при этом кратно растут расходы на остальные стадии.

В этом году автор проводила эксперимент в рамках собственных курсов по машинному обучению и нейросетям: студентам разрешили пользоваться любыми ИИ-агентами, но поставили условие — объяснить, что именно они делали, как формулировали задачу и в чем заключалась сложность. На первых этапах уже видны результаты: если студенты не вчитываются в требования, не понимают их и не переносят собственные пояснения и комментарии в работу с любым агентом, результат получается крайне плохим. Ошибки оказываются настолько грубыми, что человеку-девелоперу практически нереально получить их в той же форме: в примерах фигурируют отрицательные значения расстояния перелетов на самолете, логарифмирование возраста или лет, а также показатели здоровья из серии «то, чего на белом свете отродясь не может быть». Естественный интеллект такие вещи не допустит и не пропустит «на автомате», а вот ИИ способен их генерировать и принимать. Речь при этом идет о простых задачах на данных, которые очевидны любому человеку. Что говорить о более сложных кейсах, где нужны специальные технические и медицинские знания или данные научных экспериментов...

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