Привет, Хабр!

Я знаю, что читатели этой статьи просыпаются в холодном поту каждую ночь. Всему виной мысли о развитии искусcтвенного интеллекта. Да, ИИ не стоит на месте и всегда готов подарить нам еще немного отчаяния. Но сегодня не про сберовский GigaChat. Речь пойдет про AI агентов, у них пока побольше шансов поработить человечество.

Автономные агенты – это программы, основанные на AI, которые при получении цели самостоятельно создают и выполняют задачи, меняют их приоритеты и продолжают работать, пока цель не будет достигнута. Типичный цикл такого агента:

  1. Определение цели: Задание конкретной цели для искусственного интеллекта.

  2. Создание задач: Агент проверяет свою память на наличие выполненных задач и генерирует список новых задач, исходя из своей цели и контекста.

  3. Выполнение задач: Агент автономно выполняет задачи.

  4. Сохранение результатов в памяти: Результаты выполнения задач сохраняются в базе данных.

  5. Сбор обратной связи: Сбор информации о выполненных задачах, которая будет использоваться для корректировки его работы.

  6. Генерация новых задач: Создание новых задачи на основе собранной обратной связи.

  7. Приоритизация задач: Агент пересматривает список задач, учитывая свою цель и результаты последней выполненной задачи.

  8. Выбор задачи: Агент выбирает наиболее приоритетную задачу и приступает к ее выполнению.

  9. Итерация: Агент повторяет шаги с 4 по 8 в непрерывном цикле, адаптируясь и совершенствуя свою работу на основе новой информации и изменяющихся требований.

Как вы уже поняли, кожаный тут нужен только на этапе 1. Скорее всего и это иллюзия. Хайп вокруг агентов только нарастает. Есть уже реализованные проекты AutoGPT, BabyAGI.

AutoGPT на GitHub
AutoGPT на GitHub

Кстати, с помощью AutoGPT был создан проект ChaosGPT, получивший доступ к интернету и задачу исследовать "уничтожение человечества", "глобальное господство" и "бессмертие". Проекту уже больше 2 недель, а мы все еще живы.

Я тоже решил попробовать AutoGPT в действии. Изначально я ставил задачу по автоматизации написания статей на Хабре, но, как и с порабощением человечества, тут вышла недоработка. Вторая попытка - попросить AutoGPT создать курс по машин лернингу и инфоцыганствовать по полной. Посмотрим, что из этого получилось.

Тестируем AutoGPT

Подключаем сервисы

Важно сразу отметить, что запустить сервис можно только имея платную подписку ChatGPT. К счастью ее не так сложно получить, ведь у нас страна возможностей.

Также вам понадобится векторное хранилище для долговременной памяти бота, я использовал Pinecone - там очень простая регистрация.

Чтобы использовать гугл нужно будет получить ключики от апи.

  1. Идем в консоль и создаем новый проект

    Консоль
    Консоль
  2. Далее в дашборд API

    Дашборд
    Дашборд
  3. В Credentials создаете API key

    Создаем ключ API
    Создаем ключ API
  4. Дальше нужно перейти и нажать на кнопочку enable

    Включаем API
    Включаем API
  5. Включаете ваш кастомный поиск

    Включаем собственный поиск
    Включаем собственный поиск

Настраиваем проект

  • Создаем папку под проект

    mkdir autogpt
    cd autogpt
  • Создаем окружение

    conda create -n autogpt python=3.10
    conda activate autogpt
  • Клонируем репозиторий и ставим необходимые библиотеки

    git clone -b stable https://github.com/Significant-Gravitas/Auto-GPT.git
    cd Auto-GPT
    pip install -r requirements.txt
  • Дальше нужно будет переименовать файл .env.template просто в .env и отредактировать под ваши настройки:

    OPENAI_API_KEY=sk-O2sOu...N9E4 - ключик апи OpenAI
    TEMPERATURE=t - можно выставить свою температуру, по дефолту 0
    
    PINECONE_API_KEY=76b90....6  - ключ к векторному хранилищу
    PINECONE_ENV=us-west4-gcp - регион(смотрите ваш)
    
    GOOGLE_API_KEY=AIzaSyBms7...tgmwRHc - ключ API на этапе 3
    CUSTOM_SEARCH_ENGINE_ID=b2daab24c13324faa - айдишник на этапе 5(<script async src="https://cse.google.com/cse.js?cx=b2daab24c13324faa">)

В целом все настроено. Также можно подкрутить кучу других функций: API twitter или голосовой набор.

Заводим

Перед тестированием можно посмотреть список доступных настроек:
python -m autogpt --help
Также необходимо создать файл auto-gpt.json в корневой директории

Запустим в режиме gpt3only
python -m autogpt --gpt3only

Настраиваем агента
Настраиваем агента

Теперь вам предложат выбрать имя и роль для вашего ИИ. А после попросят написать цели. Ну, поехали.

Ставим цели
Ставим цели

В процессе он будет спрашивать ваше подтверждение его действиям.

  • y - вы одобряете текущий шаг

  • y -3 - вы одобряете сразу 3 шага

  • пишите свой промт

Запускаем агента
Запускаем агента

Агент сохраняет свои измышления в папке auto_gpt_workspace

Сохранение результатов работы
Сохранение результатов работы

В процессе можно наблюдать, как он работает с информацией. И здесь надо быть начеку, т.к каждый запрос платный, и он может быстро сожрать ваш бюджет на апи.

Через час работы было потрачено около 50 центов, а ИИ создал несколько артефактов своей деятельности.

Артефакты
Артефакты

Но потом агент стал тупить. Перешел к этапу поиска движков для создания курсов и стал выполнять один и тот же цикл. Даже прямое указание не охладило его пыл. На этом этапе пришлось его выключить. Карьера успешного инфоцыгана теперь под угрозой.

Заключение

AutoGPT - пэт-проект, который пришел к успеху. Работает он довольно коряво, и использовать его можно в основном в развлекательных целях. Но сама идея агентов очень крутая и явно получит развитие. У разработчиков ИИ появится много работы, связанной с созданием систем контроля и обратной связи, позволяющие агентам учиться и развиваться, но не выходить за рамки допустимых параметров. В прошлой статье я писал про фреймворк LangChain, в котором функционал агентов можно элегантно настроить под свои задачи, вот за такими решениями и кроется будущее.

Пишу про AI и NLP в телеграм.

Комментарии (3)