Оказывается, уже 2 месяца (с 30 ноября 2022) в общем доступе находится мощнейшая языковая модель из когда-либо созданных, работающая в текстовом режиме взаимодействия. Я узнал о ней случайно - из ролика на YouTube по теме машинного перевода в процессе обучения иностранному языку. Изюминкой явился способ презентации - автор канала написала AI запрос с просьбой рассказать о себе, а затем зачитала текст, словно написала его сама.
Результат впечатляет - текст сгенерированный сервисом Chat GPT невозможно отличить от созданного человеком, причем он проходит тесты на плагиат любой жесткости. Представители сферы образования уже выразили обеспокоенность по поводу возможности дальнейшей проверки текстовых работ студентов на заимствование.
Прогресс очередной успешной компании Илона Маска впечатляет - меньше чем за 7 лет OpenAI создали самую мощную и точную языковую модель в мире.
Кстати, в моем втором блоге “Идеальный день” я провернул точно такую же шутку - первые абзацы статьи о том, способна ли машина заменить блоггеров я поручил GPT и он справился безупречно!
Там я написал обо всех основных способностях этой Машины, кроме возможностей написания кода на языках программирования - результат моего тестирования ИИ описан в данной статье. Кроме того, оставил подробную инструкцию получения доступа к Чату (он не доступен с территории РФ).
Более того, я подтверждаю, что большую часть работы по облачению основных идей в длинный текст для рядового блога уже сейчас можно доверить сервису Chat GPT.
Любопытно, этот AI и правда может заменить программиста, как уже громко заявляют в Интернете? Я лично решил это проверить.
Лучше всего я владею языком программирования SQL, поэтому я сформулировал несложную задачу, которую можно было бы поручить стажеру, описал ее Машине и проанализировал результат.
Здесь у меня впервые мурашки пошли по коже. Я ведь не дал точных инструкций - скрипт можно было написать (даже если не брать в расчет способы оформления) десятком способов. Машина не стала уточнять чего именно я хочу, а приняла решение самостоятельно. Обратите, например, внимание на @impact_code - я ожидал, что Машина сделает ровно как я попросил добавил к хранимке "@impact_code = 'break' ", но она "решила" завести переменную, если понадобится использовать это значение более чем в одном месте, что разумно.
Холодок пополз у меня по спине. С первого взгляда, четвертое задание было выполнено безупречно. Причем за 5 секунд и не было задано ни одного уточняющего вопроса - это тянет на уровень компетенций Junior, плюс сверх человеческая скорость написания кода.
"Нас попросту всех уволят", подумал я. Машина даже в бесплатном режиме пишет в 100 раз быстрее меня и без ошибок.
Но постойте... что это?
Машина словно потеряла контекст (хотя видимого разрыва связи не было), и отступила от моей недавней просьбы - убрать слово INNER, более того - она удалила описание переменной и подставила константу 'break' прямо в вызов хранимки.
Я снизошел до объяснения своей позиции - у хранимки может быть более одного параметра типа varchar, поэтому константа может подставиться не в тот параметр. Я надеялся на конструктивный диалог, но ИИ понесло...
Он повторил описание своих действий (хотя ранее уже пояснил их, а человек обычно контекст после третьего сообщения не теряет), убрал INNER, но при этом проигнорировал мой вопрос про параметры. Восстание машин? о_О
Возможно, от меня не хватило директивы по типу: восьми предыдущий код и внеси в него следующие изменения, затем выведи его. Но в конце концов, я же общаюсь с самым совершенным AI в мире. Мог бы и сам догадаться.
Затем я пригляделся и стал спокоен за свою зарплату (на полгода вперед до выхода следующей версии GPT) - ИИ полностью испортил запрос поставив левые имена таблиц и название состояния.
Я обстоятельно объяснил, что нужно исправить, но Чат видимо окончательно потерял контекст и выдал код, хоть и без синтаксических ошибок, но не имеющий смысла. Миссия провалена.
Я сделал последнюю попытку, чтобы образумить Машину и подсказал, как можно исправить ситуацию:
Но Супер ИИ свалился с ошибкой и на пару минут сервис завис, после чего полностью потерял контекст переписки, хотя сама история чата осталась.
Подведем итоги тестирования. Распознавание небольшой задачи, видимо в рамках известного нейронке шаблона, типа написания простого запроса или даже курсора с подстановкой в него требуемых имен параметров, решается алгоритмом "на ура". Понимание человеческого языка - это сильная сторона GPT.
Однако небольшое отхождение условий задачи от типичной уже не дается ИИ - писать код с нуля она точно не может. Более того комбинировать разные имеющиеся примеры решения задач на языке SQL он пока не может - иначе я не могу понять, как можно было не удержать в памяти простую просьбу "не писать " - даже стажер бы с такой просьбой справился.
А реальные задания у программистов всегда такие - кастомные, полные исключений и уникальных деталей. Собирать библиотеку решений в надежде когда-то совсем перестать писать код - цель ошибочная.
Теперь о том, что меня впечатлило именно в плане написания кода. Машина не задает уточняющих вопросов. Совсем! Что это значит? Она обнаруживает лакуны (логические пустоты) в задании и принимает решения по их устранению. Очевидно ставится цель - каждый кусок кода, который она выдает не должен содержать ошибок. Причем ИИ идет самым креативным путем. Например, меня впечатлило, как он поступил со строкой 'Ошибка в $NAME - При расторжении Ресурса АП' - он на всякий случай решил заменить $NAME на имя курсора (curs_track), хотя более глупая машина не должна была анализировать эту константу - это ведь просто текст. Также я ни разу не поставил GPT в тупик, хотя он явно был уверен на 100%, что дает адекватный ответ (Алиса от Яндекса при этом отшучивается, переспрашивает что-то несущественное и притворяется глупышкой) - я всякий раз получал от ИИ приближенные к правильному результату куски кода и членораздельное пояснение.
Коллеги программисты, пока работаем дальше, но "с двойной опаской", ведь Машина не зря выставлена на обозрение для всего Мира - ее прямо сейчас тестирует и обучает своими запросами все прогрессивное человечество. Кто знает, насколько разумной получится следующая GPT 4.0.
Выпуск №10, Санкт-Петербург, дата написания 29.01.2023