И что еще более важно, должно ли оно работать в направлении замены программистов?

Пару недель назад я проснулся и обнаружил, что Chat GPT штурмом взял социальные сети. Некоторые люди полагают, что вскоре он заставит Google искать свои деньги и поставит под угрозу несколько вакансий начального уровня (составители контента / копирайтеры, служба поддержки, программисты и т. д.).

Что такое Chat GPT?
Согласно openai.com, ChatGPT – это чат-бот, запущенный OpenAI в ноябре 2022 года. Он построен на основе семейства больших языковых моделей OpenAI GPT-3. и точно настроен как с контролируемыми методами, так и с методами обучения с подкреплением.

Проще говоря, это чат-бот с ИИ (искусственным интеллектом), способный общаться с людьми и способный давать умные ответы, как умный человек.

Звучит интересно, позвольте мне проверить
Будучи инженером-программистом, я интересовался возможностями программирования, предлагаемыми Chat GPT. Поэтому после просмотра серии видеороликов на YouTube, постов в Instagram и статей среднего уровня, описывающих возможности чата GPT, позволяющего писать коды с нуля, я решил попробовать и проверить, может ли он писать сложные приложения в Интернете.

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

Время для испытания
Мммм, мое желание для Chat GPT, джинн будет следующим:

«Напишите веб-приложение на javascript, которое позволяет пользователям регистрироваться, используя свои номера телефонов, позволяет им добавлять других пользователей, используя их номера телефонов, а затем звонит им, используя номер добавленного контакта. Голосовой вызов может быть инициирован Web RTC с использованием протокола инициации сеанса. Он может использовать такие библиотеки, как Js SIP».

Давайте посмотрим, как Chat GPT справляется с этой задачей:

ИИ чата GPT в действии

Итак, это был ответ и блок кода, сгенерированный Chat GPT.

«Вот пример базового веб-приложения на JavaScript, которое позволяет пользователям регистрироваться, используя свои телефонные номера, и добавлять другие контакты, используя их телефонные номера, а затем инициировать голосовой вызов с использованием WebRTC и протокола инициации сеанса (SIP):»

// Import the necessary libraries
const SIP = require('sip.js');
const WebRTC = require('webrtc');

// Create an instance of the SIP.js library
const sip = new SIP.UA({
  uri: 'sip:[email protected]',
  transport: 'ws',
  wsServers: 'ws://example.com:5060'
});

// Set up event listeners for SIP events
sip.on('registered', () => {
  console.log('Successfully registered with SIP server');
});

sip.on('invite', (session) => {
  console.log('Received call invitation');
  // Accept the call and set up the WebRTC connection
  session.accept({
    media: {
      stream: new WebRTC.MediaStream()
    }
  });
});

sip.on('connecting', (session) => {
  console.log('Connecting to call');
});

sip.on('connected', (session) => {
  console.log('Connected to call');
});

sip.on('disconnected', (session) => {
  console.log('Disconnected from call');
});

// Log in to the SIP server
sip.register();

// Function to add a new contact
function addContact(phoneNumber) {
  // Add the contact's phone number to the SIP address book
  sip.addressBook.push({
    uri: `sip:${phoneNumber}@example.com`
  });
}

// Function to initiate a call
function callContact(phoneNumber) {
  // Look up the contact's SIP URI in the address book
  const contact = sip.addressBook.find((item) => {
    return item.uri === `sip:${phoneNumber}@example.com`;
  });
  if (contact) {
    // Initiate a call to the contact's SIP URI
    sip.invite(contact.uri, {
      media: {
        stream: new WebRTC.MediaStream()
      }
    });
  } else {
    console.log('Contact not found in address book');
  }
}

Наряду с этим был добавлен умный ответ, в котором говорилось:

«Это всего лишь пример, а не полностью функциональный код, вам может потребоваться обновить код с помощью вашей конкретной информации. Кроме того, в зависимости от среды и ваших настроек вам, возможно, придется внести другие коррективы, это должно работать только как общая идея о том, как реализовать веб-приложение, позволяющее использовать телефонные номера с WebRTC и SIP».

Молодец, Chat-GPT на приведенный выше ответ. 👏

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

О, подождите, сами Open AI также упомянули некоторые из этих ограничений на странице Chat GPT.

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

Мне бы понравилось, если бы ИИ, хотя и не мог написать код, хотя бы указал мне правильное направление, возможно, сказав мне:

  1. Как настроить SIP-сервер и включить на нем WebRTC (желательно в среде Linux).
  2. Использование Sip.js для установления соединения с #1 (хотя сгенерированный код показывает это, более четкая картина помогла бы, ИИ мог просто предположить, что я умный. LOL! Представьте себе программиста-новичка или непрограммиста пытаясь узнать о SIP, о том, как он работает и как его реализовать).
  3. Наконец, клиентский код, показывающий, как будут работать серверная и внешняя части (или, по крайней мере, ссылки на нужные ресурсы), было бы замечательно иметь.

Кто знает, может быть, вместо Chat GPT AI, пытающийся заменить людей в будущем (прямо как в фильмах о Терминаторе 😅), скорее окажется полезным инструментом, помогающим людям функционировать более эффективно, направляя их в правильном направлении. Только время покажет ⏳.

Если вам понравилась эта статья, пожалуйста, подпишитесь на мою учетную запись Medium, так как это побудит меня писать чаще :)