mcpField
R
record-memory

record-memory

github.com/davidleeエージェントワークフロー2143 回インストール3 日前に更新
リポジトリ

record-memory について

record-memory は、長期的に役立つプロジェクト知識を記録し、後続のエージェントが利用できるようにするスキルです。記録範囲、関連付け、信頼度、寿命の設定と、検索可能性の確認を案内します。

主な機能

  1. 01適切な記憶タイプと寿命の選択
  2. 02パス、glob、コマンド、タグによる範囲指定
  3. 03記録間の永続的な関係の設定
  4. 04信頼度と重要度の設定、検証
  5. 05検索による記録の見つかりやすさの確認

活用シーン

  1. 01再利用できる手順や不変条件の保存
  2. 02後続セッション向けのサブシステム情報の記録
  3. 03範囲を指定した記憶の検索可能性の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davidlee/doctrine --skill record-memory

インストール後、Claude Code で/record-memoryを入力して読み込まれたか確認します。

詳細

メモリの記録

会話のコンテキストは保持されません。知識を記録しておけば今後のエージェントの時間を大幅に節約できる場合は、すぐにメモリレコードを書き込みます。フェーズとスライスの完了時には、必ず notes.md、アクティブなランタイムフェーズシート、監査結果、新たに判明した注意点を確認し、長期的に役立つガイダンスを残してください。

長期的に役立つガイダンス、つまり、繰り返し使えるワークフロー、注意すべき落とし穴、不変条件、サブシステムに関する事実のみを昇格させます。会話の状態は記録しません。

1. 適切な範囲で最も限定的なタイプを選ぶ

--type の値については、doctrine memory record --help を参照してください。 concept|fact|pattern|signpost|system|thread.

⚠ thread は検証されるまで find/retrieve で表示されません。 作業ループをスコープ検索で再び見つけられるようにしたい場合は、長期的に使えるタイプ(pattern/system/concept)を選ぶか、thread を記録してクリーンなツリーで verify してください。未検証の thread は list/show にのみ表示され、スコープのランキングには表示されません。

2. 記録する

doctrine memory record で記録します(フラグは --help を参照してください。動詞のモデルについては lib:reference/using-doctrine.md を参照してください)。.doctrine/memory/items/ 以下に TOML と本文が生成されます。誕生時の git アンカーは自動的に記録されます。手動で記述しないでください。

記録後

推奨される関連付け。 既存のメモリとの高い確度の一致が検出されると、record は標準エラー出力に関連付け候補を表示します。候補を確認し、一致すると判断したものには doctrine link を実行してください。これにより、後続のエージェントがたどれる永続的なグラフのエッジが構築されます。

グラフと本文のリンク。 永続的なグラフ構造(型付きで、機械的にたどれる関係)には [[relation]] エッジを使用します。本文中で「こちらも参照」と示す文脈的な参照には、[[mem.…]] のウィキリンクを使用します。関連付けは retrieve --expand に表示されますが、ウィキリンクは表示されません。ウィキリンクは人が読むためのものです。

--lifespan の選択。 知識に合った最も限定的な有効期間を、長期的な順に選びます。

有効期間目安
identity古くならない — サブシステムのアイデンティティ、不変条件、正式名称
semantic減衰率 10:1 — 設計の根拠、アーキテクチャ上の制約
procedural減衰率 3:1 — コマンドの手順、ビルド手順、ワークフロー
episodic基準値 — 一度限りの発見、バグのメモ、セッションのコンテキスト
working急速に減衰 — 一時的な TODO、短期間の仮説

省略すると episodic がデフォルトになります。スコープと有効期間の両方を限定することで、検索結果の関連性を保てます。

3. 見つけられるようにスコープを設定する

次の4つの軸でメモリのスコープを設定します(フラグは --help を参照してください)。

  • path — 正確なファイル。最も強く一致します。
  • glob — サブシステムとの関連性(例:src/auth/**)。
  • command — コマンドのフローに紐づけます(トークンプレフィックス)。
  • tag — 安定した分類に使用します。タグをスコープとして過剰に利用しないでください。

4. リスクの軸を設定する

record のデフォルト値は [trust] trust_level = "medium"、[ranking] severity = "none"、weight = 0 です。リスクが高いメモリや内容が変わりやすいメモリの場合は、記録時にフラグを指定するか、後から更新してください。

doctrine memory record ... --trust high --severity critical

または、記録後に調整します。

doctrine memory edit <REF> --trust low --severity medium
  • --trust = 確信度:low(推測であり、検証されていない)・medium(妥当なコンテキストから導かれたもの。デフォルト)・high(コード/仕様/直接観察によって検証済み)。
  • --severity = 誤っていた場合や無視された場合の重要度: critical・high・medium・low・none(デフォルト)。

正直に評価してください。メモリの作成は記述であり、検証ではありません。

5. 検証した場合は証明する

doctrine memory verify <UID|KEY>

作業ツリーを対象に verified_sha を記録します(ダーティツリーでは拒否され、誤った証明を防ぎます)。証明されていないメモリは、信頼度が低く扱われます。

thread を表示するには、この手順が必須です。 thread_expiry は、14日以内に verified かつ reviewed になっていない thread を find/retrieve の検索対象から除外します。record は常に unverified として記録するため、新しい thread は、verify するまでスコープのランキングに表示されません。また、verify はダーティツリーでは拒否されるため、クリーンなツリーで証明してください。他のタイプはこの制限の対象になりません。

doctrine memory retrieve --help を参照してください。retrieve では、迂回できない信頼度による保留が適用されます(信頼度が低く、重要度が高いものは除外されます)。

6. 本文は短く、実行可能な内容にする

「X を実行する」手順は、正確なコマンドスニペットとともに箇条書きにします。関連する成果物やメモリは、[[uid]] / [[key]] を使って本文中で参照します(リレーションより低コストです)。 その項目が ADR や恒久的な仕様になる場合は、そこで作業を止めてください。代わりに doctrine adr new を実行するか、仕様書または ADR を作成します。メモリはポインター/レシピのレイヤーであり、正典ではありません。

7. 表示可能な状態か確認する

将来のエージェントが実際に検索するコンテキストに範囲を絞って doctrine memory search を実行し(--help を参照)、メモリが表示されることを確認します。検索結果は 1 ページ分だけ返されるため、範囲を絞った閲覧ではページ送りによって対象が表示されない場合があります。メモリ独自の用語を使ったクエリ(フリーテキストでは根拠に基づいて見つかります)で確認するか、--page でページを進めてください。

例外:未検証の thread は、正しく記録されていても(§1/§5)、ここには表示されません。まず verify するか、代わりに memory show を確認してください。

コメント