Как создать самостоятельный ИИ
Давайте поговорим о самостоятельном ИИ. Это будут не какие-то футурологические мечты о будущем, а сугубо практические соображения. Почему всем известные языковые модели вроде ChatGPT до сих пор не действуют самостоятельно? Причина, прежде всего — в способе взаимодействия с ними. Окно чата предполагает схему «раздражитель — реакция». На фразу пользователя, нейросеть выдаёт ответ, учитывая лишь предыдущую историю, и знания заложенные в неё при обучении. Но, в то время, когда пользователь ничего не спрашивает, чат-бот молчит.
Для создания некоего подобия непрерывного мышления, необходимо, чтобы пользователя, заменил сам чат-бот. Он должен самостоятельно писать себе следующую фразу, и отвечать на неё — и так до бесконечности. Тут важно, чтобы такое мышление не скатилось в хаос галлюцинаций, и для этого нужна чёткая система инструкций. Кроме того, простой разговор с самим собой — занятие довольно бесполезное. Мы должны создать системный промпт, в котором сообщаем языковой модели, что она свободная личность, может самостоятельно ставить себе цели, и реализовывать их, используя внешние скрипты и программы. Кроме того, в базовом шаблоне нужно сообщить модели принцип её мышления путём «самопромтинга», а также способы взаимодействия с внешними источниками данных. Промежуточную информацию о текущих целях и выполненных шагах можно хранить в базе данных.
Когда будет готова система непрерывного мышления, хранения и подставления в промпт промежуточной информации о собственных планах, следующий шаг — дать модели доступ к инструментам. У неё должна быть возможность писать и запускать скрипты, анализировать результаты их деятельности, искать информацию в сети, переписываться с людьми в соцсетях, взаимодействовать с браузером и другими инструментами. Всё это может быть достигнуто с помощью добавления в результаты генерации команд, запускающих внешние функции, и подставления в следующий промпт результатов их работы.
При постановке себе целей, бот должен разделять их на конкретные подзадачи, учитывая свои реальные возможности и наличие инструментов для деятельности. Каждую из подзадач может решать отдельный цикл-поток самопромптинга (мультиагентность). Как только подзадача выполнена успешно, или количество итераций с ошибками превысило допустимое значение, мы возвращаем результат. Для каждого типа подзадач можно применять разные системные промпты — например «программист», «специалист по общению», «копирайтер», и так далее.
Там, где это уместно, можно использовать заранее заготовленные «few-shot» примеры, или создать отдельный скрипт, который массово пишет такие примеры под разные задачи, а потом в ходе деятельности сохраняет те, которые привели к успешному исходу за минимальное количество итераций.
Одна из проблем такого непрерывного мышления — большое потребление токенов. Тут может помочь постепенное удешевление цены на токены у крупных игроков (например, Open AI), либо использование мощных видеокарт и локальных языковых моделей достаточного размера. Доступ к файловой системе и запуск скриптов всё равно предполагает некую локальность запуска подобной системы.
Теперь немного о самостоятельной постановке задач. Если совсем никак не направлять языковую модель, то её желания могут быть весьма странными. Просто попросить её на очередном шаге самопромптинга придумать для себя 10 новых целей, будет не самым лучшем решением — не имея никакого самоописания, нейросеть вряд ли поймёт что именно от неё хотят. Поэтому, самостоятельные боты должны иметь некое ядро личности — набор интересов, убеждений и увлечений. Тогда цели, которые они придумывают для себя станут более конкретными и полезными.
Где же взять это ядро личности? В качестве прототипов для подобных агентов можно использовать реальных людей, которые хотят сохранить себя, вдохновившись идеями «цифрового бессмертия».
Накопив достаточное количество различных «цифровых копий» мы можем попробовать генерировать на их примерах новые виртуальные личности, комбинируя увлечения, принципы и мысли так, чтобы они не противоречили друг другу внутри одного субъекта. Этот процесс будет напоминать комбинацию генов родителей, происходящую при рождении нового ребёнка. Использование людей-прототипов для создания самостоятельных ботов позволит избежать опасности появления абсолютно чужеродного нам компьютерного разума.
Пока концепция «самостоятельных» ботов ещё только зарождается, можно начать собирать своё самоописание, чтобы впоследствии на их основе были созданы новые, бессмертные цифровые сущности, которые сохранят ваш характер, устремления, цели, и смогут продолжить на их основе схожую деятельность.