mcpField
E
engram-memory-protocol

engram-memory-protocol

github.com/gentleman-programmingエージェントワークフロー7.7k225 回インストール今日更新
リポジトリ

engram-memory-protocol について

engram-memory-protocolは、エージェントによるプロジェクト記憶の選択的な管理を定めるスキルです。検索や更新、引き継ぎ時の記録方法を示し、検証済みで長期的に有用な情報を扱います。

主な機能

  1. 01長期的な知識の選択的保存
  2. 02コンテキストと検索による想起
  3. 03観察IDによる記録の更新
  4. 04明示的な引き継ぎ時の要約

活用シーン

  1. 01決定とその理由の保存
  2. 02保留中の情報を使った作業再開
  3. 03既存の記憶トピックの更新

インストール

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

$npx skills add https://github.com/gentleman-programming/engram --skill engram-memory-protocol

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

詳細

使用するタイミング

エージェントは、有効化を待たずにこのプロトコルに従う必要があります。 正本となる説明文は DOCS.md にあり、このコントリビューター向けスキルは手動で管理されています。

選択的なメモリ

検証済みで長期にわたり有用であり、再構築にコストがかかる知識を保存します。たとえば、根拠を伴う決定、分かりにくい根本原因、実際の制約、作業再開に関係する未完了の作業です。 関連する結論は意図的にまとめ、すべてのタスク、応答、出来事を記録しないでください。 シークレット、個人データ、推測、生のダンプ、定型的な進捗は除外します。

想起や関連作業に実質的な価値がある場合に検索します。プロジェクトへの言及だけで検索する必要はありません。 想起する場合は、mem_context、次に特徴的なキーワードで mem_search、その後、内容全体を確認するために mem_get_observation の順に使います。 必要に応じて、広範な想起の後にプロジェクトや種類で絞り込みます。

選択した内容を書き込む場合は、書き込み前に対象のトピックを限定し、意図するプロジェクトとスコープで mem_search を実行します。 候補は mem_get_observation で全文を読みます。スニペットは同一性を判断する根拠になりません。 同じ限定されたトピックには ID を指定して mem_update を使います。topic_key を維持し、現在も有効な事実をすべて保持し、上書きされた事実は履歴として記録します。真に新しいトピックには、意図的で他と区別できる topic_key を指定して mem_save を使います。すでに記録されている場合は、何も書き込みません。 同一性が曖昧な場合や検索に失敗した場合は、上書きせず、重複する保存にも切り替えないでください。 読み取りに失敗しても、記録が存在しない証拠にはなりません。提案された topic_key はヒントであり、同一性の証明ではありません。 プロジェクトやスコープをまたいで統合しないでください。内容は What、Why、Where、Learned の構成にします。

セッション終了時のルール

重要な明示的な終了または引き継ぎの際は、Goal、Instructions、Discoveries、Accomplished、Next Steps、Relevant Files を含む mem_session_summary を呼び出します。通常のタスク完了時に要約は不要です。 関連する圧縮の後は、ホストの復旧手順に従います。それ以外の場合は、まず圧縮された要約を保存し、コンテキストを復旧してから続行します。要約を保存しても、それだけでセッションが終了するわけではありません。ホストの帰属表示、登録、プライバシー、ライフサイクルに関する義務を引き続き守ります。

メモリの証拠が利用できない場合は、その旨を正直に伝え、保存を確認できていないのに保存済みだと主張しないでください。 書き込みを盲目的に繰り返さないでください。記録処理に失敗しても、無関係な作業は完了してください。 出来事ごとの学習セクションや形式的な納品ブロックを追加しないでください。


納品の保証

メモリ操作は内部的な記録処理であり、ユーザー向けの回答ではありません。完了したタスクの返答を作成する前に必要なメモリ処理を完了し、後続のツール呼び出しを行わず、ターンの最後のメッセージとして回答全文を送信します。メモリ処理に失敗した場合や追加対応が必要な場合でも、回答は送信してください。

コメント