Я часто вижу в комментариях выражения типа «ИИ не заменит программиста, потому что ИИ выдаёт недетерминированный результат«. Но ведь и человек не выдаёт детерминированный результат. Много ли вы знаете людей, которые могут написать программу на тысячу с лишним строк, а затем повторить её байт в байт? Ладно, согласен — это возможно. Ну а на 10 тысяч?
Из опыта общения с ИИ могу сказать, что ИИ более детерминирован в своём поведении, чем многие люди, несмотря на свою вероятностную природу. Теория вероятностей плохо предсказывает результат бросания одной монеты — «орёл» или «решка», зато хорошо предсказывает, что на миллион бросков «орлов» будет не менее 400 тысяч, впрочем, как и «решек».
Для отдельного программиста результат работы ИИ-агента по генерации кода — это как один бросок монеты. Код может быть годный, а может и нет. Для ИТ-индустрии в целом такой вопрос даже не стоит — код годный. ИИ создают код не хуже, чем это делают «кожаные». Да, с кодирующими ИИ-агентами нужно общаться несколько по-другому, чем с программистами, но код они генерируют не хуже, а лучше. В целом лучше. Так что, если ваша работа заключается в переписывании спецификаций, написанных другими людьми, то можете считать, что вы уже безработный.
Свежий пример из личного опыта
Мне тут в панамку напихали минусов за вот этот коммент, но при этом справедливо заметили, что подход, «когда в код можно не заглядывать вообще«, применим далеко не всегда и далеко не везде. Полностью согласен с коллегами — есть области программописания, где без человеческого контроля пока что никак не обойтись. Та же железная дорога, например.
С другой стороны, возможность не читать генерируемый агентами код открывает новые направления в разработке программ. Эта возможность убирает программиста, как дополнительную прослойку между потребителем и продуктом. Меня там же, в комментах, немного побуцкали за идею, что «самым надёжным способом проверки работоспособности продукта является конечный пользователь«. Тем не менее, я уже при помощи агентов сгенерировал не один десяток программ, которыми никто, кроме меня, не пользуется и пользоваться не будет. «Одноразовые программы» и «программы для друзей» — вот ниша, которую создали агенты и где программисты нужны не для написания кода (для чего — это отдельный разговор).
В качестве примера могу привести своё приложение «Mindstream» (реклама!), про которое я писал ранее здесь же, на Хабре. Это веб-приложение с БД на PostgreSQL, полностью сгенерированное codex-агентом в феврале этого года. Я его создавал чисто из любопытства — могут ли агенты создавать сами клиент-серверные приложения без «руководящей роли» разработчика. У агента была полная свобода в самовыражении (вплоть до генерации схемы данных в БД), правда в установленных мной рамках. Так, например, я указал, что на бэке должна использоваться моя библиотека для позднего связывания @teqfw/di (реклама!). Кстати, ИИ-агенту всё равно, насколько популярна или нет та или иная библиотека — вы можете скармливать ему любую «дичь». Тем не менее, некоторые библиотеки, платформы и ЯП более «дружелюбны» к агентскому кодированию, некоторые — нет. Моя — дружелюбна.
Так вот, приложение было создано в рамках проверки методологии ADSM (реклама!) и я, как разработчик, старался минимально вмешиваться в процесс генерации кода агентом («не смотрел в код»). Зато я очень плотно выступил в роли «владельца продукта» — те вещи, что я обычно сразу прописывал в коде, пришлось формулировать в контекстной документации, чтобы агент знал, что ему надо делать. Документацию я также генерировал с помощью агента — рассказывал ему, что я хочу, а он пытался мои «хотелки» утрамбовать так, чтобы они не противоречили друг другу. В общем, был хороший такой дружеский диалог. Изначально документация была на русском, но сейчас документация тоже переведена на английский — агенту так проще.
Я время от времени сам пользовался своим приложением — когда нужно было ознакомиться по-быстрому с публикациями. Ведь этот инструмент именно для этого и делался — для определения того, насколько та или иная публикация Хабра соответствует интересам конкретного читателя. Я давно уже хотел прикрутить к нему «цветовую дифференциацию штанов» — чтобы публикации, близкие к моему «вектору интересов» помечались другим цветом. Вот вчера руки и дошли.
Я попросил codex-агента для начала проанализировать контекстную документацию — насколько структура документации отстала от моего текущего видения (есть у меня свой скилл для этого, ссылку не даю, т.к. он ещё «сырой»). Затем попросил агента реструктурировать документацию без потери семантики — для него это плёвое дело. Затем попросил агента использовать другой мой скилл (тоже «сырой» пока) и привести исходники в соответствие с моим стилем кодирования (coding conventions). Это он тоже сделал без напряга. А потом я попросил обновить npm-зависимости и тут проект перестал работать. Оказалось, что сам проект был замкнут на устаревшую версию моей библиотеки @teqfw/di, которую я писал вручную и которую затем полностью переписал агентом. Пришлось давать агенту команду на изменение всех исходников (и тестов!) и приведение их к новому формату объявления зависимостей. И только после этого я смог приступить к добавлению «цветовой дифференциации штанов» в приложение.
К чему я это всё так подробно описываю? К тому, что на всё это у меня ушёл весь пятичасовой лимит подписки OpenAI Plus. Вот на эту всю работу — пятичасовой лимит и меньше 10% от недельного лимита. Я где-то минут за 40 съел лимит пяти часов, но посмотрите, какой объём работы сделал агент! Без потери работоспособности приложения в целом.
Для продолжения работы я переключился на opencode и DeepSeek V4 Flash. Где-то ещё минут за 10-15 (и 5 центов) мы с ним довели мои «хотелки» до реального работоспособного состояния и выкатились «в прод». На том же самом коде и спецификациях, что делались Codex’ом и для Codex’а. Агентам, в отличие от «кожаных», всё равно, «что за дятел писал этот код» до них.
За всё это время я заглянул в код один раз — чтобы убедиться, что исходники были замкнуты на устаревшую версию @teqfw/di.
Мораль? А какая тут мораль… У каждого свой опыт, свои обстоятельства. Лично я в код заглядываю всё реже. Но это касается только приложений.
ссылка на оригинал статьи https://habr.com/ru/articles/1049868/