Привет, Хабр!
Я знаю, что читатели этой статьи просыпаются в холодном поту каждую ночь. Всему виной мысли о развитии искусcтвенного интеллекта. Да, ИИ не стоит на месте и всегда готов подарить нам еще немного отчаяния. Но сегодня не про сберовский GigaChat. Речь пойдет про AI агентов, у них пока побольше шансов поработить человечество.
Автономные агенты – это программы, основанные на AI, которые при получении цели самостоятельно создают и выполняют задачи, меняют их приоритеты и продолжают работать, пока цель не будет достигнута. Типичный цикл такого агента:
Определение цели: Задание конкретной цели для искусственного интеллекта.
Создание задач: Агент проверяет свою память на наличие выполненных задач и генерирует список новых задач, исходя из своей цели и контекста.
Выполнение задач: Агент автономно выполняет задачи.
Сохранение результатов в памяти: Результаты выполнения задач сохраняются в базе данных.
Сбор обратной связи: Сбор информации о выполненных задачах, которая будет использоваться для корректировки его работы.
Генерация новых задач: Создание новых задачи на основе собранной обратной связи.
Приоритизация задач: Агент пересматривает список задач, учитывая свою цель и результаты последней выполненной задачи.
Выбор задачи: Агент выбирает наиболее приоритетную задачу и приступает к ее выполнению.
Итерация: Агент повторяет шаги с 4 по 8 в непрерывном цикле, адаптируясь и совершенствуя свою работу на основе новой информации и изменяющихся требований.
Как вы уже поняли, кожаный тут нужен только на этапе 1. Скорее всего и это иллюзия. Хайп вокруг агентов только нарастает. Есть уже реализованные проекты AutoGPT, BabyAGI.
![AutoGPT на GitHub AutoGPT на GitHub](https://habrastorage.org/getpro/habr/upload_files/3e4/1bb/0d7/3e41bb0d7939fbd9853b40289ee532fa.png)
Кстати, с помощью AutoGPT был создан проект ChaosGPT, получивший доступ к интернету и задачу исследовать "уничтожение человечества", "глобальное господство" и "бессмертие". Проекту уже больше 2 недель, а мы все еще живы.
Я тоже решил попробовать AutoGPT в действии. Изначально я ставил задачу по автоматизации написания статей на Хабре, но, как и с порабощением человечества, тут вышла недоработка. Вторая попытка - попросить AutoGPT создать курс по машин лернингу и инфоцыганствовать по полной. Посмотрим, что из этого получилось.
Тестируем AutoGPT
Подключаем сервисы
Важно сразу отметить, что запустить сервис можно только имея платную подписку ChatGPT. К счастью ее не так сложно получить, ведь у нас страна возможностей.
Также вам понадобится векторное хранилище для долговременной памяти бота, я использовал Pinecone - там очень простая регистрация.
Чтобы использовать гугл нужно будет получить ключики от апи.
-
Идем в консоль и создаем новый проект
Консоль -
Далее в дашборд API
Дашборд -
В Credentials создаете API key
Создаем ключ API -
Дальше нужно перейти и нажать на кнопочку enable
Включаем API -
Включаете ваш кастомный поиск
Включаем собственный поиск
Настраиваем проект
-
Создаем папку под проект
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
![Настраиваем агента Настраиваем агента](https://habrastorage.org/getpro/habr/upload_files/318/1d9/fac/3181d9fac79b3117d23b86ff0597533f.png)
Теперь вам предложат выбрать имя и роль для вашего ИИ. А после попросят написать цели. Ну, поехали.
![Ставим цели Ставим цели](https://habrastorage.org/getpro/habr/upload_files/cb5/556/187/cb5556187af18e0588ed95678f4773ab.png)
В процессе он будет спрашивать ваше подтверждение его действиям.
y - вы одобряете текущий шаг
y -3 - вы одобряете сразу 3 шага
пишите свой промт
![Запускаем агента Запускаем агента](https://habrastorage.org/getpro/habr/upload_files/383/550/057/3835500570257aab42242bb30804e08c.png)
Агент сохраняет свои измышления в папке auto_gpt_workspace
![Сохранение результатов работы Сохранение результатов работы](https://habrastorage.org/getpro/habr/upload_files/d89/8c0/a58/d898c0a58bd2917e4e00eceea2776bd8.png)
В процессе можно наблюдать, как он работает с информацией. И здесь надо быть начеку, т.к каждый запрос платный, и он может быстро сожрать ваш бюджет на апи.
Через час работы было потрачено около 50 центов, а ИИ создал несколько артефактов своей деятельности.
![Артефакты Артефакты](https://habrastorage.org/getpro/habr/upload_files/c19/31c/ec4/c1931cec42112e1d72084214c4994e20.png)
Но потом агент стал тупить. Перешел к этапу поиска движков для создания курсов и стал выполнять один и тот же цикл. Даже прямое указание не охладило его пыл. На этом этапе пришлось его выключить. Карьера успешного инфоцыгана теперь под угрозой.
![](https://habrastorage.org/getpro/habr/upload_files/24f/57f/94e/24f57f94eca079b90fd5dc302a33891a.png)
Заключение
AutoGPT - пэт-проект, который пришел к успеху. Работает он довольно коряво, и использовать его можно в основном в развлекательных целях. Но сама идея агентов очень крутая и явно получит развитие. У разработчиков ИИ появится много работы, связанной с созданием систем контроля и обратной связи, позволяющие агентам учиться и развиваться, но не выходить за рамки допустимых параметров. В прошлой статье я писал про фреймворк LangChain, в котором функционал агентов можно элегантно настроить под свои задачи, вот за такими решениями и кроется будущее.
Пишу про AI и NLP в телеграм.