メインコンテンツまでスキップ

人間が所有するメモリプロトコル

AIチャットでの承認

AIエージェントとのチャットでは、Engram の承認は会話型です。エージェントはまず洗練した TYPE: ... | TEXT: ... 候補を表示し、ルールでは Light/Balanced/Strict の各バリアントも示します。正確にその候補を保存するには yes、修正するには audit、中止するには cancel と返信します。yes の後、エージェントは承認された候補そのままで engram save-session --accept-all を使います。直接の CLI 保存は、accept-all コマンドが明示的に呼ばれていない限り、引き続き A/B/C を使います。

Engram は単なる「エージェントのメモリ」ではありません。メモリを検査可能にし、ポータブルにし、人間によって統治されるようにするプロトコルです。

契約事項

Markdown は永続メモリです。

JSON インデックスおよびグラフファイルは、高速化のためのアクセラレーションレイヤーです。

承認(Approval)は信頼の境界です。

ハッシュは整合性チェックです。

除外ルールはプライバシーコントロールです。

Git はポータビリティと変更履歴の監査を提供します。

エージェントアダプターは利便性のためのものであり、権威ではありません。

エージェントはメモリを提案できますが、何がメモリになるかは人間が決定・所有します。

メモリのタイプ

タイプ用途
Ruleユーザーの好み、修正、制約、「常に実行する/決して実行しない」といったガイドライン
Skill繰り返し発生するワークフロー、チェックリスト、手順、ランブック
Knowledge客観的なプロジェクトの事実、決定事項、実装の詳細

すべてのアクティブなメモリファイルには、ContextContent、および Example セクションがあります。ルールメモリは、ロードされたガイドラインが常に有用であるように、簡潔な行数制限もターゲットにしています。

書き込みフロー

  1. エージェントが 1 つまたは複数の候補を提案します。 save-session --query-level <n> を使用すると、エージェントはアクセス可能な直近 n 件までの人間-エージェントチャットを提案コンテキストとしてのみ考慮できます。 自然な /engram ss -a last 50 sessions は同じ範囲に明示的な一括承認を加えたものです:engram save-session --query-level 50 --accept-all
  2. Engram が候補のタイプとターゲットスコープを解析します。
  3. Engram がスキーマ、機密情報(secrets)、プロンプトインジェクションのパターン、およびパスの安全性を検証します。
  4. 人間にプレビューが表示されます。
  5. 人間が AA 1,3B <メモ>、または C と返答します。
  6. 承認されたメモリのみが書き込まれます。
  7. インデックス、グラフ、ハッシュ、および変更履歴(changelog)が更新されます。

読み込みフロー

  1. Engram がワークスペースおよびオプションのグローバルインデックスをロードします。
  2. 重複する ID がある場合、ワークスペースのエントリがグローバルよりも優先されます。
  3. 除外ルールとロールフィルタにより、無関係なエントリが非表示になります。
  4. グラフ指向ルーティングにより、コンパクトなコンテキストパックが選択されます。
  5. コンテンツが出力される前に、ハッシュと安全性のチェックが実行されます。

なぜこれが重要なのか

プロトコルがないと、メモリは「不可視な状態」になってしまいます。不可視な状態はレビューが難しく、共有するのも困難であり、エージェントによって誤って破損(汚染)される危険性があります。

Engram は意図的にメモリを退屈なものにしています:ファイル、差分(diffs)、ハッシュ、レビューゲート、そして人間が再実行できるコマンドによって管理されます。

次へ:操作ガイド