Узнайте, как улучшить память AI-агентов с помощью reinforcement learning. Разберите библиотеку memcell-rl и её практическое применение.
Каждый production-агент использует память: хранит факты, ограничения, предпочтения пользователя. Агент извлекает их, выполняет задачи, вы итеративно улучшаете систему. Но есть разрыв в цикле: вы никогда не знаете, какие решения о памяти были удачными.
Помогло ли то ограничение на самом деле? Сократило ли извлечение предпочтения лишние токены? Привело ли сохранение старого факта сессии к молчаливому провалу задачи? Вы понятия не имеете. Агент постоянно принимает решения о памяти, и ни одно из них не оставляет следа, по которому можно учиться.
Я начал думать об этом иначе. Каждый раз, когда агент решает, что запомнить, — это решение. А решения можно рассматривать как действия в смысле reinforcement learning — с состояниями, наградами и измеримыми результатами.
Так родился memcell-rl.
Каждая ячейка памяти в memcell-rl типизирована. Это не просто строка — у неё есть cell_type (constraint, preference, fact, episode), scope (global, session, task), оценка критичности (criticality) и уровень чувствительности (sensitivity). Эти метаданные используются политикой для принятия решений.
Когда ваш агент спрашивает «что мне сейчас запомнить?», система запускает политику, выбирает ячейки и — ключевой момент — логирует полный переход:
Со временем накапливается датасет. Вы можете экспортировать его и обучить политику, которая учится на реальных результатах, а не на правилах, написанных заранее.
baseline_v0 — rule-based. Жёсткое подавление для истёкших или удалённых ячеек. Карантинные проверки перед использованием чувствительных данных. Приоритетное соблюдение бюджета токенов. Это работает, но статично.
Интересный вопрос — к которому я иду — как выглядит обученная политика. Та, что обучена на реальных сессиях агента и знает из данных, какие решения о памяти ведут к лучшим результатам.
Репозиторий экспортирует завершённые переходы через /v1/rl/dataset. Формат чист, чтобы подключить DQN, поведенческое клонирование или что угодно. Это долгосрочная цель.
Всё на SQLite. API — обычный HTTP. Вы можете запустить в Docker-контейнере, на ноутбуке, внутри CI-окружения. Никакие данные не покидают вашу машину.
Тестовый набор включает 42 теста, покрывающих полное API: enforcement политики, вычисление награды, RL-переходы, экспорт датасета. Все проходят без API-ключа.
pytest tests/ -q
42 passed in 1.83sЯ ещё на раннем этапе. Самая сложная часть — не API, а правильная функция награды для решений о памяти и проверка, обобщается ли обученная политика на разные нагрузки агентов.
Если вы строите агентов с реальными требованиями к памяти и сталкивались с этой проблемой, я искренне хочу поговорить. Оставьте комментарий или откройте issue.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →