memv: AIエージェントのためのオープンソースメモリシステム

memvは、知識抽出に独自のアプローチを採用したAIエージェント向けのオープンソースメモリシステムです。あらゆる事実を抽出し、整理に検索に大きく依存する従来のメモリシステムとは異なり、memvは予測エラーのみを保存することに焦点を当てています。これは予測-調整抽出を採用しており、新しいインタラクションから知識を抽出する前に、既存の知識に基づいてそのエピソードが含むべき内容を予測します。重要性は初期の大規模言語モデル(LLM)のスコアリングではなく驚きに由来するため、予期しなかった事実のみが保存されます。
主な詳細
- 二時点モデル: 各事実はイベント時間とトランザクション時間の両方で追跡され、「1月にこのユーザーについて何を知っていたか?」といったクエリが可能です。
- ハイブリッド検索: ベクトル類似性(sqlite-vec)とBM25テキスト検索(FTS5)を相互順位融合(Reciprocal Rank Fusion)で組み合わせて利用します。
- 矛盾処理: 新しい事実は自動的に古い矛盾する事実と矛盾し無効化しますが、完全な履歴は保持されます。
- SQLiteデフォルト: 外部依存関係ゼロ - Postgres、Redis、Pineconeは不要です。
- フレームワーク非依存: LangGraph、CrewAI、AutoGen、LlamaIndex、またはプレーンなPythonで動作します。
- MITライセンス: Python 3.13+と互換性があり、非同期操作を利用します。
memvを使用したサンプルセットアップ:
from memv import Memory
from memv.embeddings import OpenAIEmbedAdapter
from memv.llm import PydanticAIAdapter
memory = Memory(
db_path="memory.db",
embedding_client=OpenAIEmbedAdapter(),
llm_client=PydanticAIAdapter("openai:gpt-4o-mini"),
)
async with memory:
await memory.add_exchange(
user_id="user-123",
user_message="I just started at Anthropic as a researcher.",
assistant_message="Congrats! What's your focus area?",
)
await memory.process("user-123")
result = await memory.retrieve("What does the user do?", user_id="user-123")
このプロジェクトは現在初期段階(v0.1.0)であり、特に抽出アプローチと有用な統合可能性に関するフィードバックを歓迎しています。
📖 完全なソースを読む: r/LocalLLaMA
👀 See Also

Holaboss AI ランタイムが TypeScript に移行、永続的 MCP ポートを実装
Holaboss AIローカルエージェントランタイムは、TypeScriptのみを使用するようにリファクタリングされ、Pythonの依存関係を排除し、バンドルサイズを削減しました。再起動時の衝突を防ぐため、MCPサーバーポートをUNIQUE(port)制約付きのSQLiteに永続化するようになりました。

ルフロ:複数のAIエージェントをチームとして稼働させるオープンソースプラットフォーム
Rufloは、複雑なタスクをチームとして協力して取り組むために、多くのAIエージェントを同時に実行できるオープンソースプラットフォームです。以前はClaude Flowとして知られており、タスクを分割する必要があるワークフローの調整を支援します。

Tokenmeter: オフラインでClaude Codeのトークン使用量を追跡する無料Windowsアプリ
Tokenmeterは、ローカルのClaude Code .jsonlファイルを読み取り、トークン使用量、推定コスト、キャッシュ節約量、90日間のアクティビティヒートマップをすべてオフラインで表示する、無料のオープンソースWindowsアプリです。

複雑な検索パイプラインをLLMエージェント向けのシンプルなgitシェルコマンドに置き換える
ある開発者が、AIエージェントの検索パイプライン全体(sentence-transformers、rank-bm25、2段階LLMパイプライン)を、単一のツールに置き換えました。このツールにより、エージェントはgitリポジトリに対して読み取り専用のシェルコマンドを実行でき、Dockerイメージサイズを約3GB削減し、タイムアウト問題を解消しました。