Перейти к основному содержанию
Обложка: Агенты с памятью: Memory Stores и Dreaming
ИИ-гайды

Агенты с памятью: Memory Stores и Dreaming

💡 О чём гайд
Гайд объясняет, как стандартные агенты работают изолированно между сессиями и теряют контекст. Memory Store — это файловое хранилище, подключаемое к сессиям для сохранения информации. Dreaming — асинхронный процесс, который организует, проверяет и обогащает данные в хранилище. Вместе они создают систему долгосрочной памяти для сложных агентских workflows.
📢 Больше разборов — в канале «ИИ для чайников»

Самое большое собрание ИИ-гайдов в рунете

Каждый день — новый разбор. Забирай полностью и применяй.

Агенты по умолчанию изолированы и не помнят данные между сессиями
Memory Store — постоянное файловое хранилище, подключаемое как ресурс
Dreaming — фоновый асинхронный процесс для анализа и улучшения памяти
Dreaming проверяет факты, удаляет дубликаты, обогащает данные и создаёт индексы
Dreaming использует мульти-агентскую систему с суб-агентами для exhaustive-анализа
High cache hit-rate (~95%) благодаря агентской обработке

Базовый случай: Изолированные агенты

В текущей реализации агенты и их сессии работают изолированно:

  • Информация, переданная в одной сессии, недоступна в другой.
  • Пример: Сообщили агенту в сессии А о докладе "CMA". При запросе в сессии Б агент не знает об этой информации.

Memory Store: Файловая память для агентов

Memory Store — это постоянное файловое хранилище, похожее на файловую систему, которое подключается как ресурс к сессиям.

Ключевые возможности:

  • Персистентность: Данные сохраняются между сессиями.
  • Гибкость: Можно создавать множество хранилищ (на пользователя, рабочую область и т.д.).
  • Мощный интерфейс: Монтируется как файловая система. Агент может использовать bash, grep, читать и писать файлы.
  • Контроль доступа: Можно настроить доступ только для чтения (read-only) или для чтения и записи (read-write).

Как использовать:

  1. Создать Memory Store через CLI или Console.
  2. Подключить его к сессии, указав memory_store_id и опциональный prompt для фокусировки агента.
  3. Агент автоматически получает инструменты для работы с хранилищем.

Пример работы:

  • Сессия 1 (Запись): Агенту сообщают новую информацию. Он записывает её в файл внутри Memory Store.
  • Сессия 2 (Чтение): Новый агент в другой сессии, подключённый к тому же хранилищу, ищет информацию с помощью grep и находит ранее записанные данные.

Dreaming: Улучшение памяти асинхронно

Проблема: Агенты могут бесконечно "сваливать" информацию в Memory Store, что приводит к его разрастанию, беспорядку и устареванию данных.

Dreaming — это фоновый асинхронный процесс (задача), который анализирует и улучшает Memory Store.

Что делает Dreaming:

  • Проверяет факты (fact-checking).
  • Организует и консолидирует информацию.
  • Удаляет дубликаты (deduplication).
  • Обогащает данные: добавляет недостающие детали, даты, метаданные.
  • Создаёт индекс для эффективного поиска.

Как запустить:

  1. Указать входной Memory Store и список ID сессий (транскриптов) для анализа.
  2. Выбрать модель (например, Claude Opus для качества или Sonnet для экономии).
  3. Добавить опциональные инструкции для кастомизации.
  4. Запустить задачу. Она работает асинхронно, от нескольких минут до часов.

⚙️ Принцип работы Dreaming под капотом

  • Это мульти-агентская система.
  • Оркестратор запускает суб-агентов (по одному на каждую входную сессию) для exhaustive-анализа.
  • Процесс недеструктивный: создаётся новый выходной (output) Memory Store, входной не изменяется.
  • Обеспечивается полная наблюдаемость: можно смотреть на сессию самого Dreaming-процесса в Console.
  • Результат: Выходное хранилище содержит лучше организованную, проверенную и обогащённую информацию, что повышает эффективность и "интеллект" будущих агентов.

🖥️ Управление через Console и CLI

  • Console предоставляет UI для просмотра Memory Stores (как файловый менеджер), Dreaming-задач и их диффов.
  • CLI позволяет управлять всем программно: создавать хранилища, запускать dreaming, проверять статусы.
  • Человек в цикле: Можно вручную редактировать файлы в Memory Store или проверять результаты Dreaming перед использованием.

Композиция и лучшие практики

  1. Сессия → Изолированный инстанс агента (ephemeral).
  2. + Memory Store → Возможность переноса информации между сессиями.
  3. + Dreaming → Поддержание памяти в актуальном, организованном и богатом состоянии при масштабировании.

⚖️ Вопрос стоимости (токенов)

  • Dreaming использует много токенов, так как стремится к exhaustive-анализу.
  • Высокий cache hit-rate (~95%) благодаря агентской обработке.
  • Способы контроля: выбор более лёгкой модели, настройка промпта, бюджетирование. В будущем возможны скидки по аналогии с Batch API.

Понравился разбор?

В канале «ИИ для чайников» — новый гайд каждый день

Перейти в канал

Память — это ключ к преодолению изоляции агентов. Вместе Memory Store и Dreaming создают мощную систему для долгосрочной работы с информацией, позволяя строить сложные, интеллектуальные и надёжные агентские workflows.

Часто задаваемые вопросы

Memory Store подключается как ресурс к сессии. Агент автоматически получает инструменты для работы с хранилищем: может использовать bash, grep, читать и писать файлы как с обычной файловой системой. Контроль доступа настраивается: read-only или read-write.
Memory Store — это хранилище данных, в которое агенты пишут и читают информацию между сессиями. Dreaming — это фоновый асинхронный процесс, который анализирует содержимое Memory Store, проверяет факты, удаляет дубликаты и обогащает данные.
Dreaming работает асинхронно и может занять от нескольких минут до часов в зависимости от объёма данных и выбранной модели (Opus медленнее, но качественнее; Sonnet быстрее и дешевле). Мульти-агентская архитектура обеспечивает exhaustive-анализ.
Нет, процесс недеструктивный. Dreaming создаёт новый выходной Memory Store, оставляя входной без изменений. Это позволяет сравнивать результаты и откатываться при необходимости, сохраняя исходные данные.

Скачать гайд

Полная версия с примерами и подробными инструкциями.

📢 ИИ для чайников