AI News HubLIVE
站内改写

Show HN: スケーラブルなAIメモリのためのオープンソースツールキット

LithiumはPostgreSQL ltreeをベースにした階層型バージョン管理ストレージエンジンで、決定論的でスコープ指定された検索、組み込みのバージョニング、ゼロランタイム依存を提供します。MCPサーバーを介してAIツールと統合し、AIエージェントのメモリ、意思決定追跡などのユースケースに適しています。

記事インテリジェンス

エンジニア上級

要点

  • PostgreSQL ltreeを使用した階層型バージョン管理ストレージ、グラフデータベースより高速
  • スコープ指定検索と組み込みバージョニングを備えたTypeScript API
  • ClaudeなどのAIツールと接続するためのMCPサーバー
  • ゼロランタイム依存、既存のPostgreSQLインフラを活用

重要な理由

このニュースが重要なのは、PostgreSQL ltreeを使用した階層型バージョン管理ストレージ、グラフデータベースより高速ためです。

技術的影響

モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。

Lithiumは、AIメモリシステム向けに設計されたオープンソースツールキットで、ツリー構造データのスケーラビリティ問題を解決します。グラフデータベースのようにグラフトラバーサルに依存するのではなく、PostgreSQLのltree拡張機能を利用してインデックスベースのサブツリー検索を実現し、クエリ速度を大幅に向上させます。

なぜLithiumなのか?

メモリグラフはツリー構造データにはスケールしません。グラフトラバーサルがボトルネックになります。ベクトル検索は「Xに類似」を返しますが、必要なのは「X以下のすべて」です。PostgreSQLのltreeはツリークエリをはるかに高速に処理します。インデックスベースのサブツリールックアップであり、トラバーサルではありません。LithiumはこれをクリーンなTypeScript APIでラップし、バージョニングを内蔵しています。

主要機能

  • 構造: ツリー階層(任意グラフではなく)
  • クエリ速度: ltreeインデックスベース(グラフトラバーサルではなく)
  • 検索: 決定論的、スコープ指定(パターンマッチングではなく)
  • バージョニング: 内蔵、不変(手動上書きではなく)
  • インフラ: 既存のPostgresを活用(別サービス不要)

パッケージ

  • @lithium-ai/core: ゼロ依存ストレージエンジン
  • @lithium-ai/postgres: PostgreSQL ltreeアダプター
  • @lithium-ai/drizzle: Drizzle ORMアダプター
  • @lithium-ai/mcp: AIツール向けMCPサーバー

クイックスタート

前提条件: ltree拡張機能を持つPostgreSQL。Drizzleを使用する場合、@lithium-ai/core@lithium-ai/drizzleをインストールし、new Lithium(drizzleAdapter(db))で初期化。生のPostgresを使用する場合、@lithium-ai/postgrespostgresをインストールし、接続オブジェクトを渡す。階層の作成: lithium.clusters.create({ name: "infra" })、サブクラスターとエントリーを追加し、lithium.getContext({ path: "infra" })でスコープ指定検索。

Claudeへの接続

MCPサーバーを通じて、LithiumをClaude Codeと統合できます。サーバーファイルで、カスタムテーブルから実際のコンテンツをロードするためのコンテンツリゾルバーを設定し、serveMcp(lithium)を実行します。Claude Codeの設定にMCPサーバーエントリを追加すれば使用可能です。

データモデル

エントリーは純粋な構造であり、コンテンツはユーザー自身のテーブルに保存され、エントリーバージョンIDで参照されます。モデルにはCluster(id, parentId, path, name, description)、Entry(id, clusterId)、EntryVersion(id, entryId, version, createdAt)が含まれます。ユーザーのコンテンツテーブルはEntryVersionを外部キーで参照します。

API概要

  • クラスター操作: create、findByPath、list、listDescendantIds(ltreeサブツリークエリ)
  • エントリー操作: create、update(自動インクリメントバージョン)、get、list、listWithLatestVersion
  • コンテキスト操作: getContext(オプションのコンテンツリゾルバー付きスコープ指定検索)

エラーハンドリング: すべてのメソッドはResultオブジェクトを返し、例外はスローしません。

マイグレーション

Drizzleユーザーはスキーマをインポートし、drizzle-kit pushを使用。生SQLユーザーは提供されたマイグレーションファイルを実行し、事前にltree拡張機能を有効にしておく必要があります。

ロードマップ

コアストレージエンジン、PostgreSQLアダプター、MCPサーバー、Drizzleアダプター、CI、統合テストは完了。計画にはトランザクションサポート、MCP書き込みツール、サンプルプロジェクト、Prismaアダプターが含まれます。

ユースケース

  • AIエージェントのメモリ(構造化検索、スコープ指定コンテキスト)
  • チーム間の意思決定追跡
  • 設定のバージョン管理
  • ドキュメント階層

現在、LithiumはGitHubでMITライセンスの下で公開されており、2つのスターを獲得しています。プロジェクトチームはトランザクションをサポートするv0.0.5をリリースし、活発に開発を続けています。