Lucid.so メモリバックエンド
Lucid バックエンドは PRX を Lucid.so に接続します。Lucid.so は AI 駆動のメモリサービスで、マネージドストレージ、セマンティック検索、自動メモリ整理を提供します。ホスティングソリューションを好むチームのための、ローカル SQLite および PostgreSQL バックエンドの代替として機能します。
概要
Lucid.so は AI エージェント向けに設計されたクラウドホスティングメモリプラットフォームです。以下を処理します:
- 自動重複排除付きの永続メモリストレージ
- ホスティングされたエンベディングモデルによるセマンティック検索
- 自動トピッククラスタリングとメモリ整理
- 複数のエージェントインスタンス間でのクロスセッションメモリ共有
- 設定可能な保持ポリシーによるメモリライフサイクル管理
ローカルバックエンド(SQLite、PostgreSQL)とは異なり、Lucid はデータベース管理が不要です。メモリは Lucid のインフラに保存され、REST API を通じてアクセスされます。
Lucid を使用するタイミング
| シナリオ | 推奨バックエンド |
|---|---|
| シングルユーザーのローカルエージェント | SQLite |
| マルチユーザーのオンプレミスデプロイメント | PostgreSQL |
| クラウドファーストチーム、最小限の運用オーバーヘッド | Lucid |
| デバイス間メモリ共有 | Lucid |
| エアギャップまたはオフライン環境 | SQLite または PostgreSQL |
| データ所在地の完全な制御 | SQLite または PostgreSQL |
前提条件
- Lucid.so アカウント(lucid.so でサインアップ)
- Lucid ダッシュボードからの API キー
- ワークスペース ID(初回使用時に自動作成、または既存のものを指定)
クイックセットアップ
1. API 認証情報の取得
- Lucid ダッシュボード にサインイン
- 「Settings」→「API Keys」に移動
- 「Memory Read/Write」権限で新しい API キーを作成
- API キーとワークスペース ID をコピー
2. 設定
toml
[memory]
backend = "lucid"
[memory.lucid]
api_key = "luc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
workspace_id = "ws_abc123"3. 確認
bash
prx doctor memoryLucid API への接続をテストし、API キーに必要な権限があることを確認します。
設定リファレンス
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
api_key | String | 必須 | メモリ読み書き権限を持つ Lucid.so API キー |
workspace_id | String | 自動作成 | メモリ分離のためのワークスペース ID。省略すると初回使用時に自動作成 |
base_url | String | "https://api.lucid.so/v1" | Lucid API ベース URL。セルフホストまたはリージョナルエンドポイント用にオーバーライド |
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 は Lucid API に送信します:
- メモリテキストとメタデータが
/memoriesへの POST リクエストとして送信 - Lucid がホスティングされたエンベディングモデルでテキストをエンベッド
- メモリがキーワード検索とセマンティック検索の両方でインデックスされる
auto_topicsが有効な場合、Lucid がトピックラベルを自動割り当て
メモリリコール
エージェントがコンテキストを必要とする場合、PRX は Lucid にクエリします:
- 現在の会話コンテキストがリコールクエリとして送信
- Lucid がハイブリッド検索(セマンティック類似度 + キーワードマッチング)を実行
- 結果が関連性でランク付けされ、
similarity_thresholdでフィルタ - Top-K の結果がテキスト、メタデータ、関連性スコアと共に返却
メモリ整理
Lucid はサーバーサイドのメモリ管理を提供します:
- 重複排除 -- 準重複メモリが自動的にマージ
- トピッククラスタリング -- 手動分類なしでメモリがトピックにグループ化
- コンパクション -- 古いまたは関連性の低いメモリを要約・統合可能
- 保持 --
retention_daysに従って期限切れメモリが削除
ローカルバックエンドとの比較
| 機能 | SQLite | PostgreSQL | Lucid |
|---|---|---|---|
| セットアップの複雑さ | なし | 中程度 | 最小(API キー) |
| データ所在地 | ローカル | セルフホスト | クラウド(Lucid サーバー) |
| セマンティック検索 | エンベディングアドオン経由 | pgvector アドオン経由 | 組み込み |
| 自動重複排除 | なし | なし | あり |
| 自動トピッククラスタリング | なし | なし | あり |
| デバイス間共有 | なし | あり(ネットワーク) | あり(クラウド) |
| オフライン動作 | あり | あり | なし |
| コスト | 無料 | 無料(セルフホスト) | 無料プラン + 有料プラン |
| スケーラビリティ | ~10 万メモリ | 数百万 | 数百万(マネージド) |
環境変数
CI/CD やコンテナ化されたデプロイメントでは、認証情報を環境変数で設定できます:
bash
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--200ms)
- セルフホスト Lucid デプロイメントには別途ライセンスが必要
トラブルシューティング
「Authentication failed」エラー
- Lucid ダッシュボードで API キーが正しく、失効していないことを確認
- API キーに「Memory Read/Write」権限があることを確認
base_urlが正しい Lucid エンドポイントを指していることを確認
メモリリコールが結果を返さない
- Lucid ダッシュボードでメモリが保存されていることを確認
similarity_thresholdを下げて(例:0.3)結果がフィルタされていないか確認workspace_idがメモリが保存されたワークスペースと一致することを確認
リコールクエリの高レイテンシ
top_kを減らしてクエリあたりの結果数を削減- Lucid API エンドポイントへのネットワークレイテンシを確認
- Lucid がデプロイメントに近いリージョナル
base_urlを提供している場合は使用を検討
メモリがセッション間で永続化しない
[memory]セクションでbackend = "lucid"が設定されていることを確認- すべてのエージェントインスタンスで
workspace_idが一貫していることを確認 - 永続化の失敗を示す書き込みエラーがないか PRX ログを確認
関連ページ
- メモリシステム概要
- SQLite バックエンド -- ローカルの単一ファイル代替
- PostgreSQL バックエンド -- セルフホストのマルチユーザー代替
- エンベディングバックエンド -- ローカルベクトルベースのセマンティックメモリ
- メモリハイジーン -- コンパクションとクリーンアップ戦略