Запись архива

AutoGPT 1.7: новый фреймворк для долгосрочных агентов с памятью и планированием

Разбираем релиз AutoGPT 1.7: встроенная долговременная память, графовый планировщик задач и поддержка AnyIO. Что изменилось в архитектуре агентов и как это влияет на разработку автономных решений.

Интерфейс AutoGPT 1.7 с графом задач и панелью долговременной памяти
Интерфейс AutoGPT 1.7 с графом задач и панелью долговременной памяти
Редакционная тематическая обложка COMRAD404

Проект AutoGPT выпустил версию 1.7 — одно из самых значительных обновлений фреймворка с момента перехода на модульную архитектуру. Релиз добавляет встроенную долговременную память, графовый планировщик задач и поддержку асинхронного рантайма AnyIO. Для разработчиков, строящих автономных агентов, это означает отказ от внешних сервисов памяти и появление нативного управления зависимостями между задачами.

Что изменилось в памяти агентов

В предыдущих версиях AutoGPT долговременная память требовала подключения внешних решений — Pinecone, Weaviate или Redis. Фреймворк лишь предоставлял интерфейс для их интеграции. В версии 1.7 появился собственный движок памяти, работающий на основе локального векторного хранилища.

Новый модуль `autogpt.memory` использует библиотеку `chromadb` для хранения эмбеддингов и метаданных прямо на диске. Агент теперь может сохранять результаты выполнения шагов, извлечённые факты и контекст диалога без обращения к облачным API. Это снижает задержки и устраняет зависимость от внешних провайдеров.

Ключевые параметры нового движка памяти

Параметр Значение Назначение
collection_name auto_gpt_memory Имя коллекции в ChromaDB
embedding_model text-embedding-ada-002 Модель для векторизации
max_results 5 Количество возвращаемых записей
persist_directory ~/.autogpt/memory Путь к файлам БД
similarity_threshold 75 Порог косинусной близости

Важное ограничение: при первом запуске агент тратит время на индексацию существующих данных. В тестах команды AutoGPT на коллекции из 10 000 записей начальная загрузка заняла 12 секунд, последующие запросы выполнялись за 40–80 миллисекунд. Для продакшен-сценариев с объёмом данных свыше 100 000 записей команда рекомендует по-прежнему использовать внешние векторные БД, так как новый движок пока не поддерживает шардирование и репликацию.

Графовый планировщик вместо линейных списков

До версии 1.7 агенты AutoGPT выполняли задачи последовательно — один шаг за другим, без учёта зависимостей. Новый планировщик строит направленный ациклический граф (DAG), где каждая задача представлена узлом, а связи отражают порядок выполнения.

Разработчики могут задавать три типа зависимостей:
– Жёсткая (hard) — задача B не запускается, пока A не завершена.
– Мягкая (soft) — B стартует после A, но может выполняться параллельно.
– Опциональная (optional) — B запускается независимо, но использует результат A, если он доступен.

На практике это означает, что агент может одновременно собирать данные из трёх источников, а затем объединять их на этапе анализа — без ручного указания последовательности. Граф визуализируется в логах, что упрощает отладку многошаговых сценариев. Для тестирования нового планировщика достаточно установить обновление и запустить агента с флагом `–planner dag`. Логи будут отображать граф зависимостей в текстовом виде.

AnyIO и асинхронная унификация

Релиз перевёл внутреннюю архитектуру на AnyIO — библиотеку, абстрагирующую различия между asyncio и trio. Для разработчиков это означает, что код агента работает одинаково на обоих рантаймах. Побочный эффект — снижение числа race conditions в конкурентных операциях, особенно при параллельном выполнении задач в графовом планировщике. Это также упрощает интеграцию с существующими проектами, которые уже используют один из этих рантаймов.

Что осталось за кадром

В документации к релизу указано, что новый движок памяти пока не поддерживает шардирование и репликацию. Для продакшен-сценариев с объёмом данных свыше 100 000 записей команда рекомендует по-прежнему использовать внешние векторные БД. Кроме того, в версии 1.7 удалена поддержка Python 3.9 — минимальная версия теперь 3.11. Это важно учитывать при обновлении существующих проектов.

На GitHub-репозитории проекта появились примеры миграции с предыдущих версий: файл `MIGRATION_1.6_TO_1.7.md` содержит пошаговые инструкции по замене вызовов памяти и адаптации конфигурационных файлов. Разработчикам стоит заранее проверить совместимость своих скриптов с новыми требованиями.

Практический пример: тестирование графового планировщика

Для быстрого старта попробуйте запустить агента с флагом `–planner dag`. Пример команды:

autogpt run –planner dag –task “Собрать информацию о трёх LLM и сравнить их latency

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

Ограничения и рекомендации

Следует учитывать, что графовый планировщик находится в статусе экспериментальной функции. Для production-сред команда рекомендует тестировать на изолированных сценариях до стабилизации API в версии 1.8. Также обратите внимание, что при первом запуске движка памяти возможна задержка на индексацию, что критично для больших коллекций.

Основной источник — официальный changelog AutoGPT 1.7 на GitHub и сопутствующая документация в репозитории проекта. Информация о времени загрузки памяти взята из публичных тестов команды. Данные о совместимости с Python и AnyIO подтверждены в requirements-файлах релиза. Для углублённого изучения рекомендуется ознакомиться с файлом миграции и примерами в репозитории.