Заменят ли ИИ разработчиков и почему? Если да, то на каких задачах?
Меня попросили ответить на вопросы из заголовка. Думал, будет абзац, но как обычно вышла простыня. Впрочем, мысли об ИИ были уже давно, и это отличный повод собрать их в статью.
Что ж, если коротко, то нет: ИИ, который у нас сегодня, не заменит программистов. Волноваться незачем, продолжайте работу. Если вы учитесь на программиста и испытываете тревогу, успокойтесь и продолжайте. Никакие чаты и боты программистам не угрожают. А также журналистам, учителям и вообще — любым профессионалам своего дела.
Да, про ИИ говорят и пишут из каждого утюга. Но важно знать, что информационная волна всегда сильнее повода, который ее вызвал. Изданиям нужен трафик, а люди склонны экстраполировать: если сегодня бот написал Тетрис, то через год он сделает Киберпанк. Увы, это не так.
Причина моего скепсиса в том, что все помощники и боты слабы в деталях. У меня есть колонка Яндекса, она прекрасно играет музыку и говорит погоду. Но ее крайне легко ввести в ступор. Например, играет песня, и я хочу послушать альбом, которому она принадлежит (пусть даже первый, если их несколько). Однако этой функции не предусмотрено: какую бы фразу я ни высказал — перейди к альбому, включи альбом, из какого это альбома, — Алиса не понимает. Хотя в мобильном приложении это одна кнопка “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 заберет часть работы у людей, не это не будет массово. Подобно тому, как фотография не заменила живопись, а телевидение — театр, боты не вытеснят ручной труд. Мир расширится, и в нем хватит места и тому, и другому.
В первую очередь изменения коснутся тех, кто пишет низкопробный текст. Например, любовные романы — на развалах их продают чемоданами, и я удивлен, почему до сих пор их не пишет программа. Вроде тех, что составляет судоку: вжух, и свежий номер готов. Сюда же относятся порно-рассказы, мусорные статьи о фитнесе, образе жизни и психологии — как правило, их пишут ради рекламы или просто чтобы на сайте был какой-то текст.
Однако те, кто гонят халтуру, прекрасно это понимают и при случае переходят на другую халтуру, пока что еще не автоматизированную.
Но вы же не гоните халтуру? Поэтому нечего волноваться! Наращивайте профессионализм, инвестируйсте в себя, а не в “интеллектуальных” помощников. Делайте то, что вам интересно, изучайте, дерзайте, и никакие боты вам не страшны.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
никита, 4th Apr 2023, link
а как докажешь что этот пост написал Иван, а не ChatGPT?
Роман, 4th Apr 2023, link
Вы не берёте в расчёт, что ChatGPT не создавался как «машина для программирования». Это ИИ общего назначения для болтовни в чате. И он как ни странно умеет программировать.
Когда я говорю «умеет программировать» то конечно не имею в виду профессиональное программирование. Но если проводить параллели, то это как взять случайного человека с улицы и попросить написать код.
Сколько людей смогут это сделать? А ChatGPT может.
Ну и посмотрите на прогресс в этой области. Copilot был глупой игрушкой. ChatGPT уже нет. А разница всего полгода. К концу года обещают следующую версию. Меня лично этот прогресс уже напрягает и ставить на ИТ сегодня я бы уже не стал.
Ivan Grishaev, 4th Apr 2023, link
Не знаю, да и нет такой задачи – что-то кому-то доказывать.
Ivan Grishaev, 4th Apr 2023, link
Роман, именно как болталка ChatGPT изумителен, тут вопросов нет. Не понял фразу “ставить на ИТ сегодня я бы уже не стал”. То есть не идти в программисты, опасаясь притеснений со стороны ИИ?
Роман, 4th Apr 2023, link
Болталка, которая умеет писать код почти на уровне джуна. Представьте завтра любой прохожий вам код выдаст просто по запросу. Не что-то «вау вау» но вполне рабочее. С дочерью тестили задания ЕГЭ по информатике - просто с первого захода рабочее решение.
Именно. Если по призванию, то без вопросов. А если срубить баблеца, то это тема уже сдувается - именно благодаря ИИ. Все эти говнокодеры для написания типового бойлерплейта отлетают вот прям сходу. Всякие верстальщики, дизайнеры и прочее. Весь нижний уровень (в плане опыта).
А это всё в итоге - давление на рынок. Просто так зайти в ИТ с минимальными знаниями уже не получится.
Самое неприятное, что эта планка будет только подниматься. Эту модель можно наращивать экстенсивно - тупо дообучать. Так что время работает на ИИ. Он не стареет и не устает.
Если что - я использую уже хоть и ограниченно. Иногда проще что-то простое этой штуке обьяснить, чем несколько итераций переговоров с удаленным индусом.
Ivan Grishaev, 4th Apr 2023, link
Соглашусь с тем, что идти в айти за баблом после 30 не стоит – уровень слишком высок, очень много желающих. Но это стало ясно и без ИИ: на каждую вакансию по 1000 отзывов.