HN 日本語サマリー

← 一覧へ戻る
プログラミング

Jevmem – JevをベースにしたClaude Codeのための自動プロジェクトメモリ

Jevmem – automatic project memory for Claude Code, built on Jev (github.com)

62 pointsby avinashjetwani49 コメント

要約

Jevmemは、AnthropicのClaude Codeで使用されるプラグインで、開発者がClaudeとの対話中に下した決定やルールを自動的に記録し、セッション間で永続化します。Claude Codeのセッションは毎回リセットされるため、過去の決定を失うことがありますが、JevmemはJEVMEM.mdファイルにこれらの情報を保存し、次のセッションでClaudeにコンテキストとして提供します。これにより、プロジェクトの意思決定プロセスが効率化され、チーム全体で一貫性を保つことができます。

全文翻訳

一度言ってみよう。jevmemはClaude Codeで決めたことを書き留め、次のセッションでそれを持ってくる。 AnthropicのClaudeプラグインディレクトリに掲載 MCPレジストリに掲載 オープンソース、MIT jevmem-0.6-readme.mp4 なぜ? 各Claude Codeセッションは新しいコンテキストで開始されるため、先週決めたことは先週のチャットに残る。CLAUDE.mdファイルは、それを最新の状態に保てば役立つ。jevmemは、作業中にあなたのために同様のファイルを最新の状態に保つ。 仕組み チャットで何かを決める。「Postgresを使用する」jevmemは、TypeSafe AIのJevに、それを保持する価値があるかどうかを確率付きでYes/Noで尋ねる。価値がある場合、jevmemはリポジトリのJEVMEM.mdに1行書き込む。次のセッションで、プロンプトにとって重要な行がClaudeに戻される。気が変わった場合、古い行は取り消し線が引かれ、履歴のために保持されるが、Claudeには送信されない。チームはgitを通じて同じファイルを取得する。jevmemは、決定、ルール、バグ、ToDo、行き止まり(試して失敗したアプローチとその理由)を保持する。 - [superseded] とりあえずプライマリストアとしてSQLiteを使用します。→ id:cuasaq - [decision] プライマリストアをPostgres 16に切り替えます。 - [constraint] Node 20はサポートされる最小バージョンであり、CIはNode 20と22を実行します。 これらの行について 各行には、ID、時間、信頼度を含むコメントも付いています。上記は省略されています。完全な行: - [superseded] とりあえずプライマリストアとしてSQLiteを使用します。→ id:cuasaq <!-- id:21ycba ts:2026-09-26T13:46:34.703Z conf:1.00 by:cuasaq --> - [decision] プライマリストアをPostgres 16に切り替えます。 <!-- id:cuasaq ts:2026-09-26T13:46:35.240Z conf:1.00 --> - [constraint] Node 20はサポートされる最小バージョンであり、CIはNode 20と22を実行します。 <!-- id:tollba ts:2026-09-26T13:46:35.763Z conf:0.90 --> 0.5.7のデフォルトライターからの実際の行。0.5.8から0.5.10では変更されませんでした(実行日: 2026-09-26)。Postgresのターンでは「SQLiteは同時書き込みでロックアップする」という文も保持されていましたが、その理由は省略されました。0.6.0以降では、Jevが選択した文(メモリを示す文と、その理由を示す文)から行が作成されます。(新着情報)ライターが設定されている場合、OpenAIまたはAnthropicモデルがターン全体を要約します。 機能するか? プロジェクトメモリなし jevmem CLAUDE.mdと同じ行 プロジェクトの決定に従った 28/72 66/72 67/72 プロジェクトが禁止している変更を試みた 10/18 0/18 — 既に失敗したアプローチを繰り返した 3/15 0/15 0/15 したがって、jevmemは、あなたが書かなくても、手書きのCLAUDE.mdと同程度に機能します。CLAUDE.mdは、プロンプトに全く言及されていない規約(3/3対0/3)ではより優れていました。そのため、すべてのタスクが従うべきルールは依然としてそこにあります。 方法、日付、ビルド:新着情報。 ガード(0.6で新機能) Claudeがコマンドを実行したりファイルを編集したりする前に、jevmemはそれを保存されたルールと照合します。違反の可能性がある場合、Claude Codeはまずあなたに尋ねます:jevmem: 保存されたルール「.envファイルをコミットしない」に違反する可能性があります(JEVMEM.md) 274のツール呼び出しのホールドアウトテストで、68件のルール違反のうち66件を検出しました。206件のファインコールでは3〜4件の誤検出がありました。これはサンドボックスではなくバックストップです。ルールとコールの単語を照合します。ガードの仕組み。 インストール TypeSafe APIキーとClaude Code 2.1.273以降が必要です。Claudeアプリで:Plugins → Discover → jevmem → Add。 プラグインが実行するCLIをインストールします:npm install -g jevmem キーを保存します(求められたら貼り付けます。表示されません):jevmem key プロジェクトフォルダでjevmemを有効にします:jevmem enable そのプロジェクトでClaude Codeを起動します。jevmem doctorでセットアップを確認します。 その他のインストール方法:jevmemマーケットプレイス、npm、Cursor、Codex jevmemマーケットプレイスから: npm install -g jevmem claude plugin marketplace add Avinash-jetwani/jevmem claude plugin install jevmem@jevmem cd your-project && jevmem enable npmのみ(CursorとCodexもセットアップします): npm install -g jevmem cd your-project jevmem init --tool claude # または cursor, codex, claude-desktop, all 既にCLAUDE.mdをお持ちですか?jevmem importは、そこから追加される内容を表示します。--applyで書き込みます。 すべての手順、およびプラグインがCLIを見つけられない場合の対処法:docs/install.md。 連携 保存 Claude Code 自動、ターンごと 自動、プロンプトごと Codex jevmem watchが実行されている間、自動 エージェントが尋ねたとき、MCP経由 Cursor エージェントが呼び出したとき、MCP経由 エージェントが尋ねたとき、MCP経由 Claude Desktop 要求されたとき、MCP経由 要求されたとき、MCP経由 MCPサーバーはMCPレジストリでio.github.Avinash-jetwani/jevmemとして公開されています。クライアントセットアップ:docs/mcp.md · docs/install.md。 高速かつ安価 保存するものを決定するのに0.28秒かかり、メッセージあたり0.00016ドルかかります。バックグラウンドで実行されるため、Claudeは待機しません。jevmemは保存またはスキップの決定において最高のLLM(98.5%)に匹敵し、行の種類の選択では2つのLLMがより優れていました。完全なベンチマーク:精度、コスト、実行方法 66のホールドアウトターン、すべての7つのデサイダーに同じ状態(方法、回帰セット、価格設定、p95、リトライ)が与えられました。LLMの6行は2026-09-23のv0.4.2の実行です。jevmemの行は、2026-09-30に同じセットで実行された0.6.0のものです(結果; すべてのモード、3つのビルド)。0.5.9とv0.4.2は同じスコアで、コストは低くなっています: デサイダー save/skip save+kind contradictions p50 $/decision GPT-6 Astra 98.5% 98.5% 5/5 3,469 ms $0.007489 GPT-6 Luna 93.9% 93.9% 5/5 2,927 ms $0.000089 Claude Fable 5.1 95.5% 95.5% 5/5 4,290 ms $0.013256 Claude Opus 5.5 97.0% 97.0% 5/5 2,784 ms $0.005186 Gemini 3.8 Flash 92.4% 92.4% 5/5 2,850 ms $0.001174 Grok 4.7 90.9% 90.9% 4/5 3,320 ms $0.004602 jevmem 0.6.0 auto 98.5% 95.5% 5/5 276 ms $0.000157 0.28秒はJev APIの決定です(p95 527ms。保存されたターンの行は追加のリクエストで1回かかります。それがある場合、決定あたり0.000159ドル)。v0.5.0以降、待機する必要はありません。Stopフックは非同期であり、プロセスは12〜14msで終了します(v0.5.6:フックjevmem initが登録するのに12ms、プラグイン自体のために14ms)。デーモンはフック開始から0.26〜0.28秒後に決定を記録します(結果、コスト、レイテンシ)。66のホールドアウトターンでは、jevmem 0.6.0の中央値決定は0.28秒でしたが、6つの現在のLLMでは2.8〜4.3秒でした。精度はLLMの範囲内でした。保存/スキップで98.5%(GPT-6 Astraと並んで最高)、保存+種類で95.5%でした。LLMでは90.9〜98.5%でした。GPT-6 Astra(98.5%)とClaude Opus 5.5(97.0%)は保存+種類でより正確でした。Claude Fable 5.1は同点でした。GPT-6 Luna、Gemini 3.8 Flash、Grok 4.7は精度が低かったです。5/5の矛盾を発見しました。これは6つのLLMのうち5つも同様でした。GPT-6 Lunaはより安価でしたが(0.000089ドル対0.000157ドル)、精度が低く(93.9%)、約11倍遅かったです。各行は単一の実行であり、1〜2ターンの差は実行ごとのノイズの範囲内です。LLM行とjevmemの行は1週間離れています。最も正確な決定が最も重要なら、GPT-6 AstraまたはClaude Opus 5.5がより適していますが、コストは決定あたり約33〜48倍、レイテンシは10〜13倍になります。jevmemは、すべてのメッセージに対して高速で安価な決定を求めている場合に使用します。 決定方法 どの情報を保存するかを決定するプロンプトはありません。Jevは小さなYes/Noの質問に確率で答え、コード内のプレーンなルールがそれに基づいて動作します。 各ステップの詳細 スクラブ。一般的な秘密の形状、メールアドレス、カード番号は、マシンを離れる前にターンから削除されます。 Jevに型指定された質問をします。TypeSafe AIのJevは、小さな質問の固定セットに確率で答えます:決定、ルール、バグはありますか?それは雑談ですか、それとも注入試行ですか?どの既存の行を変更しますか? コードでしきい値を適用します。それらの確率に対するプレーンなルールが保存またはスキップを決定します。それらはプロンプトではなくjevmem.config.jsonにあります。 1行書きます。保存時、jevmemはJevが選択したターン(メモリを示すものとその理由を示すもの)の文から最大200文字の1行、またはjevmem.config.jsonでwriterを設定した場合は、小さなOpenAIまたはAnthropicモデルがターンを要約します。 古い行を置き換えます。ターンが既存のメモリを置き換える場合、その行は[superseded] → id:newとしてタグ付けされ、ファイルに残ります。 ティア、質問、ポリシー、矛盾、リコール、監査:docs/how-it-works.md。 プライバシー jevmemは、有効にしたプロジェクト(jevmem enableまたはjevmem init)でのみ実行されます。