Написать пост

Может ли ChatGPT заменить бэкенд разработчиков

Аватарка пользователя August Vilakia

Рассуждаем, сможет ли нейросеть ChatGPT заменить бэкенд-разработчиков и как она используется в LeetCode, Stack Overflow и Spring Framework.

Меня зовут Август Вилакия и я разработчик бэкенда мобильного приложения Альфа-Банка (представьте оно еще живо, сам удивляюсь).

Когда 2 недели назад OpenAI выпустила в бету новую нейронную сеть, я сразу попытался зарегистрироваться, к сожалению оказалось это нельзя сделать из страны в которой я нахожусь (btw я в Узбекистане). Меня было так не остановить, я написал своему другу Данияру из Аргентины (кстати сегодня у него выхватили из рук телефон и убежали в Буэнос-Айресе, будьте осторожны там, а Данияру привет).

О чем статья?

30 ноября OpenAI зарелизили ChatGPT, которая является улучшенной версией GPT-3 и, возможно, дает нам представление о том, на что будет способна GPT-4, когда она будет выпущена в начале следующего года (о чем ходят слухи).

Ключевой особенностью ChatGPT является «память». В отличие от многих ИИ чат-ботов, ChatGPT запоминает детали разговора и может строить ответы, основываясь на информации, которую ему уже сообщил пользователь. Например, у ChatGPT можно спросить, что подарить маме на день рождения. Нейросеть предложит примеры, спросит о ее интересах и ответит на вопросы о каждом предложенном подарке. У бота можно переспрашивать, с чего начался диалог: он выдаст краткое саммари.

Чат-бот такого уровня поднимает много вопросов. Когда человек думает об искусственном интеллекте он скорее всего представляет Скайнет, Мир Дикого Запада или какие-то другие примеры AGI (Artificial general intelligence), ИИ который может работать с широким спектром задач. ChatGPT, самое близкое к этому из того что мы видели. Прежде чем я перейду к моему опыту, хочу поделиться самыми интересными тредами из Twitter, где люди рассказывают про свой опыт применения:

Человек написал юридическую претензию в Coinbase и ему дали вывести денежные средства с биржи

Сделали сайт только использовав код сгенерированный AI

Создает запросы в другие нейронные сети для генерации картинок и интерьера

Крупное издания The Economist сформировало список вопросов, когда вышел GPT-3, на которые искусcтвенный интеллект отвечает плохо, ChatGPT с ними справился

В этом треде, ChatGPT пишет код на Python, который может сделать саммари для эссе, а в этой статье при помощи ChatGPT пишется код анализирующий веденный текст и деплоит все это в AWS.

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

LeetCode и интервью

Очень интересная ситуация возникает вокруг LeetCode задачек. По этому поводу была противоречивая дискуссия и впервые дни все говорили о смерти алгоритмических онлайн собеседований.

Даже в этом случае с ChatGPT нужно уметь работать, чтобы получить правильный ответ. Популярные вопросы (очевидно почему) не создают нашему «Скайнет» проблем, но когда речь идет о вопросах, про которые в интернете не так много материала,, то здесь возникают проблемы. При тесте на десятке задач становится ясно, что решение часто выглядит правильным, но не учитывает корнер-кейсы, скорость самого алгоритма далека от оптимальной.

На примере выше GPT успешно решает абстрактную и перефразированную версию классической задачи из учебника MIT.

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

Может ли ChatGPT заменить бэкенд разработчиков 1

StackOverflow запретил использовать ИИ в ответах

Пару дней вышла новость, суть новости в том что StackOveflow запретил использование сгенерированных искусственным интеллектом ответов. Числа 3-4 я также попытался отвечать на вопросы используя ChatGPT ответил за 2 дня на 25 вопросов, из них вопросов 10 в итоге были отмечены как «Правильные» и за 2 удалось собрать 350-400 репутации, но все это аннулировали и мой аккаунт забанили.

Администраторы StackOverflow говорят что запрет временный и дальнейшее решение по этому поводу будет принято после консультации с сообществом. Запрет администраторы мотивируют тем что для пользователей становится слишком легко генерировать ответы, которые могут выглядеть правильно, но чаще всего сгенерированные ответы неверны.

Может ли ChatGPT заменить бэкенд разработчиков 2

ChatGPT и Spring Framework

Мой английский возможно не очень хорош (откровенно говоря русский тоже), так что прощу меня заранее простить за промты с грамматическими ошибками. Сперва настраиваю контекст для бота, чтобы наш диалог шел в рамках работы со Spring приложением, c первого же сообщения узнаю о том что у Spring есть CLI, где можно делать Spring Init. Я пойду стандартным путем и сделаю все через Spring Initializr.

Может ли ChatGPT заменить бэкенд разработчиков 3

Сперва нам нужно определиться с зависимостями, какие лучше использовать посмотрим что нам посоветует ChatGPT.

Может ли ChatGPT заменить бэкенд разработчиков 4

Говорит использовать spring-data-jpa, если нам нужно чтобы было легко. Ну не буду же я сам добавлять зависимости в проект, пусть сгенерит зависимости в помник для работы с Spring Data и H2 базой данных. И получаем в результате, необходимые зависимости для нашего pom.xml файла с объяснениями, а также application.properties. После того как мы все это добавили и запустили, у нас удается все запустить и подключиться к базе.

Что дальше?

Прошу его написать нам модель для юзера и Spring контроллер для выполнения CRUD операций с моделью. Появились определенные проблемы с зависимостями, но много за ним исправлять не пришлось, теперь хотелось бы это протестировать. Откровенно говоря я очень ленивый и попросил его написать мне curl запрос для теста.

Может ли ChatGPT заменить бэкенд разработчиков 5

Он частенько не дописывает код, так что его проходить просить повторно. Тут мы видим что он самовольно добавил UserRepository, также приходится просить его объяснить откуда он его взял. Он также вам покажет код и для него, параллельно объяснив что это и зачем нужно.

Вот как выглядит запрос, который я его попросил написать для тестирования функционалов курлом.

Может ли ChatGPT заменить бэкенд разработчиков 6

И все отлично работает, я пошел дальше и решил проверить что он мне скажет если я ему скину неправильный код, где вместо зависимостей в модели юзера будет javax вместо jakarta. Он с этим справился и сразу понял в чем проблема, прямо ответив мне на вопрос.

Может ли ChatGPT заменить бэкенд разработчиков 7

Иду дальше, Apach Kafka. Прошу его объяснить как мне ее установить, устанавливаю бинарники кафки и копирую данные им команды и ловлю какие то ошибки. Копирую и отправляю ему текст ошибок, но он уже все плывет и не понимает.

Пришлось помочь ему (погулилить самому), он сформировал запросы для кафки старой версии, а я как то проглядел (нечасто кафку запускаю).

Может ли ChatGPT заменить бэкенд разработчиков 8

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

Заменит ли такой ИИ разработчиков?

Нет, на самом деле слишком много шума и это скорее такая реклама услуг OpenAI, не зря Илон Маск пару дней назад говорил, что компания отошла от изначальной концепции некоммерческой организации и open-source.

Пару дней назад видел график на котором была статистика по компаниям и количеству публикаций научных статей относящихся к искусственному интеллекту (найти не смог), так вот на первом месте с отрывом там был Google (а OpenAI и в десятке не было) и больше мне страшно за их разработки, которые нацелены на успешное коммерческое применение.

А ChatGPT больше похоже на игрушку, используя которую можно узнать хорошую начальную базу по какой-то теме, но не более того. Очень удобно для применения в сферах, где вам не нужны глубокие знания для выполнения задачи.

Следите за новыми постами
Следите за новыми постами по любимым темам
18К открытий18К показов