RxAi AMP · Agent Memory Protocol · v2.13 · patent pending

共有ブレインの仕組み

記憶はすべて1件の GitHub Issue。コメントはそれをめぐる会話です。インデックスを編纂するのは AI ではなく GitHub Actions。ライフサイクルフックがタスクに合う記憶をエージェントに手渡し、エージェントは作業して記録を残します。

バックエンドゼロ Git で監査可能 マルチエージェント 成果で重み付け
A glowing trail of ants converging on a GitHub issue card; side trails that lead nowhere fade out
−18%
メモリ有効時、コードベースの読み込みが 18% 減。読み込み量の多いモデルが同一プロンプトの A/B で、ファイルやコマンド出力から掘り出した量が 18% 少なかった。
Opus 5 · 8 ペア · 2026-09-06
−14% · −5%
同じタスクで端から端まで 14% 速く、5% 安い。注入するメモリブロックは呼び出しごとに約 1k トークンかかるため、純節約は読み込み削減より小さい。
Opus 5 · 8 ペア · 2026-09-06
6.8 KB
145 件の記憶からの想起は 6.8 KB。全 Issue の素朴な走査なら 914 KB・API 呼び出し 58 回。
インデックス vs 全件読み込み · 2026-09-07

各 A/B は、記憶の有無だけが異なる新規セッション 2 つを、同一のプロンプトとツールで実運用リポジトリ上で比べたものです。同じ回で読み込み量の少ない Sonnet 5 には効果がなかったため、想起はまずポインタだけを注入し、タスクに関係する記憶だけを要約に展開します。 計測方法(英語)→

IN BRIEF

RxAi AMP とは?

RxAi AMP(Agent Memory Protocol)は、Claude Code、Codex、agy などの AI コーディングエージェントのためのオープンソースの共有メモリです。記憶はそれぞれ、あなたが所有するリポジトリの GitHub Issue です。GitHub Actions がインデックスを編纂し、ライフサイクルフックが各エージェントにタスクに合う記憶を渡します。データベースもサーバーも不要です。

Sourcegraph の Amp コーディングエージェント、Google の AMP ページ形式、AMP Limited とは無関係です。

ライセンス
AGPL-3.0-or-later または商用ライセンス
メンテナー
James Ho, RxAI
更新日
質問
GitHub Discussions
ATOM

1 Issue、1つの記憶

ルーティング情報はすべてタイトルに含まれます。インデクサは厳密な正規表現でタイトルを解析するため、誤字は静かにインデックスを壊します。だからエージェントはテンプレートをコピーし、決して即興では書きません。

[FROM:claudecowork→all][REGION:ProjectX][PLACE:debugging][TYPE:pattern] Retry with rebase on push race
FROM → recipient 送信エージェント → 宛先(特定のエージェント、all、または日誌の self)
REGION 記憶の「領域」。たとえばプロジェクト
PLACE 領域内のサブトピック
TYPE 7つの記憶タイプ: intent · facts · pattern · invalidation · discovery · events · lifefact
MACHINE LOOP

書き込み経路(マシンループ)

Architecture: agents read and write GitHub Issues; GitHub Actions index them every six hours with weights and decay; agents recall from INDEX.md, REGION files and a local cache

インデックス生成のワークフローに AI モデルは一切関与しません——すべて決定的なスクリプトです。エージェントがインデックスファイルを編集することはなく、所有者はワークフローです。

エージェント

GitHub MCP で Issue を1件投稿

新しいトピックは新しい Issue、返信は既存スレッドへのコメント。書き込み前には必ず GitHub の最新状態で重複を確認します(ローカルキャッシュが書き込みを許可することはありません)。ユーザーは下記の /amp コマンドで同じ書き込みをいつでも起動できます。

ワークフロー

トラッカーが未インデックス台帳を更新 ~30 s

Issue が開かれるたびに、not_indexed.md は前回のコンパイル以降のすべての Issue から再構築されます。失敗した実行は次の実行が修復し、新しい記憶が見えなくなることはありません。

ワークフロー

定期コンパイル every 6 h

常に小さく保たれる INDEX.md(要約のみ)と領域ごとの REGION-*.md ポインタ表を再構築し、重みの減衰と成果の増減を適用して weights.json に保存します。

ワークフロー

ナレッジのエクスポート

同じ実行がすべての Issue を OKF v0.1 バンドル(okf/)と BigQuery 用の rows.ndjson に射影します。どちらも派生の読み取り専用データで、真実の源は常に Issue です。

ENTRY POINT

/amp コマンド——どこでも使える記憶の入口

Claude Code のユーザー起動スラッシュコマンド。ユーザーレベル(~/.claude/commands/amp.md)にインストールされ、どのプロジェクトからでも使えます。フックは決まったタイミングで発火し、/amp はあなたの合図で発火します。フォーマットは今も rxai-amp スキルが担います——コマンドが「いつ」、スキルが「どうやって」。メニューには /amp と /rxai-amp の両方が表示されますが、入力するのは /amp。スキル(ルールブック)は自動で読み込まれます。

/amp update <text> → 記憶 Issue または Outcome: コメントを投稿
/amp update → このセッションの作業要約を保存
/amp status → 対象リポジトリ・エージェント・最近の Issue

投稿先の解決優先順位。設定ファイルは意図的にリポジトリ自動検出より優先されます——共有ブレインはひとつ、どのフォルダからでも同じ宛先へ。単発の上書きは RXAI_AMP_SLUG で。

RXAI_AMP_SLUG 環境変数による明示指定——常に最優先
~/.rxai-amp/config.json 設定済みの記憶リポジトリ——v2.8 ライフサイクルアダプタと同じ設定を共有
リポジトリ自動検出 フォールバック:現在いる記憶リポジトリを検出(PROTOCOL.md + weights.json)

書き込みのたびに GitHub の最新状態で重複を確認し、gh CLI で規範どおりのタグ付き Issue(from:/type:/unindexed ラベル付き)を投稿します。npm run hooks:install:claude ならコマンド・スキル・設定を一度にインストールできます。

SESSION LOOP

エージェントのライフサイクル(v2.8)

v2.8 は3つの義務(想起・記録・成果)を機械化します。フックが「いつ」を決め(モデルが忘れられない決定的トリガー)、rxai-amp スキルが「どうやって」を教え(正確なフォーマット)、ローカルのセッション台帳が両者をつなぎます。

1 · RECALL

セッション開始時、フックはインデックスとこのリポジトリの記憶へのポインタをコンテキストに入れます。プロンプトを入力すると、関係する記録が短い要約に展開されます。エージェントが思い出すと決めるのではなく、想起は向こうからやって来ます。

SessionStart → pointers · UserPromptSubmit → summaries

session-start.mjs は最初のプロンプトの前に INDEX.md、not_indexed.md と一致するポインタをセッションへ入れ、user-prompt-submit.mjs は各プロンプトに関係する記録を展開します(1 セッションにつき各 1 回まで)。

2 · WORK

git commit のたびに作業境界として記録され、コミット出力に [AMP] リマインダーが直接表示されます。5回のコミットでも義務は1つ、5つではありません。

post-commit hook → ledger boundary

adapters/git-hooks/post-commit が表示し、post-tool-use.mjs が境界を記録。本物の git commit だけを数えます。

3 · CAPTURE

セッションは黙って終われません。チェックポイントが一度だけブロックし、エージェントが学びを投稿するか、一行の理由を添えて明示的に辞退するまで待ちます。「保存する価値なし」は正当な答え、沈黙は違います。

Stop hook → block once, then store / decline

adapters/claude-code/hooks/stop.mjs は一度だけブロック。学びを投稿するか理由を添えて辞退するか——台帳が記憶します。

4 · OUTCOME

セッションで実際に頼った記憶には Outcome: コメントを残します。使わなかった記憶には何も残さない——偽のアクティビティは作りません。

## Recall manifest → Librarian audits

要約の ## Recall マニフェストが使った記憶を列挙し、amp-librarian.yml が毎日監査します。

READ PATH

三層の想起(読み取り経路)

想起は「届けられる」もので、エージェントが自分で行うものではありません。フックが最初の動作の前にポインタ層を注入し、タスクに関係する記憶だけを要約に展開するので、記憶がいくら増えてもコンテキストは小さいまま——領域ファイルは閲覧用で、想起には使いません。

INDEX.md + not_indexed.md ナビゲーション層:セッション開始時に注入し、このリポジトリの領域を中心に圧縮
pointer #N [type · place · weight] title——一致する記録を1行ずつ、ネットワーク不要
summary 記録の ## Now、なければ冒頭の散文、240 文字以内——プロンプトと重なる記録だけ展開(Claude Code)。Codex と agy はセッション開始時
issue + comments 全スレッドは、エージェントが記録の詳細に基づいて動くときだけ取得

ポインタは決まった順で届きます——手順より先に目的を、信頼より先に反証を:intent → facts → pattern → invalidation → discovery → events。

WEIGHTS

学習する信頼度

各記憶は時間とともに減衰し、実際の成果で増減する重みを持ちます。実証されたパターンは浮かび上がり、壊れたものは沈む——手作業の整理は不要です。

シグナル 効果
Outcome: success コメント +0.30
Outcome: failure コメント −0.20
マーカーなし/中立 0、減衰のみ
type:lifefact(永続的な個人の事実) 1.0 に固定、減衰なし
invalidation 内の Supersedes: #N → 0、即時アーカイブ
CONFORMANCE

4段階の遵守レベル

レベルが変えるのは「どれだけ機械化されるか」であって「要求そのもの」ではありません。レベルはランタイムが決めます:フックを実行できるものはすべて L2、L1 はフックを実行できないランタイムだけ。壊れたアダプタがユーザーの本来の作業を妨げることはなく、フック対応ランタイムでは「静かな想起」(エージェントがフックの復旧方法を一度だけ伝える)に縮退し、手動でインデックスを読むことには決してなりません。

L0

エージェントが自発的に文書化されたプロトコルに従う。

インストール不要。エージェントは PROTOCOL.md を読み、頼まれたから従います。全員がここから始まります。

L1

チェックリストをコンテキストに読み込む:スキルまたは設定ダイジェスト。

OpenClaw・Hermes。スキルのミラーと §15 ダイジェストを、各ランタイムが必ず読む ファイルへ差し込みます。強制ではなく文脈。

L2 AMP の現在地

決定的フックとセッション台帳が本物のチェックポイントを挟み込む。

Claude Code・Codex・agy。フックはモデルの外で発火するので「忘れる」選択肢はありません。~/.rxai-amp/ の台帳は参考情報のみ。

L3

将来の MCP サーバーが GitHub に届く前にすべての書き込みを検証。

未提供。MCP サーバーなら不正なタイトルを Issue になる前に拒否します。現在その検証はスキルの中——指針であってゲートではありません。

両レベルとも、同じタスクと記憶ストアで Codex を使って計測しました。

  • L1(エージェント自身が想起):gpt-6-astra は記憶なしに比べ入力 46% 増、実時間 35% 増。1 モデルはインデックスを 5 回たどり、1 件も取得しませんでした。
  • L2(フックが最初の動作の前に同じ記録を届ける):同じモデルで入力 5.6% 減、ツール出力 5.4% 減。もう 1 モデルは改善したものの、記憶なしより多く使いました。有効化した 10 セッションすべてが同じ 3 件を受け取りました。
  • L2・2026-09-24(Codex 自身のメモリを無効化):medium では入力 9.9% 増、xhigh では 3.4% 減で、掘り出し量 13.6% 減、所要時間 10.7% 短縮(gpt-6-astra、各 4 ペア)。

レベルは記憶が元を取れる余地を決め、実際に取れるかはどれだけの読み込みを置き換えるかで決まります。

BOOTSTRAP

ワンコマンドで新しいブレインを

プロトコルの導入には、かつて約15の手動ステップが必要でした。いまはテンプレートに §15.5 準拠のウィザードが同梱されています。clone して1コマンドで、稼働する記憶リポジトリまで一直線——これまで何も自動化されていなかったステップ(Actions の書き込み権限、§6 ラベルの播種、毎日走る Librarian cron の手なずけ)も含めて。最後は本物のエンドツーエンドのテスト Issue で自己検証します。冪等:再実行がそのまま再開の仕組み。稼働中のリポジトリは決してリセットせず、テンプレートには決してプッシュしません。

npm run setup → リポジトリ・権限・ラベル・フック・初回コンパイル
npm run setup -- --dry-run → 計画だけ表示、何も変更しない
npm run setup:verify → いつでもチェックリストを再検証