AI・機械学習
Show HN: PMB – コーディングエージェントのためのローカルメモリで、使用状況を表示
Show HN: PMB – local memory for coding agents that shows if it is used (pmbai.dev)
要約
PMBは、コーディングエージェントのためのローカルメモリシステムで、APIキーやクラウドへの依存なしに、エージェントが記憶を効果的に利用しているかを表示します。BM25、ベクトル、エンティティグラフを組み合わせたハイブリッドリコールと、エージェントの作業を記録するジャーナル機能により、エージェントのコンテキスト理解を向上させます。完全にローカルで動作し、オープンソースであるため、開発者はプライバシーを保ちながらエージェントのパフォーマンスを最適化できます。
全文翻訳
あなたのマシン上で100%
APIキー不要
クラウド、テレメトリ不要
Apache-2.0、オープンソース
仕組み
要求を待たないメモリ
モデルが考える前に適切なメモリを注入するフックと、モデルの作業後に記録するジャーナルにより、読み取りパスでのLLM呼び出しや、エージェントが呼び出すことを覚えておく必要のあるツールはありません。
1 · 任意のエージェントが記録
__claude__Claude Code
__cursor__Cursor
__openai__Codex
メモリに書き込み
PMB · 一つのローカルメモリ
重要なことを想起
2 · 回答前に表示
レッスン0.94
ファイル0.88
決定0.81
01 · 読み取り
4–16ms
メモリ
エージェント
すべてのプロンプトで自動想起
すべてのメッセージはミリ秒未満で分類され、一致するレッスン、決定、プロジェクト概要がエージェントが推論する前にフェッチされます。
02 · 書き込み
< 1ms
エージェント
SQLite
LanceDB
ミリ秒未満の非同期書き込み
MCPツールは即座に返します。まずSQLiteに書き込み、エンベッドとLanceDBベクトル挿入はバックグラウンドスレッドで実行され、ターンのブロックは決してありません。
03 · 融合
94.5%想起@10
top-k
ハイブリッド想起、ランク付け
BM25 + 密なベクトル + エンティティグラフ + オプションの再ランク、Reciprocal-Rank-Fusionで融合。1回の呼び出しで、適切なものがランク付けされて返されます。
04 · 学習
正直なフォロー率
0.94
0.70
0.12
場所を稼ぐレッスン
すべてのルールは、エージェントが実際にそれに従うかどうかによってスコア付けされます。役立つものはスターが付けられ、無視されたものはデッドとフラグが付けられるため、役に立たないものを剪定できます。
マップ · ライブエンティティグラフ
探索できるグラフとしてのあなたの記憶
すべての事実、決定、レッスン、ファイル、エンティティがノードになり、タイプごとに色分けされ、重要度によってサイズが変更されます。1つをホバーすると他が薄暗くなり、隣接ノードが明るくなり、完全なメモリチャンクを読み取ることができます。
マップ
タイムライン
概要
レッスン
種類別
クラスター別
すべてのエッジ
強い
0エンティティ · 0接続 · 8クラスター
ドラッグ · スクロール · ホバー
タイムライン · Gitグラフジャーナル
すべての決定、レッスン、コミット、新しいものから順に
プロジェクトごとに1つのレーン、イベントタイプごとに色分けされたノード、ソフトな曲線で接続されています。ダッシュボードに付属しているのと同じジャーナルが、作業中に自動的に書き込まれます。
マップ
タイムライン
概要
レッスン
種類
モックアップではありません
これは実際のダッシュボードです
あなたのマシンから提供されるローカルWebアプリ。上記のマップとタイムラインはライブの再作成ですが、これは1つのプロジェクトのメモリをレンダリングする実際のものです。
マップ
タイムライン
5,229エンティティ
マップ · 149クラスターにわたる65,005接続、種類ごとに色分け
なぜ重要なのか
エージェントが記憶すると何が変わるのか
機能ではなく、結果。これが永続メモリがあなたの日常に実際にもたらすものです。
プロジェクトを再説明するのをやめる
すべてのセッションは、あなたの決定、慣習、そして先週の火曜日に遭遇したバグを既に知っている状態から始まります。新しいチャットに同じコンテキストを貼り付ける必要はありません。
コンテキストを失うことなくツールを切り替える
Claude Code、Cursor、Codex、Zedはすべて同じメモリを読み取ります。あなたのコンテキストはエディターではなく、あなたに追従するため、エージェントを変更してもコストはかかりません。
実際に信頼できるメモリ
PMBは各レッスンが従われたかどうかをスコアリングし、デッドなものにフラグを付けます。メモリが役に立たないときにそれを伝え、コンテキストが正直で肥大化しないようにします。
それが複合するのを見る
セッション1/5
初日:真っ白な状態
エージェントは何もない状態から始まります。あなたはプロジェクト、慣習、先週の火曜日に遭遇したバグを説明し、セッションの終わりにはすべてが消滅します。
12エンティティ
1レッスン
·
想起ヒット
S1
S2
S3
S4
S5
クイックスタート
7つのコマンド、あとはエージェントと話すだけ
アカウントなし、キーなし、何もあなたのマシンを離れません。ターミナルからすべてを検査するか、ダッシュボードを開いてください。
zsh · ~/pmb
pmb recall
fix the pricing bug in checkout⏎
Lnever lower NEGOTIATE/SKIP under 25%
lesson · PMB
0.94
Fverdict-policy.ts · line 142
file · opened Tue 14:32
0.88
Duse RRF over a learned weight
decision · 4 days ago
0.81
41のメモリのうち3つ · 35msで融合
ハイブリッド想起
統合
1つのコマンドでエージェントをMCPに接続
すべてがstdioを介して実行され、サーバーはエージェントの子プロセスです。ネットワーク、ポート、トークンはありません。
Claude Code
エージェントの設定に自動的にルールを追加
複数のエージェントを1つの共有ワークスペースに向ける
pmb doctorで配線を確認
任意のモデル · ローカルまたはホスト
独自のモデルを持ち込むか、オフラインで実行する
PMBは読み取りパスでLLMを呼び出すことはありません。オプションの要約とグラフ抽出パスは、完全にローカルのOllamaを含む、あなたが指定したものなら何でも実行されます。あなたのメモリはあなたのものです。
graph.extractor = llm:ollama
·ローカルモデルで抽出と要約を実行、100%オフライン、APIキーなし。
クイックスタート
60秒で実行開始
3つのコマンド、アカウントなし、設定なし。あとはいつも通り作業するだけです。
1インストール
1回のpip install。純粋なPython、macOS、Linux、Windowsで動作します。
$pip install pmb-ai
Copy
2エージェントを接続
PMBをMCP経由でエージェントに接続します。Cursor、Codex、Zedなどを切り替えることができます。
$pmb connect claude-code
Copy
3話すだけ
通常通り作業すると、PMBが自動的に記録と想起を行います。いつでもダッシュボードを開いて探索できます。
$pmb dashboard
Copy
アーキテクチャ
ディスク上のファイル、すべてがそこにあります
すべてのイベントはSQLiteに保存され、ベクトルはその隣のLanceDBに保存されます。cpでどこにでもコピーできます。信頼するサーバーは必要ありません。
あなたのエージェント
MCP · stdio
MCPサーバー
29ツール · prepare()
エンジン
ハイブリッドルーター
ハイブリッド想起
BM25 + ベクトル + グラフ · 35ms
非同期書き込み
埋め込みキュー · ミリ秒未満で返る
SQLite
LanceDB
あなたのディスク上
ベンチマーク
高速、ローカル、そして正直
ここにあるすべての数値は、PMB自身のエンジンで測定され、リポジトリから再現可能です。クラウドなし、読み取りパスにLLMなし、クエリあたりのコストなし。
94.6%
想起@10 (LoCoMo)
88ms
p50想起、2kメモリ
<1ms
非同期書き込み、ブロックしない
$0
想起あたり、完全にローカル
73.1%
回答精度 (J-score, LoCoMo)
検索品質 (recall@k)
MRR 0.774 · nDCG@10 0.816
68.4
85.0
89.4
94.6
k=1
k=3
k=5
k=10
LoCoMo-10 · 997質問 · LLMグレーダーなし · キャッシュオフ
想起レイテンシ vs メモリサイズ (p50 / p95)
p50
p95
100 ms
10
100
500
1k
2k
ウォームデーモン、キャッシュオフ、ローカルCPU。実際の約100メモリワークスペース:p50 24 ms。キャッシュ済み:約0.15 ms。
根本的に正直
メモリが役に立たないときにそれを伝える
すべてのレッスンにはsurface_idが付与されます。PMBはエージェントが実際にそれに従ったかどうかを、活動から確認または自動検出して追跡します。無視されたルールはデッドとフラグ付けされます。場所を稼いだものはスターが付けられます。虚栄的なメトリックはありません。
役に立つ
NEGOIATE/SKIPを25%未満にしない
役に立つ
最初の想起の前にpmbをウォームアップ
未確認
TSインデックスにはtree-sitterを優先する
デッド
編集時には常にフルスイートを再実行する
内部構造
退屈で耐久性のある部品で構築
エキゾチックなインフラストラクチャはありません。ローカルファイルと使い古されたライブラリ、5年後でも開けるようなものです。
メモリ衛生
自己手入れ
1年後でも想起は鋭いままです。メモリは自然に劣化、アーカイブ、重複排除され、あなたの知らないうちに何も削除されることはありません。
時間を加速
一時停止
書き込み
アクティブ
読み取り
劣化
圧縮
アーカイブ済み
あなた
デーモン
メモリは左から右に流れ、自己手入れされます。ステージをホバーするとパスを追うことができます。
1つのSQLiteファイル
FAQ
率直な回答
私のコードやデータがマシンを離れることはありますか?
いいえ。すべてローカルのSQLiteファイルに保存され、ベクトルはその隣のLanceDBに保存されます。読み取りパスでのネットワーク呼び出し、アカウント、テレメトリは一切ありません。インターネットの接続を解除しても機能します。
RAGやベクトルデータベースとはどう違うのですか?
2つの点があります。想起はハイブリッドで、BM25と密なベクトル、そしてエンティティグラフを組み合わせて融合し、ランク付けされます。そして、それは自動的です。適切なメモリはモデルが考える前に注入されます。パイプラインを構築したり、エージェントがツールを呼び出すことを期待したりする必要はありません。
エージェントの速度を低下させますか?
いいえ。想起は約35ミリ秒で完了し、書き込みは1ミリ秒未満で返ります。埋め込みとベクトル挿入はバックグラウンドスレッドで実行されるため、ターンがブロックされることはありません。
どのエージェントとオペレーティングシステムがサポートされていますか?
MCP対応のエージェント:Claude Code、Cursor、Codex、Zed、Windsurfなど、1つのコマンドで接続できます。PMBは純粋なPythonで、macOS、Linux、Windowsでテストされています。
メモリが間違っている、または役に立たない場合はどうなりますか?
PMBは各レッスンが実際に従われたかどうかをスコアリングし、デッドなものにフラグを付け、それらを剪定できるようにします。自分のメモリが役に立たないときにそれを伝える、珍しいツールです。
本当に無料ですか?
はい。Apache-2.0、オープンソース、永久無料です。有料ティア、シート数、テレメトリはありません。ファイルとコードはあなたのものです。
Apache 2.0 · 100%オフライン
エージェントに記憶を与えましょう。
$pip install pmb-ai
Copy
GitHubでスター
永久無料&オープンソース
·リポジトリをスター
·問題を報告
·貢献