Что мы делаем с помощью ChatGPT
В этом году мы с командой начали работать с ChatGPT — уточнять запросы, создавать регулярные выражения, паттерны проектирования и другие элементы кода. Как тимлид, я не только выстраиваю процессы, но и помогаю ребятам в команде решать трудные задачи и отвечать на вопросы. С Chat GPT усовершенствовали и этот процесс — часть базовых вопросов ребята теперь задают сразу нейросети.
Сейчас мы используем алгоритм для двух целей:
- Создать «каркас» сервиса и дальше самостоятельно доработать. С помощью ChatGPT создаем необходимые элементы кода для будущего сервиса и дорабатываем в зависимости от наполнения сайта. Например, получаем паттерны PHP, детально проверяем и работаем с ними дальше.
- Сэкономить время на рутинных задачах. Часто есть функции, которые не держишь постоянно в голове, но знаешь, что найдешь их при поиске по первой ссылке на Хабре. В таких случаях сразу обращаемся к нейросети и быстро получаем ответ, не выходя из мессенджера.
ChatGPT иногда помогает справляться и с более сложными задачами. Недавно клиенту нужен был алгоритм проверки сложного пароля — от 6 до 32 символов, разные регистры и спецсимволы. Команда клиента передала ТЗ и регулярку, но выяснилось, что регулярное выражение неполное. Решили попробовать с ChatGPT: скормили ему часть ТЗ, получили необходимое регулярное выражение, сразу ушедшее в продакшен. Это несложная часть кода, но было важно учесть все правила для проверки, и нейросеть с этим справилась без ошибок.
Важно сказать, что ответы нейросети все равно нужно проверять. Моя команда контролирует, какие функции предоставляет ChatGPT, подставляет необходимые переменные и данные, тестирует на продукте.
Ребята относятся к ИИ положительно, действительно экономят время на рутинных задачах и решают больше интересных. Думаю, когда полностью внедрим нейросети в рабочий процесс в разных командах, можно будет больше анализировать взаимодействие с ИИ и реакцию сотрудников.
Как мы начали работать с ChatGPT и какие планы дальше
Мы стали использовать нейросети только в 2023 году, на волне популярности. Это было довольно спонтанно: на брейнсторме при решении задачи кто-то из команды предложил узнать ответ у ChatGPT. Вышло быстро и просто, и мы стали использовать технологию в работе. Сейчас не могу сказать, что используем ее ежедневно, но достаточно часто.
Например, час назад попросил у нейросети написать регулярку для проверки email и Singlton–класс на PHP. Нравится, что нейросеть дает не голый код, а множество пояснений и уточнений, поэтому, если в промте недостаточно информации, ИИ укажет на это и предложит несколько вариантов решения.
В работе я использую только PHP, поэтому не могу точно сказать, как отличаются ответы ИИ в зависимости от языка программирования. Знаю, что в командах ребят на Python иногда удается сделать с помощью ChatGPT сразу большу́ю часть кода для продукта — возможно, по этому языку больше данных для обучения ИИ. Кроме разных языков программирования, обращаемся к нейросети, чтобы адаптировать код от одного фреймворка к другому. Здесь нужно сильно дорабатывать ответы — ChatGPT может создать необходимый «каркас», но для конечного результата нужно многое доработать самим.
На днях попробовал ИИ не для генерации кода, а для выявления ошибок: хочется по-разному использовать нейросеть и работать с ней еще с этой стороны. Отдал на проверку код, где заранее было сделано 4 ошибки, — в результате получил исправление 5 ошибок, 1 из которых ложная.
Указал нейросети на ошибку, получил исправленную версию. В целом такое решение жизнеспособно, но человек так бы не написал — очень громоздко, можно сделать проще. Значение ProductID изначально не может быть пустым, так как это признак продукта. Если так получается — возможно, кто-то поправил в базе, — то для кода это некритично, алгоритм можно упростить. Так что на данный момент ChatGPT может исправлять ошибки, делать это быстро и с качественными пояснениями, но нейросети все равно нужен человек для понимания продукта в целом и пожеланий клиента к деталям.
Мы используем нейросеть относительно недавно, и уже есть разные идеи, как сделать работу с ней более эффективной. Один из вариантов — искать ошибки в коде ребят из команды, так как это существенно быстрее, чем код-ревью от человека, но важно делать итоговую проверку с ментором или более опытным специалистом. У нейросети много преимуществ: скорость, удобство использования в Телеграме, подсказки и простота взаимодействия.
Знаю, что сейчас есть множество альтернатив ChatGPT, в том числе нейросети, которые обучаются на данных с Хабра и могут более точно генерировать некоторые продвинутые функции.
Мы еще не успели протестировать многие популярные нейросети для разработчиков и собрать информацию по эффективности их применения. Но то, что ИИ облегчает нашим разработчикам задачи и экономит время, — это точно. Пока что рано говорить о каких-то волшебных результатах и огромной экономии для клиентов за счет автоматизации процессов, но мы к этому идем.