Бэкенд памяти Lucid.so
Бэкенд Lucid подключает PRX к Lucid.so, AI-управляемому сервису памяти, предоставляющему управляемое хранилище, семантический поиск и автоматическую организацию памяти. Он служит альтернативой локальным бэкендам SQLite и PostgreSQL для команд, предпочитающих хостинговое решение.
Обзор
Lucid.so -- облачная платформа памяти, разработанная для AI-агентов. Она обеспечивает:
- Постоянное хранение памяти с автоматической дедупликацией
- Семантический поиск на базе хостинговых моделей эмбеддингов
- Автоматическую кластеризацию по темам и организацию памяти
- Межсессионное совместное использование памяти несколькими экземплярами агента
- Управление жизненным циклом памяти с настраиваемыми политиками хранения
В отличие от локальных бэкендов (SQLite, PostgreSQL), Lucid не требует управления базами данных. Воспоминания хранятся в инфраструктуре Lucid и доступны через их REST API.
Когда использовать Lucid
| Сценарий | Рекомендуемый бэкенд |
|---|---|
| Локальный агент для одного пользователя | SQLite |
| Многопользовательское on-premise развёртывание | PostgreSQL |
| Облачная команда, минимальные накладные расходы на эксплуатацию | Lucid |
| Межустройственное совместное использование памяти | Lucid |
| Изолированные или офлайн среды | SQLite или PostgreSQL |
| Полный контроль над размещением данных | SQLite или PostgreSQL |
Предварительные требования
- Учётная запись Lucid.so (регистрация на lucid.so)
- API-ключ из панели управления Lucid
- ID рабочего пространства (создаётся автоматически при первом использовании или укажите существующее)
Быстрая настройка
1. Получение API-учётных данных
- Войдите в Панель управления Lucid
- Перейдите в "Settings", затем "API Keys"
- Создайте новый API-ключ с правами "Memory Read/Write"
- Скопируйте API-ключ и ID рабочего пространства
2. Конфигурация
[memory]
backend = "lucid"
[memory.lucid]
api_key = "luc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
workspace_id = "ws_abc123"3. Проверка
prx doctor memoryЭто проверяет подключение к API Lucid и валидирует наличие у API-ключа необходимых прав.
Справочник конфигурации
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
api_key | String | обязательный | API-ключ Lucid.so с правами чтения/записи памяти |
workspace_id | String | автосоздание | ID рабочего пространства для изоляции памяти. Опустите для автосоздания при первом использовании |
base_url | String | "https://api.lucid.so/v1" | Базовый URL API Lucid. Переопределите для self-hosted или региональных эндпоинтов |
timeout_secs | u64 | 30 | Таймаут HTTP-запросов в секундах |
max_retries | u32 | 3 | Максимум попыток повтора при временных сбоях |
retry_backoff_ms | u64 | 500 | Начальная задержка между повторами (экспоненциальная) |
batch_size | usize | 50 | Количество воспоминаний на пакетный запрос записи |
top_k | usize | 10 | Количество результатов по умолчанию для запросов вспоминания |
similarity_threshold | f64 | 0.5 | Минимальный балл сходства (0.0--1.0) для результатов вспоминания |
auto_topics | bool | true | Включить автоматическую кластеризацию по темам Lucid |
retention_days | u64 | 0 | Автоудаление воспоминаний старше N дней. 0 = хранить вечно |
Как это работает
Хранение памяти
Когда агент сохраняет воспоминание, PRX отправляет его в API Lucid:
- Текст и метаданные воспоминания отправляются POST-запросом на
/memories - Lucid преобразует текст в эмбеддинг с помощью хостинговой модели
- Воспоминание индексируется как для поиска по ключевым словам, так и для семантического поиска
- При включённом
auto_topicsLucid автоматически присваивает тематические метки
Вспоминание
Когда агенту нужен контекст, PRX запрашивает Lucid:
- Контекст текущего разговора отправляется как запрос вспоминания
- Lucid выполняет гибридный поиск (семантическое сходство + поиск по ключевым словам)
- Результаты ранжируются по релевантности и фильтруются по
similarity_threshold - Возвращаются top-K результатов с текстом, метаданными и баллами релевантности
Организация памяти
Lucid обеспечивает серверное управление памятью:
- Дедупликация -- почти-дублирующиеся воспоминания объединяются автоматически
- Кластеризация по темам -- воспоминания группируются по темам без ручной категоризации
- Компактизация -- старые или малорелевантные воспоминания могут быть обобщены и консолидированы
- Хранение -- просроченные воспоминания удаляются согласно
retention_days
Сравнение с локальными бэкендами
| Возможность | SQLite | PostgreSQL | Lucid |
|---|---|---|---|
| Сложность настройки | Отсутствует | Средняя | Минимальная (API-ключ) |
| Размещение данных | Локальное | Self-hosted | Облако (серверы Lucid) |
| Семантический поиск | Через дополнение эмбеддингов | Через дополнение pgvector | Встроенный |
| Автодедупликация | Нет | Нет | Да |
| Автокластеризация по темам | Нет | Нет | Да |
| Межустройственное использование | Нет | Да (сеть) | Да (облако) |
| Офлайн-работа | Да | Да | Нет |
| Стоимость | Бесплатно | Бесплатно (self-hosted) | Бесплатный уровень + платные планы |
| Масштабируемость | ~100K воспоминаний | Миллионы | Миллионы (управляемо) |
Переменные окружения
Для CI/CD или контейнеризованных развёртываний учётные данные можно задать через переменные окружения:
export PRX_MEMORY_LUCID_API_KEY="luc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export PRX_MEMORY_LUCID_WORKSPACE_ID="ws_abc123"Переменные окружения имеют приоритет над значениями конфигурационного файла.
Обработка ошибок
Бэкенд Lucid корректно обрабатывает временные ошибки:
- Сетевые сбои -- повторяются до
max_retriesраз с экспоненциальной задержкой - Ограничение частоты -- ответы 429 запускают автоматическую задержку с использованием заголовка
Retry-After - Ошибки аутентификации -- логируются как ошибки; агент продолжает работу без памяти вместо аварийного завершения
- Таймаут -- запросы, превысившие
timeout_secs, отменяются и повторяются
Когда Lucid недоступен, PRX деградирует корректно: агент работает без вспоминания памяти до восстановления связи. Воспоминания не теряются -- отложенные записи ставятся в очередь и сбрасываются при восстановлении соединения.
Ограничения
- Требуется подключение к интернету; не подходит для изолированных сред
- Данные памяти хранятся в инфраструктуре Lucid; ознакомьтесь с их соглашением об обработке данных для соответствия требованиям
- Бесплатный уровень имеет ограничения на хранение и количество запросов (актуальные детали на странице ценообразования Lucid)
- Задержка выше, чем у локальных бэкендов, из-за сетевых обращений (обычно 50--200мс на запрос)
- Self-hosted развёртывания Lucid требуют отдельной лицензии
Устранение неполадок
Ошибка "Authentication failed"
- Проверьте, что API-ключ корректен и не отозван в панели управления Lucid
- Убедитесь, что API-ключ имеет права "Memory Read/Write"
- Проверьте, что
base_urlуказывает на правильный эндпоинт Lucid
Вспоминание не возвращает результатов
- Проверьте наличие сохранённых воспоминаний через панель управления Lucid
- Понизьте
similarity_threshold(напр., до0.3), чтобы проверить, не фильтруются ли результаты - Убедитесь, что
workspace_idсовпадает с рабочим пространством, где были сохранены воспоминания
Высокая задержка при запросах вспоминания
- Уменьшите
top_kдля возврата меньшего количества результатов на запрос - Проверьте сетевую задержку до эндпоинта API Lucid
- Рассмотрите использование регионального
base_url, если Lucid предлагает более близкие эндпоинты
Воспоминания не сохраняются между сессиями
- Подтвердите, что
backend = "lucid"установлен в секции[memory] - Проверьте, что
workspace_idодинаков для всех экземпляров агента - Проверьте логи PRX на наличие ошибок записи, указывающих на неудачное сохранение
Связанные страницы
- Обзор системы памяти
- Бэкенд SQLite -- локальная однофайловая альтернатива
- Бэкенд PostgreSQL -- self-hosted многопользовательская альтернатива
- Бэкенд эмбеддингов -- локальная векторная семантическая память
- Гигиена памяти -- стратегии компактизации и очистки