Engram
Engram は、AI エージェントのための人間が所有するメモリプロトコルです。プロジェクト、チーム、そして個人の永続的な知識を、人間が検査、レビュー、同期、および修復できるファイルとして保存します。
Engram はエージェントの隠された脳ではありません。エージェントはメモリを提案できますが、信頼できる唯一の情報源(source of truth)は、.agents/.engram/ またはオプションのグローバルメモリフォルダにある承認済みの Markdown です。
解決する問題
AI エージェントはプロジェクトの決定事項を忘れ、セットアップに関する質問を繰り返し、古いコンテキストと新しい指示を混同しがちです。また、内蔵のメモリは多くの場合、特定のベンダー、アプリ、またはマシンに固定されており、プライベートな状態になっています。
Engram はメモリに対して安定した契約を提供します:
- 承認された事実、ルール、ワークフローは Markdown として保存されます。
- インデックスとグラフによってルーティングが高速化されます。
- 書き込みには人間の承認が必要です。
- ハッシュ値によって安全でない編集が検出されます。
- 除外ルール(ignore rules)によってプライベートなコンテキストが保護されます。
- プロファイルは会社、クライアント、個人のメモリを分離し、外部 API や会社提供のエージェントがプロジェクト間でコンテキストを漏らさないようにします。
- Git により、履歴の追跡、ポータビリティ、およびチームでのレビューが可能になります。
メンタルモデル
Engram は知識メモリセンターのようなものです:
| レイヤー | 役割 |
|---|---|
| Markdown | 永続的な信頼できる唯一の情報源(source of truth) |
| JSON インデックス | 高速なルックアップレイヤー |
| JSON グラフ | トピックと関係性のルーティングレイヤー |
| 承認ゲート | 書き込み前の信頼の境界 |
| ハッシュ | 読み込み前の整合性チェック |
| 除外ルール | プライバシーコントロール |
| Git | 変更履歴の監査と同期 |
| エージェントアダプター | 権限ではなく、利便性のためのレイヤー |
スコープの優先順位
Engram は以下の順序でメモリを解決します:
- ワークスペースメモリ:
<project>/.agents/.engram/ - グローバルメモリ:
$ENGRAM_GLOBAL_DIRまたはengram inject --global-path <path>
ワークスペースメモリが優先されます。グローバルメモリは、複数のプロジェクトにわたる再利用可能な設定やチームのコンテキストのためのフォールバック(備え)です。
現在の機能
Engram には以下が含まれます:
save:1つの承認されたメモリを保存します。save-session/ss:セッションからの複数のメモリ候補を保存します。任意で--query-level <n>を使い、アクセス可能な直近 n 件までのチャットから候補を抽出できます。/engram ss -a last 50 sessionsはengram save-session --query-level 50 --accept-allに正規化されます。observe:まだアクティブなメモリになっていない生メモ(raw notes)をキャプチャします。take-control:既存のエージェント向けガイドラインやドキュメントを取り込みます。graphおよびquality-check:レビューのためのシグナルを出力します。archive:誤ったメモリや古くなったメモリをアーカイブします。repair:インデックス再構築時にスキップされた不正なメモリファイルを検出・報告します。benchmark:検索のデグレード(regressions)をチェックします。- エージェントスキルセット(skillsets)、スラッシュコマンド用アダプター、MCP スタイルの提案ツール。
コマンドを使用する前に、コンセプトページをお読みください:Engram を理解する。