Меня попросили ответить на вопросы из заголовка. Думал, будет абзац, но как обычно вышла простыня. Впрочем, мысли об ИИ были уже давно, и это отличный повод собрать их в статью.

Что ж, если коротко, то нет: ИИ, который у нас сегодня, не заменит программистов. Волноваться незачем, продолжайте работу. Если вы учитесь на программиста и испытываете тревогу, успокойтесь и продолжайте. Никакие чаты и боты программистам не угрожают. А также журналистам, учителям и вообще — любым профессионалам своего дела.

Да, про ИИ говорят и пишут из каждого утюга. Но важно знать, что информационная волна всегда сильнее повода, который ее вызвал. Изданиям нужен трафик, а люди склонны экстраполировать: если сегодня бот написал Тетрис, то через год он сделает Киберпанк. Увы, это не так.

Причина моего скепсиса в том, что все помощники и боты слабы в деталях. У меня есть колонка Яндекса, она прекрасно играет музыку и говорит погоду. Но ее крайне легко ввести в ступор. Например, играет песня, и я хочу послушать альбом, которому она принадлежит (пусть даже первый, если их несколько). Однако этой функции не предусмотрено: какую бы фразу я ни высказал — перейди к альбому, включи альбом, из какого это альбома, — Алиса не понимает. Хотя в мобильном приложении это одна кнопка “show album”.

Похожее творится с чатами банков: Олегом, Салютом, Модуль-банком. Спрашиваешь про перевод денег с определенными — и очень важными — условиями. Бот выделяет ключевые слова (“тариф”, “перевод”, “сроки”) и кидает ссылку, где указана минимальная публичная информация. Словно я не посмотрел там, перед тем как спрашивать.

В айти-индустрии уже не раз заявляли о том, что программистов вот-вот что-то заменит. Примером служит проект Copilot. Говорилось, что он будет писать код за вас, а программист только руководит процессом. Теперь когда Copilot ушел из повестки, видно, что этих целей он не достиг. Отзывы о нем смешанные: общая тональность такова, что он скорее помогает, но за ним нужно проверять. По моим наблюдением, программист с Copilot не имеет преимуществ перед коллегой без Copilot.

Популярный сегодня Chat GPT следует понимать как продвинутый Гугл. Если раньше мы вводили запрос, а потом переходили к странице, то сейчас этот шаг упразднен: ответ появляется в том же окне. Это важно, потому что, отпустив пользователя, Гугл теряет его (даже с учетом кук, браузера и аналитики). В случае с Chat GPT пользователь остается на одном сайте и выдает больше информации: род деятельности, интересы, сексуальные предпочтения, семейные и профессиональные тайны.

Мы много слышали, что Chat GPT решает задачи на программирование. Обыватель считает, что если Chat GPT выдал какой-то код, то задача решена: запустил его и радуешься. Это совершенно не так. Кто работает с кодом, знает, что нельзя встроить чужой код в программу без обработки. Это как пойти в магазин и купить кусок стены, идеально вырезанный под нужный контур и с поклеенными обоями. Так не бывает.

Предоложим, вы попросили бота написать HTTP-запрос с чтением JSON. Скорее всего, это будет популярный ответ со StackOverflow или из README.md какой-то библиотеки. Уверен, он даже будет работать. Проблема в том, что в каждом проекте с HTTP работают по-разному. Это могут быть разные библиотеки: асинхронные и блокирующие; по-разному обрабатывают ошибки; некоторым HTTP-клиентам нужно состояние, например, пул соединений. Бот ничего не знает об этих вещах, а попытка объяснить ему займет больше времени, чем сделать самому.

Кроме того, если проект более-менее серьезный, в нем будут линтеры, тесты и прочие санитарные нормы. Как вы объясните боту, что код не проходит линтер из-за неправильных отступов или переменных? Сможет ли бот написать тест с локальным HTTP-сервером и добиться, чтобы он проходили на CI? Мне это кажется маловероятным.

Каждый, кто пользовался Chat GPT, знаком с явлением “дрифт”. Это когда бот “поплыл”, то есть забыл постановку задачи и стал сочинять. Причина в том, что контекст бота ограничен, при этом контекст работает по принципу “первым пришло — первым ушло”, то есть старые данные забываются. А это, между прочим, главная черта разработчика — понимать и помнить кодовую базу. Насколько я знаю, нельзя скормить боту большой проект и на базе этого что-то улучшить. Пока что Chat GPT работает ситуативно.

Допускаю, что в будущем в Chat GPT можно будет арендовать часть инфраструктуры, обученную конкретно под вас. Но и к этой модели много вопросов. OpenAI — американская частная фирма, ее код закрыт. Тут и санкции, и вопрос доверия, и этика — хочешь ли ты, чтобы твой проект использовали для обучения чего-то другого.

Чего точно не сможет сделать ИИ, так это сменить повестку в команде. Предположим, вы скормили боту проект и он отвечает релевантно. Проблема в том, что бот считает входные данные нормой и отталкивается от них. Поэтому, если ваша ORM производит сотни лишних запросов, решения бота будут страдать тем же. Если нет тестов — их и не будет. Если нет линтеров, бот повторит ошибки, накопленные предыдущими программистами. Из мусора можно получить только мусор. В то время как на практике у этой проблемы простое решение — пригласить программиста со стороны со свежим взглядом.

Обязательно случится так, что какой-нибудь джуниор не найдет работу, потому что босс зарегистрировался в Chat GPT. Будут твиты, посты на Хакер-Ньюз и прочих площадках. Как сказано в начале статьи, люди обожают экстраполировать — писать комментарии о том, что еще вот-вот и… Но жизнь будет идти своим чередом: тысячи программистов устроятся на работу и построят карьеру.

В программировании важна точность. Линтеры, CI, анализаторы и прочие утилиты хороши тем, что они точны. Запустите их с интервалом в год, и результат не изменится. А ручаться за чат-бота не может никто. Это ненадежно: помощник, который не ошибается почти никогда похож на партнера, который честен почти всегда. В таких категориях важна полнота: либо да, либо нет. Но это вопрос личных предпочтений.

Конечно, Chat GPT заберет часть работы у людей, не это не будет массово. Подобно тому, как фотография не заменила живопись, а телевидение — театр, боты не вытеснят ручной труд. Мир расширится, и в нем хватит места и тому, и другому.

В первую очередь изменения коснутся тех, кто пишет низкопробный текст. Например, любовные романы — на развалах их продают чемоданами, и я удивлен, почему до сих пор их не пишет программа. Вроде тех, что составляет судоку: вжух, и свежий номер готов. Сюда же относятся порно-рассказы, мусорные статьи о фитнесе, образе жизни и психологии — как правило, их пишут ради рекламы или просто чтобы на сайте был какой-то текст.

Однако те, кто гонят халтуру, прекрасно это понимают и при случае переходят на другую халтуру, пока что еще не автоматизированную.

Но вы же не гоните халтуру? Поэтому нечего волноваться! Наращивайте профессионализм, инвестируйсте в себя, а не в “интеллектуальных” помощников. Делайте то, что вам интересно, изучайте, дерзайте, и никакие боты вам не страшны.