コンテンツにスキップ

自律型メモリ

有効にすると、エージェントは過去のセッションから永続的な知識を自動的に抽出し、各新規セッションにコンパクトな要約を注入します。時間の経過とともに、プロジェクトスコープのメモリストア(技術的な決定、繰り返し発生するワークフロー、落とし穴など)を構築し、手動の作業なしに引き継がれます。

デフォルトでは無効です。/settings または config.yml で有効にしてください:

memories:
enabled: true

セッション開始時に、現在のプロジェクトのメモリ要約が存在する場合、Memory Guidance ブロックとしてシステムプロンプトに注入されます。エージェントは以下のように指示されます:

  • メモリをヒューリスティックなコンテキストとして扱う — プロセスや過去の決定には有用だが、現在のリポジトリの状態に関して権威的ではない。
  • メモリが計画を変更する場合はメモリアーティファクトのパスを引用し、行動する前に現在のリポジトリの証拠と組み合わせる。
  • リポジトリの状態やユーザーの指示がメモリと矛盾する場合はそちらを優先し、矛盾するメモリは古いものとして扱う。

メモリアーティファクトの読み取り

Section titled “メモリアーティファクトの読み取り”

エージェントは read ツールで memory:// URL を使用してメモリファイルを直接読み取ることができます:

URL内容
memory://root起動時に注入されるコンパクトな要約
memory://root/MEMORY.md完全な長期メモリドキュメント
memory://root/skills/<name>/SKILL.md生成されたスキルプレイブック
サブコマンド効果
view現在のメモリ注入ペイロードを表示
clear / resetすべてのメモリデータと生成されたアーティファクトを削除
enqueue / rebuild次回起動時に統合を強制実行

メモリは、起動時またはスラッシュコマンドによる手動トリガーで実行されるバックグラウンドパイプラインによって構築されます。

フェーズ 1 — セッションごとの抽出: 前回処理以降に変更があった各過去セッションについて、モデルがセッション履歴を読み取り、永続的なシグナル(技術的な決定、制約、解決された障害、繰り返し発生するワークフロー)を抽出します。直近すぎるセッション、古すぎるセッション、または現在アクティブなセッションはスキップされます。各抽出により、そのセッションの生のメモリブロックと短い概要が生成されます。

フェーズ 2 — 統合: 抽出後、2回目のモデルパスがすべてのセッションごとの抽出を読み取り、ディスクに書き込まれる3つの出力を生成します:

  • MEMORY.md — キュレーションされた長期メモリドキュメント
  • memory_summary.md — セッション開始時に注入されるコンパクトなテキスト
  • skills/ — 再利用可能な手順プレイブック、それぞれ独自のサブディレクトリに配置

フェーズ 2 はリースを使用して、複数のプロセスが同時に開始された場合の二重実行を防止します。以前の実行からの古いスキルディレクトリは自動的に削除されます。

すべての出力は、ディスクに書き込まれる前にシークレットのスキャンが行われます。

メモリの抽出と統合の動作は、src/prompts/memories/ にある静的プロンプトファイルによって完全に制御されます。

ファイル目的変数
stage_one_system.mdセッションごとの抽出のシステムプロンプト
stage_one_input.mdセッション内容をラップするユーザーターンテンプレート{{thread_id}}{{response_items_json}}
consolidation.mdクロスセッション統合のプロンプト{{raw_memories}}{{rollout_summaries}}
read_path.mdライブセッションに注入されるメモリガイダンス{{memory_summary}}

メモリはモデルロールシステムを利用します。

フェーズロール目的
フェーズ 1(抽出)defaultセッションごとの知識抽出
フェーズ 2(統合)smolクロスセッション合成

smol が設定されていない場合、フェーズ 2 は default ロールにフォールバックします。

設定デフォルト説明
memories.enabledfalseマスタースイッチ
memories.maxRolloutAgeDays30これより古いセッションは処理されない
memories.minRolloutIdleHours12これより最近アクティブだったセッションはスキップされる
memories.maxRolloutsPerStartup641回の起動で処理されるセッション数の上限
memories.summaryInjectionTokenLimit5000システムプロンプトに注入される要約の最大トークン数

追加のチューニングパラメータ(並行性、リース期間、トークンバジェット)は、上級者向けに設定で利用可能です。

  • src/memories/index.ts — パイプラインのオーケストレーション、注入、スラッシュコマンド処理
  • src/memories/storage.ts — SQLite ベースのジョブキューとスレッドレジストリ
  • src/prompts/memories/ — メモリプロンプトテンプレート
  • src/internal-urls/memory-protocol.tsmemory:// URL ハンドラー