What is YAMS?
YAMS (Yet Another Memory System) は、LLM(大規模言語モデル)やその他のデータ集約型アプリケーションを開発するデベロッパー向けに設計された、高性能な永続メモリシステムです。効率的で耐久性があり、高度に検索可能なストレージ基盤をプロジェクトに提供することで、長期記憶とコンテキストに関する重要な課題を解決します。
主要機能
🗄️ インテリジェントな重複排除ストレージ YAMSは、SHA-256ハッシュ化によるコンテンツアドレス型ストレージ (CAS) を採用しており、あらゆるデータが不変かつ検証可能に保存されることを保証します。さらに、ブロックレベルの重複排除 (Rabin fingerprinting) と効率的な圧縮 (zstd/LZMA) を採用することで、ユニークなデータブロックのみを保存し、ストレージ消費量を劇的に削減します。これにより、コードのリビジョンや会話ログのような膨大な量の情報を、最小限のストレージオーバーヘッドで保存できます。
🔍 高度なハイブリッド検索 探し方に関わらず、必要なものを正確に見つけられます。YAMSは、正確なキーワードマッチングのためのフルテキスト検索 (SQLite FTS5を活用) と、概念的に類似した情報を見つけるためのセマンティックベクトル検索の両方を統合しています。このデュアル検索機能により、特定の用語や抽象的なアイデアに基づいてドキュメントを検索・取得できるため、知識ベースの構築やコンテキストの呼び出しに非常に強力です。
🛡️ 内蔵バージョン管理と耐久性 各ドキュメントが固有のコンテンツハッシュによって保存されるため、YAMSは自動的かつ包括的なバージョン管理システムを提供します。変更を容易に追跡し、バージョンをコレクションに整理し、スナップショットで特定時点の状態をキャプチャできます。さらに、Write-Ahead Logging (WAL) の使用により、クラッシュが発生した場合でもデータが安全で回復可能であることを保証します。
⚙️ シームレスな開発者統合 YAMSは、あなたのワークフローに直接フィットするように構築されています。スクリプト作成や自動化に最適な高速でポータブルなコマンドラインインターフェース (CLI)、Claude Desktopのようなツールとの直接統合のためのシンプルなMCPサーバー、そしてより深いプログラム制御のためのC++/Python APIを提供します。
ユースケース
1. LLMに永続的な記憶力を持たせる 会話履歴、研究資料、ユーザーコンテキストをYAMSに保存します。LLMが過去のインタラクションや情報を呼び出す必要がある場合、迅速なセマンティック検索を実行して関連するコンテキストを取得し、プロンプトにフィードバックできます。これにより、AIエージェントはセッションをまたいで継続性と知識を維持できるようになります。
2. よりスマートな開発者ワークフローを構築する 開発プロジェクトのローカル知識ベースとしてYAMSを使用します。コードスニペット、APIドキュメント、アーキテクチャ上の決定、エラーログを保存します。数週間後に同様の問題に遭遇した際、YAMSストレージで元の解決策やコンテキストを検索し、大幅な時間と労力を節約できます。
3. 個人的な、検索可能な知識ベースを構築する 記事、メモ、重要なドキュメントをYAMSにアーカイブします。PDFテキスト抽出と強力な検索のサポートにより、デジタルライブラリ全体から情報を即座に見つけることができます。TUIブラウザ (yams browse) を使用して、保存されたコンテンツを対話的に探索できます。
ユニークな利点
YAMSは、通常、個別の専門ツールに見られる機能を、一つの統合された高性能システムに統合することで、際立っています。
ほとんどのベクトルデータベースとは異なり、セマンティック検索のみに焦点を当てていますが、YAMSは、ベクトル検索と堅牢なFTS5搭載のフルテキスト検索、そして豊富なメタデータフィルタリングを組み合わせています。これにより、概念、キーワード、またはタグで柔軟にクエリを実行できます。
従来のファイルストレージシステムは効率性に欠けますが、YAMSは高度なブロックレベル重複排除を採用しています。これは、数千のわずかに異なるバージョンのファイルを保存する場合でも、数千の完全なコピーではなく、ユニークに変更されたブロックのみを保存することを意味します。
データ整合性のためのコンテンツアドレス型ストレージ、効率性のための高度な重複排除、そして強力な検索のためのハイブリッド検索を、単一の、デプロイが容易なバイナリで統合する唯一のソリューションです。
結論
YAMSは、ステートレスなアプリケーションの制限を克服したいと考えるあらゆるデベロッパー、特にLLMのコンテキストにおいて、強力かつ実用的なツールです。耐久性があり、省スペースで、高度に検索可能なメモリレイヤーを提供することで、よりインテリジェントで、コンテキストを認識し、高性能なシステムを構築することを可能にします。
公式ドキュメントを参照してYAMSの利用を開始し、次のプロジェクトに統合してください!





