Что ИИ делает с моей работой
Иногда я сажусь и думаю о том, как ИИ влияет на мою работу сейчас и как будет влиять в будущем. Я преподаю, руковожу небольшой командой и пишу код, и последняя часть пока изменилась сильнее всего. Я пока не поняла, плохо мне от этого или хорошо.
Что изменилось
Написание кода. ИИ уже сейчас пишет код гораздо быстрее людей (точно быстрее меня!) и при этом качественно. Единственное, что я по-прежнему предпочитаю делать сама, — это работа с git, потому что одна маленькая ошибка может стоить приличного куска проделанной работы. Даже передовые модели пока иногда выбирают неоптимальные решения: могут по ошибке отправить изменения не в ту ветку или выполнить какую-нибудь команду с --hard, чтобы «решить» проблему, а это обычно так себе идея.
Исследование и планирование. Если описать ИИ-агенту задачу в двух словах, он набросает вполне приличный план реализации и архитектуру модуля или приложения. План мне всё равно нужно прочитать и убедиться, что он соответствует моим представлениям о прекрасном: если не расписать задачу подробно, он использует стандартные решения, что обычно хорошо, но иногда мне нужно что-то нестандартное.
Исправление ошибок. Вот здесь агенты точно справляются лучше меня. Они умеют разбирать огромные логи и находить корень проблемы. Правда, напоминать им писать логи до сих пор приходится мне.
Тестирование. Моё самое слабое место. В рабочих проектах я предпочитаю сдавать код нашему тестировщику. Он тоже пользуется ИИ, но он знает, что делает (и что ИИ делает). В личных проектах я довольно сильно полагаюсь на ИИ. И на друзей, которые отлавливают косяки со стороны пользователя.
Общение с командой. Созвоны и очные встречи, на которых мы обсуждаем план, отдельные функции, проблемы и всё в таком духе. Здесь я использую ИИ только для расшифровки записей встреч (локально) и подготовки заметок для команды (пока в облаке, но мы как раз работаем над тем, чтобы добавить создание заметок в наше локальное приложение).
Вся ответственность за результат того, что мы наделали с помощью ИИ, по-прежнему лежит на нас. Разумеется.
Немного прогнозов (не относитесь к ним слишком серьёзно, это больше мои ощущения)
К концу 2027 года ИИ сможет от начала до конца выполнять четыре из пяти задач из списка выше (все, кроме общения с командой), и я уверена в этом на 95%.
5% оставляю на какие-нибудь непредвиденные препятствия, и это ещё щедро. Программирование по своей природе довольно логичное, и часто у задачи есть ровно одно лучшее решение, которое легко проверить. Понять потребности заказчика и выбрать лучшее решение для его конкретного случая, учитывая его будущие потребности, не так просто. Но если агент будет задавать вопросы и предлагать несколько вариантов на выбор, то можно.
Вообще уже сейчас ИИ-агенты способны выполнять все эти задачи, но обычно до получения результата надо пройти несколько этапов исправлений. И судя по тому, что я вижу, очень скоро ИИ будет в большинстве случаев выдавать лучший (или хотя бы достаточно хороший) результат с первой попытки.
За людьми остаётся ответственность: они ставят задачи и юридически отвечают за все риски. Общение с командой и моральная поддержка ещё какое-то время тоже останутся за людьми.
Я знаю, что некоторые обращаются к ИИ за эмоциональной поддержкой, но пока ни одна модель не способна дать её на человеческом уровне (на уровне человека, который искренне хочет помочь, действует в интересах того, кому помогает, и имеет хоть какую-то подготовку). Возможно, когда-нибудь это изменится, но тут уж прогнозов не дам.
Из доказательств у меня, главным образом, личный опыт: сначала я использовала ИИ-агентов, чтобы исправлять мелкие ошибки в коде, а потом, примерно за два года, они доросли до того, что пишут небольшие приложения почти с нуля и почти без ошибок (и ошибки сами исправляют быстро).
Но есть и пара внешних факторов:
- в ИИ для программирования вкладывают огромные деньги, что уже принесло плоды;
- вычислительные мощности тоже растут, что принесёт больше плодов, хотя здесь мы можем упереться в некоторые физические ограничения;
- опять же, задачи программирования, пожалуй, одни из самых простых для автоматизации;
- и, скорее всего, в отличие от других областей, здесь не будет нехватки данных, потому что качественные синтетические данные для программирования нагенерировать сравнительно легко (просто пишем больше хороших приложений и/или отчётов о тестировании — и всё).
Заключение
Я не очень понимаю, как ко всему этому относиться. С одной стороны, я несколько лет училась программировать, строить архитектуру приложений и всё такое. Часами таращилась в экран с какой-нибудь дурацкой ошибкой и думала, как дошла до жизни такой. Прошла через эйфорию и отчаяние, когда код наконец работает, а потом снова ломается. Тут появляется некая зависимость.
Я не жалею, о том, чему училась: никогда в моей жизни не встречалось мне бесполезных знаний — всё зачем-то пригождается, причём в самый неожиданный момент. Но какая-то часть меня всё равно задаётся вопросом, не стоило ли учится чему-то ещё.
С другой стороны, благодаря агентам я как раз могу заняться чем-то ещё. Я могу больше писать постов, пока они пишут код, а писать посты мне нравится больше. Могу больше учиться и учить. В этом году я с огромным удовольствием разработала собственный короткий курс по ИИ: с практическими заданиями, итоговым тестом и всем таким. На это тоже легко подсесть, потому что ты разговариваешь с людьми, у них загораются глаза, а потом они пробуют делать что-то на практике, и у них получается. И мне кажется, я в этот момент радуюсь больше них.
Есть у меня на себя и другие планы, и мне не терпится за них взяться. Так что, может, оставить программирование ИИ — не худшее решение в моей жизни.