- ホーム
- Documentation
- セッション
- 自律型メモリ
自律型メモリ
有効にすると、エージェントは過去のセッションから永続的な知識を自動的に抽出し、各新規セッションにコンパクトな要約を注入します。時間の経過とともに、プロジェクトスコープのメモリストア(技術的な決定、繰り返し発生するワークフロー、落とし穴など)を構築し、手動の作業なしに引き継がれます。
デフォルトでは無効です。/settings または config.yml で有効にしてください:
memories: enabled: true注入される内容
Section titled “注入される内容”セッション開始時に、現在のプロジェクトのメモリ要約が存在する場合、Memory Guidance ブロックとしてシステムプロンプトに注入されます。エージェントは以下のように指示されます:
- メモリをヒューリスティックなコンテキストとして扱う — プロセスや過去の決定には有用だが、現在のリポジトリの状態に関して権威的ではない。
- メモリが計画を変更する場合はメモリアーティファクトのパスを引用し、行動する前に現在のリポジトリの証拠と組み合わせる。
- リポジトリの状態やユーザーの指示がメモリと矛盾する場合はそちらを優先し、矛盾するメモリは古いものとして扱う。
メモリアーティファクトの読み取り
Section titled “メモリアーティファクトの読み取り”エージェントは read ツールで memory:// URL を使用してメモリファイルを直接読み取ることができます:
| URL | 内容 |
|---|---|
memory://root | 起動時に注入されるコンパクトな要約 |
memory://root/MEMORY.md | 完全な長期メモリドキュメント |
memory://root/skills/<name>/SKILL.md | 生成されたスキルプレイブック |
/memory スラッシュコマンド
Section titled “/memory スラッシュコマンド”| サブコマンド | 効果 |
|---|---|
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.enabled | false | マスタースイッチ |
memories.maxRolloutAgeDays | 30 | これより古いセッションは処理されない |
memories.minRolloutIdleHours | 12 | これより最近アクティブだったセッションはスキップされる |
memories.maxRolloutsPerStartup | 64 | 1回の起動で処理されるセッション数の上限 |
memories.summaryInjectionTokenLimit | 5000 | システムプロンプトに注入される要約の最大トークン数 |
追加のチューニングパラメータ(並行性、リース期間、トークンバジェット)は、上級者向けに設定で利用可能です。
主要ファイル
Section titled “主要ファイル”src/memories/index.ts— パイプラインのオーケストレーション、注入、スラッシュコマンド処理src/memories/storage.ts— SQLite ベースのジョブキューとスレッドレジストリsrc/prompts/memories/— メモリプロンプトテンプレートsrc/internal-urls/memory-protocol.ts—memory://URL ハンドラー