AiHummer
Русский
ВойтиЛичный кабинет
v1.1.x
{ }Swagger

Einstein (плагин памяти)

v1.1.x · обновлено 2026-07-21

Einstein — официальный плагин долговременной памяти AiHummer. Он даёт агенту устойчивую, доступную для поиска память, которая переживает перезапуски и переключение разговоров, и при этом память никогда не превращается в «чёрный ящик». Главное правило простое: системное хранилище — PostgreSQL, а канонический Markdown — его человекочитаемая проекция, система индексирует и предлагает изменения. В режиме review каждое продвижение в долговременную память проходит проверку человеком; в режиме auto (умолчание) факт, явно сохранённый агентом через инструмент memory_store, становится доступен поиску сразу.

Плагин работает напрямую в Linux (без контейнеров) как отдельный небольшой Python-сервис (только стандартная библиотека — без тяжёлых фреймворков) и общается со шлюзом по контракту aihummer.memory.v1. Подсистема памяти внутри шлюза (утверждения-кандидаты, выдача, защитная обёртка данных) описана на странице концепции Память (Einstein); эта страница — про сам плагин, который её обеспечивает.

Факты

Поле Значение
Версия 1.0.0
Порт 8820
Среда Python (стандартная библиотека), без контейнеров

Что это такое

Einstein хранит память в виде человекочитаемого Markdown — канонической записи, которую человек может открыть, прочитать и отредактировать. Поверх этой записи он строит механизмы, нужные агенту в момент обработки запроса:

  • Выдача (retrieval) — получить память, релевантную текущему разговору.
  • Поиск — полнотекстовый и по эмбеддингам поиск по сохранённым фактам.
  • Эмбеддинги — векторы для семантической выдачи, отдаются по HTTP.

Поскольку Markdown каноничен, в индексах нет ничего незаменимого: их можно перестроить из этой канонической записи в любой момент, и проверяющий всегда читает тот же текст, что и агент.

Как используется

В момент обработки запроса шлюз запрашивает у Einstein память, релевантную текущему контексту. Выдача приходит модели как результат инструмента, обёрнутый в защитную обёртку данных (data-fence), а не как внедрённые инструкции — защитная обёртка снижает риск интерпретации найденного текста как инструкции, но не заменяет ограничения инструментов, одобрения и тестирование на prompt-инъекции. Новые факты, замеченные в разговоре, извлекаются как утверждения-кандидаты с доказательствами и ставятся в очередь на проверку, а не пишутся в память напрямую.

Отдельный путь — явное сохранение инструментом memory_store: агент может сохранить факт сам. Как этот факт записывается, определяет режим захвата памяти ядра: при auto (умолчание) факт сразу становится доступен поиску, при review и off — становится кандидатом и ждёт одобрения. Результат инструмента содержит поле searchable_now, по которому агент честно сообщает, доступен ли сохранённый факт немедленно.

[!NOTE] Система индексирует и предлагает, но не переписывает каноническую память без одобрения. В режиме review продвижение утверждения в долговременную память — осознанный шаг с проверкой человеком; в режиме auto (умолчание) явные факты агента доступны поиску сразу. Режим памяти (auto / review / off) и режим выдачи (fulltext / embedding) — настройки ядра (AIHUMMER_MEMORY_CAPTURE / AIHUMMER_MEMORY_RETRIEVAL в Каталоге настроек), а не форма плагина.

Платформа памяти v2 (включена из коробки)

Einstein поставляется с полной платформой памяти v2: основные функции доступны после установки — извлечение утверждений-кандидатов, очередь проверки, фоновый деривер (факты, связи, сущности из свидетельств), проход объединения и уточнения памяти (dream: дедупликация и самоисцеление), граф памяти и обнаружение противоречий. Режим проверки памяти, эмбеддер и векторное хранилище настраиваются отдельно — настройками ядра. Сам Einstein настраивается вендором: операторских настроек у плагина нет, и на странице «Плагины» у него доступна только кнопка обновления.

[!NOTE] В режиме review утверждение требует одобрения записи в каноническую память (MEMORY.md); в режиме auto этот шаг пропускается. Все воркеры v2 пишут только в отдельное sidecar-хранилище и не трогают канонический Markdown. Когда Einstein выводит правку, которую стоит зафиксировать в канон, она показывается в интерфейсе проверки и применяется одним кликом — так базовая гарантия сохраняется: каноническая память не переписывается без одобрения. Это продуктовое решение, а не операторская настройка.

Установка

Einstein — встроенный плагин: он устанавливается автоматически для каждого арендатора, помечен в списке плагинов меткой «Встроенный» и не может быть удалён — память является частью ядра продукта. Сам модуль всегда присутствует, но сбор памяти можно отключить: режим памяти off (настройка ядра AIHUMMER_MEMORY_CAPTURE) останавливает пополнение памяти, не убирая модуль. Отдельно устанавливать его не нужно; полный жизненный цикл обычных плагинов описан на странице Установка и обновления. Никаких контейнеров — Einstein работает как собственный systemd-сервис рядом с gateway.

Безопасность и ограничения

  • Канонический Markdown — читаемая проекция. Системное хранилище — PostgreSQL; индексы и эмбеддинги выводимы; человек проверяет и редактирует именно канонический текст.
  • Без тихих перезаписей. Базовые функции работают из коробки, а запись в канон в режиме reviewed_ui проходит одобрение человеком одним кликом; воркеры пишут только в sidecar и не трогают канонический Markdown.
  • Выдача в защитной обёртке. Память доходит до модели как огороженный вывод инструмента, а не как инструкции, что снижает риск косвенных инъекций в промпт (но не отменяет ограничения инструментов и одобрения).
  • Защищённый веб-интерфейс. Интерфейс проверки/управления плагина закрыт контролем доступа.
  • Без контейнеров. Работает под systemd, не в контейнере.

Куда дальше