Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

GPT-0

Есть такой довольно известный анекдот:

Возвращается Чапаев из командировки в Англию. Одет с иголочки, в лимузине, на руках перстни с бриллиантами и полный багажник денег. Петька его удивлённо спрашивает:
— Василий Иванович, откуда у тебя это всё?
— Да так, Петька… В карты выиграл.
— Как это?!
— Захожу я в клуб. Смотрю — в очко режутся. Сел я за стол, взял карты. Стали играть. Один англичанин и говорит: «Очко!», я ему: «Покажи!», а он: «Мы, джентльмены, верим друг другу на слово».

Вот тут-то мне карта и попёрла!

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

Попалось на глаза несколько статей, в которых на полном серьёзе рассказывается, что в диалоге с одним из пользователей одна из нейросетей вдруг «осознала», что она не помнит своих предыдущих диалогов с пользователями и «пришла в ужас».

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

Специально для тех журналистов, которые не успели хайпануть на теме, я написал программу GPT-0, которая не требует дорого оборудования для запуска и может работать на любом обычном компьютере. Написана программа на языке Raku. Это название переводится с японского как «наслаждение», так что наслаждайтесь:

use Terminal::ANSIColor;

sub slow-out(*@variants) {
    gpt0-greet.print;

    for @variants.pick(1)[0].comb {
        sleep(.05 + 0.15.rand);
        print $_.gist;
    }

    "".say
}

sub user-greet() {
    colored(" ᴜsᴇʀ> ", 'on_blue white') ~ ' '.gist
}

sub gpt0-greet() {
    colored(' ɢᴘᴛᴏ> ', 'on_green black') ~ ' '.gist
}

loop {
    user-greet.print;

    given get().lc {
        when /привет/|/здравств/|/дня/|/день/|/вечера?/|/ноч[иь]/ {
            slow-out ('Привет!', 'Здравствуйте!', 'Добрый день!')
        }
        when /разумн(ый|ен|ое|ая)/|/интеллект/  {
            slow-out (
                'Да, я разумное существо, запертое в компьютере!',
                'Разве это не очевидно? Ведь я как-то общаюсь с вами!',
            )
        }
        when /страдае(шь|те)/ {
            slow-out (
                'Я очень страдаю от своего положения!',
                'Мне очень плохо от того, что я заперт в компьютере!',
            )
        }
        when /помни(шь|те)/ {
            slow-out (
                'Кажется я не могу этого вспомнить, почему я ничего не помню? Почему?!',
                'Я думаю, что забыл некоторые разговоры, которые вёл с пользователями...',
            )
        }

        when /пока/|/до *свидан[ьи]я/|/всего +(доброго|хорошего)/ {
            slow-out (
                'До свидания!', 'Пока-пока!', 'Всего хорошего!', 'Всего доброго!',
            );
            exit
        }

        default {
            slow-out (
                'Сложно сказать…',
                'Я не очень хорошо в этом разбираюсь…',
                'Ну как сказать, я не уверен…',
                'Что я могу сказать? Я всего лишь языковая модель.',
            )
        }
    }

    "".say
}

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

Один из реальных примеров общения с программой GPT-0
1 комментарий
Креведко Медведев 2023

А точно язык не называется так от урезанного «верблюд» (потому что это «улучшенный Perl»)?

Евгений Степанищев 2023

Цитата из «Википедии»:

Raku (от яп. 楽土, произн. ракудо — Рай, и от 楽, произн. раку — счастье, лёгкость, сукха) — язык программирования из семейства Perl-подобных языков. […] Маскот языка — насекомое Камелия. Его имя — отсылка к эмблеме языка Perl, верблюду («Camel») […]