В мире искусственного интеллекта, где каждый день появляются новые модели и фреймворки, одна из самых persistent проблем остается неизменной: как заставить ИИ-агентов помнить контекст? Большинство современных AI-агентов работают по принципу «ввел запрос — получил ответ — забыл». Они обрабатывают запрос, выдают результат и мгновенно сбрасывают контекст, как только сессия завершается. Это создает серьезный барьер для создания по-настоящему умных, долгосрочных помощников, которые способны учиться на прошлом опыте и накапливать знания.
Google Cloud решает эту проблему с помощью нового проекта в своем репозитории generative-ai — Always-On Memory Agent. Это не просто еще одна библиотека для хранения истории чатов. Это референсная реализация, которая рассматривает память как непрерывный процесс. Агент работает 24/7 в фоновом режиме, постоянно анализируя, структурируя и консолидируя информацию. И самое интересное: он делает это без использования векторных баз данных и эмбеддингов, полагаясь исключительно на возможности больших языковых моделей (LLM) и простую базу данных SQLite.
В этой статье мы подробно разберем, как работает эта архитектура, почему она может стать альтернативой традиционному RAG (Retrieval-Augmented Generation), какие технические преимущества она дает и как вы можете запустить такого агента у себя. Мы также рассмотрим практические примеры использования и дадим пошаговое руководство по настройке.
01Архитектура непрерывной памяти: Как это работает?
Фундаментальное отличие Always-On Memory Agent от традиционных подходов заключается в том, что память здесь — это не статичное хранилище, а живой процесс. Агент построен на базе Google ADK (Agent Development Kit) и использует модель Gemini 3.1 Flash-Lite. Выбор именно этой модели не случаен: она обеспечивает низкую задержку и минимальную стоимость, что критически важно для фоновых задач, которые выполняются постоянно, а не по запросу пользователя.
Архитектура агента построена вокруг оркестратора, который маршрутизирует каждый запрос к одному из трех специализированных под-агентов. Каждый из них отвечает за свой этап жизненного цикла памяти: ingestion (поглощение), consolidation (консолидация) и query (запрос). Давайте разберем каждый этап подробно.
1. IngestAgent: Поглощение и структурирование
Первый этап — это получение данных. IngestAgent принимает входящий контент и использует мультимодальные возможности Gemini для извлечения структурированной информации. Вместо того чтобы просто сохранять сырой текст, агент анализирует контент, извлекает ключевые сущности, темы, формирует краткое содержание и присваивает балл важности. Эта структурированная запись затем сохраняется в таблицу memories в SQLite.
Это ключевой момент: данные не просто хранятся, они сразу же обогащаются контекстом. Это позволяет на следующем этапе находить связи между разрозненными фактами, что невозможно при простом сохранении текста.
2. ConsolidateAgent: Ночной сон агента
Самая инновационная часть системы — это ConsolidateAgent. Он запускается по таймеру, по умолчанию каждые 30 минут. Представьте себе человеческий сон: пока вы спите, ваш мозг обрабатывает дневные впечатления, связывает их с уже имеющимися знаниями и формирует долгосрочные воспоминания. ConsolidateAgent делает то же самое.
Он просматривает все неконсолидированные записи в памяти, ищет связи между ними, синтезирует новые сводки и выделяет ключевые инсайты. Затем он записывает эти новые знания в базу данных. Таким образом, агент строит новое понимание, пока «спит», без необходимости внешнего промпта. Это позволяет системе эволюционировать со временем, становясь умнее с каждой новой порцией данных.

3. QueryAgent: Ответы с цитированием
Когда пользователь задает вопрос, в игру вступает QueryAgent. Он читает все текущие памяти и консолидированные инсайты, синтезирует ответ и, что важно, цитирует ID использованных записей. Это обеспечивает прозрачность и возможность проверки источника информации, что критически важно для корпоративных приложений.
02Поддерживаемые форматы: От текста до видео
Одним из сильных сторон Always-On Memory Agent является его способность работать с разнообразными типами данных. IngestAgent принимает 27 типов файлов, разделенных на пять категорий. Пользователю достаточно поместить любой поддерживаемый файл в папку ./inbox, и агент автоматически его обработает.
Вот полный список поддерживаемых форматов:
- Текст: .txt, .md, .json, .csv, .log, .xml, .yaml, .yml
- Изображения: .png, .jpg, .jpeg, .gif, .webp, .bmp, .svg
- Аудио: .mp3, .wav, .ogg, .flac, .m4a, .aac
- Видео: .mp4, .webm, .mov, .avi, .mkv
- Документы: .pdf
Это делает агента универсальным инструментом для сбора информации из любых источников: от скриншотов и аудиозаписей встреч до научных статей и видеоуроков.
03Сравнение с RAG, суммаризацией и графами знаний
Чтобы понять ценность Always-On Memory Agent, важно сравнить его с существующими подходами к управлению памятью в AI. Традиционно для решения этой проблемы используются векторные базы данных с RAG, простые суммаризации диалогов или графы знаний. Каждый из этих методов имеет свои недостатки.
| Подход | Как хранится | Активная обработка | Основное ограничение |
|---|---|---|---|
| Vector DB + RAG | Эмбеддинги в векторном хранилище | Нет | Пассивный; эмбеддинги создаются один раз, поиск происходит позже |
| Суммаризация диалога | Сжатый текст | Нет | Потеря деталей; нет перекрестных ссылок |
| Графы знаний | Узлы и ребра | Ручное обслуживание | Дорого строить и поддерживать |
| Always-On Memory Agent | Структурированные строки в SQLite | Непрерывная консолидация | Запрос читает до 50 последних записей |
В отличие от RAG, который пассивно хранит данные и ищет их только по запросу, Always-On Memory Agent активно обрабатывает память. Он не просто сохраняет информацию, он связывает ее, находит скрытые паттерны и создает новые инсайты. Это делает его более похожим на человеческое мышление, чем на простую базу данных.
04Практические примеры использования
Паттерн Always-On Memory Agent подходит для любых рабочих нагрузок, требующих долговременного, эволюционирующего контекста. Рассмотрим три конкретных примера.

1. Исследовательский ассистент
Представьте себе агента, который в течение недели поглощает PDF-статьи, аудиозаписи совещаний и скриншоты с экранов. Вместо того чтобы просто хранить эти файлы, он связывает их между собой. Например, он может самостоятельно обнаружить, что целевой показатель стоимости, упомянутый в одном документе, напрямую связан с проблемой надежности, описанной в другом. Это позволяет исследователям быстро находить скрытые связи между разрозненными источниками.
2. Персональная база знаний
Для личного использования агент может непрерывно поглощать заметки, статьи и изображения. Со временем, благодаря консолидации, он выявляет темы, которые пользователь никогда явно не связывал. Например, если вы часто читаете о устойчивом развитии и одновременно записываете идеи для стартапа, агент может предложить вам связать эти две области, создавая новые возможности для инноваций.
3. Агенты поддержки клиентов
В корпоративной среде агент может хранить прошлые тикеты поддержки в виде структурированных записей. Когда поступает новый вопрос, агент не просто ищет похожие ключевые слова, он анализирует контекст предыдущих случаев и предоставляет ответ с цитированием конкретных источников. Это повышает качество обслуживания и снижает нагрузку на операторов.
05Как запустить Always-On Memory Agent
Настройка агента минимальна и доступна даже для инженеров начального уровня. Процесс состоит из нескольких простых шагов: установка зависимостей, настройка ключа API и запуск процесса.
Шаг 1: Установка зависимостей
Сначала необходимо установить все необходимые библиотеки. Убедитесь, что у вас установлен Python 3.12 или выше.
pip install -r requirements.txtШаг 2: Настройка API-ключа
Установите переменную окружения для вашего ключа Google API. Вы можете получить ключ в Google Cloud Console.
export GOOGLE_API_KEY="your-gemini-api-key"Шаг 3: Запуск агента
Запустите основной скрипт агента. Он будет следить за папкой ./inbox, консолидировать данные каждые 30 минут и предоставлять HTTP API на порту 8888.
python agent.pyШаг 4: Взаимодействие через API
Теперь вы можете отправлять данные и запрашивать ответы через HTTP. Например, чтобы погрузить текст:

curl -X POST http://localhost:8888/ingest \
-H "Content-Type: application/json" \
-d '{"text": "AI agents are the future", "source": "article"}'А чтобы задать вопрос:
curl "http://localhost:8888/query?q=what+do+you+know"API также предоставляет эндпоинты для управления состоянием: /status, /memories, /consolidate, /delete и /clear. Кроме того, доступен optional Streamlit-дашборд для визуального управления процессами.
Настройка параметров
Вы можете изменить папку наблюдения, порт и интервал консолидации с помощью флагов командной строки:
python agent.py --watch docs --port 9000 --consolidate-every 1506Что это значит на практике
Появление Always-On Memory Agent знаменует собой сдвиг в парадигме разработки AI-агентов. Вместо того чтобы полагаться на сложные векторные базы данных и дорогостоящие процессы индексации, разработчики могут использовать более простой, эффективный и гибкий подход. Использование LLM для активного структурирования и консолидации памяти позволяет создавать системы, которые не просто хранят информацию, но и понимают ее.
Для бизнеса это означает возможность создания более умных и контекстно-осведомленных помощников, которые могут работать с разрозненными данными и находить скрытые инсайты. Для разработчиков это упрощает архитектуру, снижая порог входа в создание сложных AI-систем. Для конечных пользователей это означает более персонализированный и непрерывный опыт взаимодействия с ИИ.
Хотя решение еще находится на стадии референсной реализации, оно демонстрирует мощный потенциал подхода, основанного на непрерывной обработке данных. В будущем мы можем увидеть, как этот паттерн станет стандартом для создания долгосрочных AI-агентов, способных учиться и развиваться вместе с пользователем.
Если вы хотите экспериментировать с этим подходом, репозиторий Google Cloud доступен для клонирования и изучения. Попробуйте запустить агента, добавьте свои данные и посмотрите, как система самостоятельно находит связи между ними. Возможно, именно этот проект станет отправной точкой для вашего следующего AI-проекта.
Следите за обновлениями в репозитории generative-ai на GitHub и не забывайте делиться своими результатами с сообществом. Будущее AI — это не только новые модели, но и новые способы организации знаний.
Источник: MarkTechPost ↗
