Всем привет! Меня зовут Марк Коваль, я iOS-разработчик в AGIMA. Хайп вокруг чата GPT постепенно стихает, но внятного ответа, как он изменит нашу жизнь, по-прежнему нет. Все привыкают к тому, что технологии AI ворвались в нашу реальность и что-то с ней сделали, но что — никто не понимает. Может быть, через 10 лет половины IT-профессий уже просто не будет, а может быть, нейросети станут нашими верными помощниками. В этой статье я попробую разложить, как подружить бизнес, чат GPT и разработку.

Дисклеймер

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

Какие профессии под угрозой из-за GPT

Факт, подтвержденный цифрами: количество разработчиков растет из года в год. Вот график, который это подтверждает:

https://inclient.ru/outflow-it-specialists/#skolko-ajtisnikov-v-rossii

Сможет ли GPT остановить этот процесс, пока неясно. Но есть плюс-минус объективные предпосылки к тому, что технологии AI смогут сносно писать код и заменить программистов как минимум в рутинных задачах.

Есть и другие профессии в диджитал, с которыми GPT может успешно конкурировать. Я составил список сфер, в которых нейросети уже сейчас играют большую роль.

1. Разработка

Уже сейчас благодаря GPT разработчики могут генерировать код, создающий привлекательный пользовательский интерфейс в мобильных приложениях. Посмотрим, что предложит GPT, получив простой запрос в качестве входных данных.

Выглядит неплохо. И написал он это за несколько секунд. Однако возникает вопрос: как GPT отреагирует, если в запрос добавить немного «реальности»?

В этом случае мы не получили готового кода. Но мы всегда можем ясно указывать GPT, какого результата ждем исходя из особенностей выбранного языка программирования.

Пока GPT выглядит как полезный партнер для разработчика, но не «волшебная таблетка» для решения бизнес-задач.

2. Копирайтеры

GPT отлично генерирует текст. Можно предположить, что в простых задачах он сможет заменить копирайтеров. Достаточно одного точного запроса.

Всего несколько секунд, и у нас готовый рекламный текст. Да, он требует редактуры, но базовую работу автора GPT вроде как выполнил.

Правда, есть нюансы. Я посетил «Кибер клуб» — там нет возможности играть по сети. В клубе есть только PlayStation 4 без VR-системы, и там работает только один администратор. Он поделился, что они не проводят турниры, но вы можете поиграть с друзьями по очереди.

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

GPT — отличный помощник в написании текстов, но пока он не может создать правильный рекламный текст для привлечения новых клиентов.

3. Техническая поддержка

Теперь протестируем GPT в роли специалиста технической поддержки.

Это хорошие базовые советы по «ремонту» интернета. При этом интересен пятый пункт. Я позвонил в службу поддержки, там мне ответил робот. Он вежливо сообщил, что передает мой вопрос специалисту.

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

Вступаю в неравный бой с GPT

Со способностями GPT мы разобрались. Но может ли программист использовать GPT для ускорения работы? Предлагаю устроить небольшое соревнование. 

Представим, что у нас есть задача от бизнеса:

при нажатии на кнопку в приложении должна открываться webView с памяткой о том, что делать в случае пожара. Пользователь читает памятку, закрывает webView и возвращается обратно в приложение.

Несложная задача. Засечем время и посмотрим, сколько времени мне потребуется на эту функцию и сколько времени понадобится GPT.

(ссылка на гифку, где я написал код, для открытия памятки по пожарной безопасности) https://drive.google.com/file/d/1VyIE5HdDCyLrhlrXOjfwqIebcIB-z0qJ/view?usp=sharing
(ссылка на гифку, где я написал код, для открытия памятки по пожарной безопасности) https://drive.google.com/file/d/1VyIE5HdDCyLrhlrXOjfwqIebcIB-z0qJ/view?usp=sharing

Мне понадобилось примерно 15 минут, чтобы создать 2 класса. Первый класс содержит реализацию кнопки, которая открывает памятку по нажатию. Второй класс отвечает за webView и загружает изображение по ссылке. Также предусмотрена кнопка «Закрыть» для возвращения в приложение.

Теперь, когда мы определились с тем, что и как именно хотим реализовать, давайте составим подробный запрос и отправим его в разработку через чат GPT.

Написание запроса заняло около 2 минут, чтобы учесть все факторы и явно указать GPT, что именно мы хотим реализовать. Теперь давайте запустим код и посмотрим, какой результат получился у GPT.

Компилятор вместо запуска симулятора с кнопкой и памяткой выдал нам несколько ошибок. Но это не проблема. Мы сообщим GPT о его неточностях и посмотрим, как он себя поведет.

Используем навык command C — command V и смотрим на результат!
Используем навык command C — command V и смотрим на результат!

Вот так незадача. Не буду показывать, как я сообщаю GPT о его ошибках, и приведу результат уже полностью исправленного и рабочего кода.

(ссылка на гифку, где gpt написал код, для открытия памятки) https://drive.google.com/file/d/1w5A9hpSJhCBXLs6kjfZt3tySUW5kqLmy/view?usp=sharing
(ссылка на гифку, где gpt написал код, для открытия памятки) https://drive.google.com/file/d/1w5A9hpSJhCBXLs6kjfZt3tySUW5kqLmy/view?usp=sharing

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

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

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

Можно ли использовать GPT в работе

Вот несколько мыслей на этот счет.

  1. GPT является полезным компаньоном в работе.

    В отличие от GitHub Copilot, GPT не опережает нас и не пытается предугадать наши следующие шаги. Это как переписка с опытным разработчиком: GPT можно задавать глупые вопросы, чтобы быстро понять новый проект. Например, мы можем попросить GPT объяснить, что делает определенный класс в проекте. После отправки кода на анализ мы можем получить информативный ответ, в котором GPT опишет функциональность класса, реализуемые протоколы и другие сведения.

  2. GPT можно попросить оценить написанный нами код и попросить предложить улучшения.

    В сущности, речь про локальный рефакторинг. Естественно, не стоит полностью полагаться на предложения GPT, но иногда они бывают полезными. Например, предложение создать протокол или вынести функционал в отдельный класс или использовать функции высшего порядка, если мы вдруг упустили этот момент.

  3. Если нет вариантов решения или готовых решений задачи, можно спросить GPT.

    Возможно, он предложит как минимум хорошую идею, хоть и не полностью готовую реализацию.

  4. Если в проекте есть фрагменты кода на незнакомом языке или используется непривычный фреймворк, GPT поможет освоиться с новым инструментом быстрее, чем прочтение скучной документации.

Как бизнес видит дружбу с чатом GPT

С разработкой мы разобрались. Теперь рассмотрим, чем GPT может быть полезен бизнесу и каких результатов можно достичь с его помощью. Например, GPT может предложить идеи для MVP-проекта и помочь с их возможной реализацией.

В эпоху разнообразных курсов и дополнительного образования идея учебного приложения выглядит интересно. Хотя нельзя сказать, что идея нова. Попросим GPT предложить возможные варианты реализации.

Это стандартный подход к созданию MVP-проекта. Указаны основные моменты и предоставлены рекомендации по выбору инструмента. Однако, если мы будем останавливаться на каждом пункте, мы просто потеряемся во множестве вариантов и решений. Нужно расставить приоритеты.

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

GPT проигнорировал нашу просьбу.

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

Кажется, что GPT способен помочь каждому специалисту в решении узких задач. Как гласит поговорка, не следует пытаться съесть слона целиком, а нужно делить его на маленькие кусочки.

Примеры сотрудничества бизнеса с GPT-чатом и его преимущества

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

  1. ChatGPTConsulting — инновационный проект, использующий GPT-4 для анализа данных и автоматизации работы с документами. Стартап помогает компаниям принимать обоснованные решения и снижает нагрузку на сотрудников благодаря применению искусственного интеллекта GPT-4.

    https://www.chatgptconsultancy.com/

  2. Ora — веб-платформа для быстрого создания собственных чат-ботов на основе GPT-3.5 с будущей поддержкой GPT-4. Идеально подходит для тех, кто нуждается в виртуальных помощниках или собеседниках по конкретным темам.

    https://ora.ai/

  3. AI-Generated Video Scripts — сервис, использующий GPT-4 для автоматического написания сценариев видео. Это упрощает работу создателям контента, экономит время и позволяет им сфокусироваться на креативных аспектах процесса. Гибкость в адаптации под различные жанры и виды видео делает этот проект перспективным.

    https://www.veed.io/tools/script-generator/

Ограничения и вызовы

Но разработчики при работе с чатом GPT сталкиваются и со сложностями.

Нужно предоставлять точный и четкий контекст, чтобы получить работающее решение. Если у чата нет ясного представления о желаемом результате, мы столкнемся с постоянным исправлением ошибок компилятора. Мы можем добавлять больше контекста с каждым новым запросом, но это потребует больше времени, особенно при выполнении объемных задач и ограниченном опыте работы с нужной библиотекой. GPT позволяет сократить время разработки функциональности, но только если мы сами знаем, что и как нужно реализовать.

Еще одна сложность — ограниченное количество токенов, которые можно передать в одном запросе. Проще говоря, мы ограничены по количеству символов в тексте запроса. По своему опыту скажу, что GPT хорошо обрабатывает код длиной 200–250 строк. Но если продолжать общение в том же чате и добавлять новые объемные куски кода, в какой-то момент GPT может начать выдавать некорректные ответы. В таком случае придется перейти к новому чату, поскольку исправить «сломанный» чат уже не удастся. Важно помнить, что GPT работает только с кодом, который был отправлен ему, и не имеет информации о вашем проекте или окружении.

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

GPT не имеет доступа к интернету. Это означает, что предлагаемые варианты кода будут основаны на решениях или фреймворках, существующих на момент обучения модели. Это ограничивает гибкость в предлагаемых вариантах решений.

Другие спорные моменты

Не стоит также забывать о стороне бизнеса. Я выделил несколько пунктов, которые подчеркивают важность наличия команды разработки.

GPT не предоставляет готового решения. Даже если мы предположим, что с помощью чата можно создать действительно работающий сервис, возникает вопрос: кто будет выполнять эту работу? Фактически GPT может изменить подход к проектной работе, но не может изменить структуру разработческих команд.

Возникает вопрос и к безопасности. При разработке коммерческого продукта, полностью основанного на GPT, мы вынуждены передавать в чат код, который является собственностью нашей компании. Существуют ли гарантии, что кодовые базы или обсуждаемые идеи не будут утечкой информации? Также возникает вопрос о том, не будут ли новые разработки, предложенные компанией, использованы против нее. Это остается открытым вопросом.

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

Так всё-таки — помощник или угроза?

В отношениях разработчика, бизнеса и GPT каждый элемент играет важную роль. GPT становится всё более важной частью нашей жизни. Например, мне зачастую уже проще обратиться к чату, чем искать ответы в поисковых системах. GPT предоставляет конкретные ответы на заданные вопросы, несмотря на некоторые огрехи.

Сейчас можно уже уверенно сказать, что пока чат GPT — это новое поколение поисковиков. Оно может помочь в решении конкретных задач, но не воплотит все наши желания через один запрос.


А пока мы пытаемся разобраться, друг ли нам чат GPT, приглашаю вас в другой чат — он точно наш друг. Это наш телеграм-канал про разработку AGIMA Dev. Мы там делимся статьями про технологии, обсуждаем тренды, рассказываем об интересных событиях. В общем, подключайтесь.

Комментарии (0)