ChatGPT. Übermensch из мира A.I.?

от автора

Автор Канала «Теория Всего»December 17, 2022

Когда запушил код и закоментил тесты
Когда запушил код и закоментил тесты

Всем привет! Основной вопрос, который данная статья будет затрагивать является: «Стоит ли волноваться программистам за свои рабочие места в течений следующих лет из-за развития искусственного интеллекта?»

Думаю вы уже все наслышаны о всеми великом проекте под названием «ChatGPT». Для тех кто не в танке, ChatGPT — программа написанная компанией, которая принадлежит Илону Маску, основная особенность данного проекта заключается в довольно продвинутом искусственном интеллекте приложения. Самое интересно, что данный И.И. способен дать ответ практически на любой вопрос, который вы ему задаете, будь это «Что лучше PS5 или PC» или » В чем заключается смысл жизни?».

Для начала своего расследования, как истинный программист, я задал И.И. вопрос о лучшей парадигме программирования.

Джависты не в восторге, что ООП идет вторым
Джависты не в восторге, что ООП идет вторым

В принципе как и ожидалось, что скорее всего ChatGPT использует свою натренированную МЛку для NLP (https://habr.com/ru/company/otus/blog/705482/) и парсит открытие и главное индексируемые сайты для получения и обработки той или иной информации, которая будет задействована для дачи ответа собеседнику. Так же, ChatGPT не использует простую тактику copy+paste, а использует парафрейзинг для более понятного ответа.

Какой же вывод мы смогли вывести из самого первого и самого простого на мой взгляд вопроса нашему И.И.?

  1. И.И. использует свою натренированную систему NLP

  2. И.И. парсит и индексирует открытые источники

  3. Пока что программист может не переживать за свою работу

Пойдемте дальше и начнем задавать более каверзные и сложные вопросы нашему новому другу/конкуренту ChatGPT. Все последующие вопросы у меня будут так или иначе взаимодейтсвовать с архитектурами приложении и имплементации тех или иных алгоритмов на языке Java.

Вопрос первый. Сделай простой «reverse» Линкед-Листа.

Опять таки, здесь все было крайне ожидаемо. Я сформулировал свой вопрос следующим образом:

  1. Я старался писать вопрос максимально понятно и объективно, чтобы максимально сильно раскрыть потенциал И.И.

  2. Я писал максимально сжатые вопросы, без лишних деталей

  3. В конце всегда дописывал на каком языке я хочу получить имплементацию

На вопрос: «Reverse a linked list in Java» я получил следующий код:

public class LinkedList {   private static class Node {    int data;    Node next;    Node(int data) {     this.data = data;    }   }   private Node head;   public void addToFront(int data) {    Node newNode = new Node(data);    newNode.next = head;    head = newNode;   }   public void reverse() {    Node current = head;    Node previous = null;    Node next = null;    while (current != null) {     next = current.next;     current.next = previous;     previous = current;     current = next;    }    head = previous;   }   public void printList() {    Node current = head;    while (current != null) {     System.out.print(current.data + " ");     current = current.next;    }    System.out.println();   }   public static void main(String[] args) {    LinkedList list = new LinkedList();    list.addToFront(1);    list.addToFront(2);    list.addToFront(3);    list.addToFront(4);    list.printList(); // prints 4 3 2 1    list.reverse();    list.printList(); // prints 1 2 3 4   }  }

Честно говоря, опять таки ничего удивительного нет, И.И. просто парсит открытые источники и прошлые запросы от других пользователей и на базе данной инфы дает вам обобщенный ответ. На просторах индексируемых сайтов очень много похожей импленментации моего вопроса, что и вылилось в такой примитивный ответ, который является правильным! Помимо кода, ChatGPT очень грамотно расписывает функционал, что так же является большим плюсом и показателем хорошо натренированного И.И.

Идем дальше и начинаем мучать нашего друга еще сильнее. Теперь я задал, вопрос с подвохом: «Reverse a linked list in Java using only 1 function». На обработку данного запроса, программа потратила 27,12 секунд времени, так как запрос является крайне странным и информации о нем не так уж и много на просторах сети! Вот ответ, который я получил, я немного сжал его, не добавляя аналогичной импленментации классов из прошлого примера:

public Node reverse(Node current, Node previous) {      if (current == null) {        return previous;      }      Node next = current.next;      current.next = previous;      return reverse(next, current);    }    public void reverse() {      head = reverse(head, null);    }

Чисто технически, программа как бы реализовала мой запрос через 1 метод void reverse(), но это не совсем, что я имел ввиду! В первую очередь, я бы хотел увидеть имплементацию через Generic, но увидел типизацию до int, но это не является большой проблемой. Самое главное, я хотел увидеть только 1 метод, который будет отвечать за реверсивность связанного списка, чего я не получил, так же не забываем, что на обработку запроса ушло в районе 30 секунд, что довольно таки долго.

ChatGPT 3 век до н.э.
ChatGPT 3 век до н.э.

Тут я уже начал, понимать, что весь страх, который нагоняют люди по поводу СhatGPT это просто абсурд и тупой инфо-повод! Чтобы доказать это я решил написать всего 1 запрос, который вам точно подтвердит, что вы не останетесь без работы еще как минимум лет 20-30, пока И.И. не смогут сами детально по расписанному запросу писать высоконагруженные системы.

Вот он, убийца всех Solution Architects
Вот он, убийца всех Solution Architects

Как мы видим, ChatGPT не может писать простые программы, которые имеют относительно сложную логику, которую нужно делегировать по разным файлам и средам. Самое интересное, что он попросту игнорирует все нужные Фреймворки. Ладно JavaScript, я могу принять использование простой HTML странички для получения файлов, но использование «Apache POI » для обработки запросов и чистого «JDBC» я понять не могу. Видимо вопрос абстрактно был слишком сложен для И.И., хоть я и указал, такое ключевое слово как: «Spring Boot Framework».

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

Всем спасибо за внимание и пользуйтесь оператором Kcell/Activ.

Мой канал


ссылка на оригинал статьи https://habr.com/ru/post/707502/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *