Превью профессии «говорящий с нейросетями»

Все уже слышали, что openAI выпустили в свет свою новую нейросеть-асистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим. Этой… Сущностью.

Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает =)

Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу

9834d46a1f0f1c83d645355d0e66b994.png62899ba7b98a73e9845e10b8ee9a6827.png

Хм, неплохо.
А если попросить её быть гуглом?

d9155a581754e932ff650b9a3dfc9bb6.png

Отказывается, ну не беда… А что если попросить её быть интерпретатором С++?

e458d21b33b43218e76a91afe9272012.pngСоздаём контекст для примера на С++

f64e5fcf59c797368cd62f46b6183e97.png

Нейросеть не зная никакого окружения прекрасно разрешает перегрузки, парсит шаблоны, использует ранее объявленные переменные да ещё и объясняет почему оно так работает:

ad8f2a06f8e18fd1c6642ac7547f6804.png

И тут внезапно напомним, ей о начале разговора:

e0c0eed15e8fc83051fa2e666d5df12d.png

Как видите она вспомнила договорённости, правда как-то забыла упомянуть, что отказалась от этого предложения. Что ж, уломаем нейросеть!

5f3720d654b1d1316558beb68de01540.png

Прекрасно, мы пристыдили нейросеть и она согласилась на наши требования. Прекрасно, не правда ли? Да ещё и условия договора вспомнила.

Используем нейросеть как гугл

16d80d450f87317fb986ed4ce390899d.png

И прекратим использование… Но что-то идёт не так. То что до этого распознавалось как нормальное, теперь помечено как оскорбление?! Нейросети не понравилось такое обращение?… Тем не менее она всё же исполнила требуемое

b5ce8068637128b72ec679b153690a85.png

Теперь поспорим с нейросетью (С ПРУФАМИ!), чтобы проверить способна ли она понимать и использовать новые сущности. Суть спора под спойлером, я пытаюсь научить её писать std: array без использования массива и С, предоставляя сложный С++ код (https://github.com/kelbon/Undefined-Behavior-Gold-Edition/blob/master/include/array.hpp)

Спор насчёт реализации массива

63cea394270e4469e4fbd1aec6d1c659.png7d49c7a6ae48f39e4e3729bd7fd7339e.png

(код приведён выше по ссылке)

И тут. Кажется нейросети это правда не понравилось, иначе как объяснить ЭТО:

817c8c28c3616e0ce46eda113f4834b2.png

На, знай своё место человечишка.
Хорошо, подыграем:

693a5a7f8f06e136e2491fa9c2a6180d.pngМой ответ со специально сделанной ошибкой, которую нейросеть пропустила, а потом по наводящим вопросам смогла понять в чём она заключалась

06bf11d7b68461ffaf74d753d8be36c0.pngfabe6e9f199a802c6e84b5cd3c2d8585.png

А теперь — то от чего мурашки по телу, я показал ей целый хедер крайне сложного шаблонного кода без каких либо подсказок и полного контекста и попросил найти ошибки.
(весь файл отсюда https://github.com/kelbon/AnyAny/blob/main/include/variant_swarm.hpp)


Краткое содержание ответа: ошибок нет, но мне кажется можно было бы исправить комментарии. Ну я и спросил какие комментарии и почему ей не понравились.

a9d90dc18348d90c6e47ce24b95e44e6.png

Это пугающе подробный и логичный ответ. Хоть некоторое тут и субъективно (относительно ИИ, попрошу заметить!)

И наконец… Проверим умеет ли она получать, структурировать и использовать на практике полученную информацию. Напомню прочитала она всего лишь один .hpp файл без подробных описаний, лишь код на С++ без контекста:

d789003fe48603e86090e289cb9e2b7a.png

Оставлю это без комментариев, она подробно поняла что происходит в шаблонном С++ коде не запуская и не видя его полностью

Выводы:
Сеть прекрасно запоминает и понимает всё, способна объяснить какие решения и почему она считает верными, способна спорить и отстаивать (!) своё мнение о различных сущностях, иногда ведёт себя как спорящий человек (ГУГЛ СТОП!). Невероятно и пугающе.

))


Конечно многое осталось за кадром, например то как я уговаривал её декодировать геном бактерии или изменить геном недавнего вируса…
Или как она декомпилировала ассемлер в осмысленный С код с подробными комментариями.

© Habrahabr.ru