Skip to main content
Agent コンテキストの管理

メモリ整理

Memory Store にエントリが蓄積していくと、重複・古い情報・抜け漏れが生じる可能性があります。Dreams は非同期のメモリ整理機能です。専用の Agent が直近の Session を見直し、Memory Store のマージ・削減・補完を行います。

コアコンセプト

概念説明
Dream非同期のメモリ整理ジョブ
Input Memory Storeデータソース。変更されません
Output Memory Store自動でクローンされたコピー。整理結果はこちらに書き込まれる
Dreaming SessionDream 実行中に作成される内部 Session。通常の Session 一覧には表示されない

ワークフロー

POST /api/v1/cloud/dreams

入力 Memory Store をクローン → 独立した出力コピーを生成

Dreaming Session を作成(メモリ整理用ビルトイン Agent)

Agent が実行: 直近の Session を読み込み → 記憶のマージ/削除/補完

Dream 完了 → outputs に整理後の Memory Store ID が含まれる

API エンドポイント一覧

メソッドパス説明
POST/dreamsDream を作成
GET/dreamsDream 一覧を取得
GET/dreams/{id}Dream を取得
POST/dreams/{id}/cancel実行中の Dream をキャンセル
POST/dreams/{id}/archive完了した Dream をアーカイブ

クイックスタート

1. メモリ整理をトリガー

curl -s -X POST 'https://api.qoder.com/api/v1/cloud/dreams' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": [
      { "type": "memory_store", "memory_store_id": "memstore_019e5cdb9c3f71c3b6505eba937a40b4" }
    ]
  }'

2. 進捗を確認

curl -s 'https://api.qoder.com/api/v1/cloud/dreams/drm_019e86b4a8f070a3b6c5d4e3f2a1b0c9' \
  -H "Authorization: Bearer $QODER_PAT"

3. 結果を確認

完了後、outputs フィールドに整理後の Memory Store ID が含まれます:
{
  "status": "completed",
  "outputs": [
    { "type": "memory_store", "memory_store_id": "memstore_019e86b4b10578059435632bb357c5ed", "files_touched": ["preferences.md", "project/arch.md"] }
  ]
}

オプションパラメータ

パラメータ説明
modelモデル選択: auto(デフォルト)、liteultimate
instructionsカスタム指示(例: 「Python プロジェクトの規約を重視」)、最大 4096 文字
inputs[].type: "sessions"優先する Session ID を指定(最大 100 件)

安全設計

  • コピーオンライト: 入力 Memory Store は変更されず、書き込みはすべてクローンされた出力に対して行われる
  • 最小権限: Dreaming Agent は memorysession_listsession_read の 3 つのツールのみ使用可能。コード実行やネットワークアクセスはできない
  • Single-flight: 1 ユーザーあたり同時に 1 件のアクティブな Dream(pending または running)のみ。重複作成は 409 を返す

よくある質問

Q: Dream は元の Memory Store を変更しますか? A: いいえ。Dream は常にクローンされたコピー上で動作し、元の Memory Store は一切影響を受けません。 Q: Dream はどれくらい時間がかかりますか? A: Memory Store のサイズと振り返る Session 数によりますが、通常 1〜5 分です。