
Проект 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-файлах релиза. Для углублённого изучения рекомендуется ознакомиться с файлом миграции и примерами в репозитории.
