ドリーミングはリサーチプレビュー機能です。アクセスをリクエストしてお試しください。
エージェントは作業中にメモリストアに書き込みを行いますが、これらの書き込みはローカルかつ増分的です。多くのセッションを重ねるうちに、メモリストアには重複、矛盾、古くなったエントリが蓄積されていきます。
ドリームを使うと、Claudeがそれをクリーンアップできます。ドリームは既存のメモリストアを過去のセッショントランスクリプトとともに読み込み、新しく再編成されたメモリストアを生成します。重複はマージされ、古くなったり矛盾したりしているエントリは最新の値に置き換えられ、新しいインサイトが浮かび上がります。
入力ストアは決して変更されないため、出力を確認して、結果が気に入らなければ破棄できます。
ドリームのエンドポイントは dreaming-2026-04-21 ベータヘッダーによって制限されています。managed-agents-2026-04-01 ヘッダーだけではドリームへのアクセスは許可されません。このページのドリームエンドポイントの例では両方のヘッダーを送信しています。セッションおよびメモリストアの呼び出しには managed-agents-2026-04-01 のみが必要です。SDKはこれらを自動的に設定します。
ドリームは、以下を受け取る非同期ジョブです。
ドリームは、入力とは別の出力メモリストアを生成します。出力ストアのIDは、ワークフローが入力ストアのクローンを作成した後、ドリームが running になってから間もなくドリームの outputs[] に表示されます。running 状態のドリームは、一時的に空の outputs[] を報告することがあります。
dream = client.beta.dreams.create(
inputs=[
{"type": "memory_store", "memory_store_id": store_id},
{"type": "sessions", "session_ids": [session_a, session_b]},
],
model="claude-opus-4-8",
instructions="Focus on coding-style preferences; ignore one-off debugging notes.",
)
print(dream.id) # drm_01...ドリーミングの入力には、既存のメモリストアとセッションの配列が含まれます。選択したモデルがドリーミングパイプラインを実行します。リサーチプレビュー期間中は claude-fable-5、claude-opus-4-8、claude-opus-4-7、claude-sonnet-5、claude-sonnet-4-6 がサポートされています。オプションで instructions を渡してドリーミングプロセスを誘導できます。instructionsで誘導するを参照してください。
レスポンスは status: "pending" を持つ完全な dream リソースです。
{
"type": "dream",
"id": "drm_01AbCDefGhIjKlMnOpQrStUv",
"status": "pending",
"inputs": [
{ "type": "memory_store", "memory_store_id": "memstore_01Hx..." },
{ "type": "sessions", "session_ids": ["sesn_01...", "sesn_02..."] }
],
"outputs": [],
"model": { "id": "claude-opus-4-8" },
"instructions": "Focus on coding-style preferences; ignore one-off debugging notes.",
"session_id": null,
"created_at": "2026-04-29T17:04:10Z",
"ended_at": null,
"archived_at": null,
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0
},
"error": null
}セッショントランスクリプトのみがあり既存のストアがない場合は、まず空のメモリストアを作成し、それを memory_store 入力として渡してください。
オプションの instructions フィールドは、ドリーミングパイプラインが何を合成するかを誘導します。これはパイプライン全体に適用されます。何を注意深く読むか、何をマージまたは削除するか、出力ストアをどのように構造化するかなどです。
instructions は、フォーカスする領域(「コーディングスタイルの好みに焦点を当てる」)、変更せずに保持すべきコンテンツ、ストア全体に適用したい出力の規約など、高レベルの合成ガイダンスに使用してください。パイプラインは入力に対する合成パスであり、ストアのテキストに適用されるエディタではないため、特定の行を対象とする命令的な指示(「文Xを文Yに変更する」「セクションZの数を修正する」)は一般的に変化をもたらしません。個々のメモリに対して的を絞った編集を行うには、出力ストアに対して直接Memory Stores APIを使用してください。
ドリームは非同期で実行され、入力トランスクリプトの数に応じて、通常は数分から数時間かかります。IDでドリームをポーリングしてステータスを確認します。
while dream.status in ("pending", "running"):
time.sleep(10)
dream = client.beta.dreams.retrieve(dream.id)
print(f"status={dream.status} input_tokens={dream.usage.input_tokens}")status | 意味 |
|---|---|
pending | ドリームが正常に作成され、キューに入りました。 |
running | パイプラインが処理中です。作業の進行に応じて usage が更新されます。 |
completed | 正常に完了しました。outputs[] の値が新しいメモリストアです。 |
failed | ドリーミングの実行がエラーで終了しました。出力メモリストアは、失敗前に書き込まれた内容のままで残されます。 |
canceled | ドリーミングの実行がキャンセルされました。出力メモリストアはそのまま残されます。 |
ドリームが running になると、その session_id フィールドはパイプラインを実行している基盤のセッションを指します。そのセッションのイベントをストリーミングして、ドリームが何を読み書きしているかをリアルタイムで観察できます。ドリームが終了状態に達すると、セッションはアーカイブされます(削除はされません)。そのため、トランスクリプトはその後も利用可能です。
status が completed に達すると、outputs[] 内の memory_store エントリは完全に構築されたストアを参照します。これはワークスペース内の通常のメモリストアです。Memory Stores APIまたはConsoleで確認し、次のいずれかを行います。
memory_store リソースとしてアタッチする# dream が終了すると、出力には再構築されたメモリストアが保持されます
output_store_id = next(
output.memory_store_id for output in dream.outputs if output.type == "memory_store"
)
session = client.beta.sessions.create(
agent=agent_id,
environment_id=environment_id,
resources=[
{"type": "memory_store", "memory_store_id": output_store_id},
],
)ドリーム自体が入力を削除または変更することは決してありません。failed または canceled の場合、出力ストアは部分的な内容とともに保持されるため、停止前に何が生成されたかを確認できます。不要であればMemory Stores APIを通じてクリーンアップしてください。
ドリームが pending または running の間、400のガードはドリーム自体のアーカイブに適用されるものであり、そのストアには適用されません。実行中に入力メモリストアをアーカイブまたは削除する(あるいは入力セッションを削除する)と、ドリームは input_memory_store_unavailable または input_session_unavailable で失敗します。
キャンセルは、pending または running のドリームを即座に canceled に移行させます。すでに canceled のドリームをキャンセルすることは冪等な無操作です。completed または failed のドリームをキャンセルすると400が返されます。
キャンセル後、進行中の作業が終息するまでの数秒間、ドリームの usage フィールドが更新され続けることがあります。最終的なカウントが必要な場合は、usage が安定するまでドリームをポーリングしてください。
client.beta.dreams.cancel(dream.id)アーカイブは、終了状態(completed、failed、または canceled)に達したドリームに archived_at を設定します。status は変更されません。アーカイブされたドリームはデフォルトのリストレスポンスから除外されますが、IDによる読み取りは引き続き可能です。すでにアーカイブされたドリームをアーカイブすることは冪等な無操作です。pending または running のドリームをアーカイブすると400が返されます。先にキャンセルしてください。アーカイブ解除はありません。
client.beta.dreams.archive(dream.id)ドリームをアーカイブしても、その出力メモリストアには影響しません。それはMemory Stores APIを通じて別途管理してください。
ワークスペース内のアーカイブされていないすべてのドリームを、新しい順に返します。limit(デフォルト20、最大100)と page カーソルを使用してページネーションします。アーカイブされたドリームを含めるには include_archived=true を渡します。
for listed_dream in client.beta.dreams.list(limit=20):
print(listed_dream.id, listed_dream.status)発生しうるドリーミングエラーの一部を以下に示します(網羅的ではありません)。
error.type | 発生条件 |
|---|---|
timeout | パイプラインが実行時間の上限を超えました。 |
internal_error | 分類されていないパイプラインの失敗。 |
memory_store_org_limit_exceeded | パイプラインが作業用ストレージをプロビジョニングしている間に、組織がメモリストアの上限に達しました。 |
input_memory_store_too_large | 入力メモリストアがパイプラインのサイズ制限を超えています。 |
input_memory_store_unavailable | ドリームの作成後に入力メモリストアがアーカイブまたは削除されました。 |
input_session_unavailable | ドリームの作成後に入力セッションが削除されました。 |
ドリームは、選択したモデルの標準APIトークンレートで課金されます。リソースの usage に正確な合計が報告されます。コストは入力セッションの数と長さにほぼ比例して増加します。少数のセッションから始めて、キュレーションの品質に満足できたらスケールアップしてください。
| 制限 | 値 |
|---|---|
| ドリームあたりのセッション数 | 100 |
instructions の長さ | 4,096文字 |
| サポートされるモデル | claude-fable-5、claude-opus-4-8、claude-opus-4-7、claude-sonnet-5、claude-sonnet-4-6 |
この機能がリサーチプレビューの間、ドリームの作成にはデフォルトのレート制限が適用されます。より高い制限が必要な場合はサポートにお問い合わせください。
Was this page helpful?