• 訊息
  • 託管代理
  • 管理
Search...
⌘K
第一步
概覽快速入門在 Console 中建立原型
定義您的代理
代理設定工具MCP 連接器權限政策代理技能
設定代理環境
雲端環境設定雲端沙箱參考
將工作委派給您的代理
啟動工作階段工作階段操作工作階段事件串流訂閱 Webhook定義結果使用保管庫進行驗證
管理代理上下文
存取 GitHub附加與下載檔案
記憶體儲存夢境
進階協調
多代理工作階段排程部署
參考
託管代理參考
處理檔案
Files APIPDF 支援圖片與視覺
技能
概覽最佳實務企業技能
MCP
遠端 MCP 伺服器
雲端平台上的 Claude
AWS 上的 Claude Platform
Log in
夢境
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
託管代理/建構持久記憶體

Dreams

讓 Claude 反思過去的工作階段,以整理代理程式的記憶並發掘新的洞察。

「Dreaming」(做夢)是一項研究預覽功能。申請存取權限以試用。

代理程式在工作時會寫入其記憶儲存區,但這些寫入是局部且漸進的:經過多次工作階段後,記憶儲存區會累積重複、矛盾和過時的條目。

Dreams(夢境)讓 Claude 能夠清理這些內容。一個 dream 會讀取現有的記憶儲存區以及過去的工作階段記錄,然後產生一個全新、重新組織的記憶儲存區:合併重複項目、將過時或矛盾的條目替換為最新值,並發掘新的洞察。

輸入的儲存區永遠不會被修改,因此您可以檢視輸出結果,如果不滿意可以直接捨棄。

所有 Managed Agents API 請求都需要 managed-agents-2026-04-01 beta 標頭。Dreams 另外還需要 dreaming-2026-04-21 beta 標頭。SDK 會自動設定這些標頭。

運作方式

一個 dream 是一個非同步工作,它接受:

  • 一個既有的記憶儲存區:Claude 會驗證、去除重複並重新組織的儲存區,以及
  • 1 到 100 個工作階段:Claude 會從這些過去的記錄中挖掘模式和洞察,並整合到輸出中。

Dream 會產生另一個輸出記憶儲存區,與輸入分開。一旦 dream 開始 running,輸出儲存區的 ID 就會出現在 dream 的 outputs[] 中。

建立 dream

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...

Dreaming 的輸入包括既有的記憶儲存區和一個工作階段陣列。所選的模型將執行 dreaming 管線;在研究預覽期間支援 claude-opus-4-8、claude-opus-4-7 和 claude-sonnet-4-6。您可以選擇性地傳入 instructions 來引導 dreaming 流程;請參閱使用指令引導。

回應是完整的 dream 資源,其 status: "pending":

{
  "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_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  },
  "error": null
}

如果您只有工作階段記錄而沒有現有的儲存區,請先建立一個空的記憶儲存區,並將其作為 memory_store 輸入傳入。

使用指令引導

選用的 instructions 欄位可引導 dreaming 管線綜合的內容。它會套用於整個管線:要仔細閱讀什麼、要合併或捨棄什麼,以及如何組織輸出儲存區的結構。

請將 instructions 用於高層次的綜合指引,例如關注領域(「專注於程式碼風格偏好」)、要保持不變的內容,或您希望套用於整個儲存區的輸出慣例。此管線是對輸入進行綜合處理,而非對儲存區文字套用編輯器,因此針對特定行的命令式指令(「將句子 X 改為 Y」、「修正 Z 區段中的計數」)通常不會產生任何變更。若要對個別記憶進行針對性編輯,請直接在輸出儲存區上使用 Memory Stores API。

追蹤進度

Dreams 以非同步方式執行,通常需要數分鐘到數十分鐘,視輸入大小而定。透過 ID 輪詢 dream 以檢查狀態:

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意義
pendingDream 已成功建立並排入佇列。
running管線正在處理中。usage 會隨著工作進展而更新。
completed成功完成。outputs[] 的值即為新的記憶儲存區。
failedDreaming 執行因錯誤而終止。輸出記憶儲存區會保留失敗前已寫入的內容,維持原狀。
canceledDreaming 執行已取消。輸出記憶儲存區維持原狀。

觀察管線執行

一旦 dream 進入 running 狀態,其 session_id 欄位會指向執行管線的底層工作階段。您可以串流該工作階段的事件,即時觀察 dream 正在讀取和寫入的內容。當 dream 達到終止狀態時,該工作階段會被封存(而非刪除),因此記錄在之後仍可供查閱。

使用輸出

當 status 達到 completed 時,outputs[] 中的 memory_store 條目會參照一個已完整填入的儲存區。它是您工作區中的一般記憶儲存區。請使用 Memory Stores API 或在 Console 中檢視它,然後選擇:

  • **採用它:**將其作為 memory_store 資源附加到未來的工作階段,以取代(或搭配)輸入的記憶儲存區,或
  • 捨棄它:刪除或封存它。
# After the dream ends, the output holds the rebuilt memory store
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},
    ],
)

Dream 本身永遠不會刪除或修改其輸入。在 failed 或 canceled 狀態下,輸出儲存區會保留部分內容,以便您檢查停止前產生的內容;如果不需要,請透過 Memory Stores API 清理它。

當 dream 處於 pending 或 running 狀態時,封存或刪除其輸出儲存區會被拒絕並回傳 400。在執行期間封存或刪除輸入儲存區或工作階段,會導致 dream 失敗並出現 input_memory_store_unavailable 或 input_session_unavailable 錯誤。

取消 dream

取消操作會立即將 pending 或 running 的 dream 移至 canceled 狀態。取消已經是 canceled 的 dream 是冪等的無操作;取消 completed 或 failed 的 dream 會回傳 400。

取消後,dream 的 usage 欄位可能會在進行中的工作結束期間繼續更新幾秒鐘。如果您需要最終計數,請輪詢 dream 直到 usage 穩定為止。

client.beta.dreams.cancel(dream.id)

封存 dream

封存會在已達到終止狀態(completed、failed 或 canceled)的 dream 上設定 archived_at;status 保持不變。已封存的 dreams 會從預設的列表回應中排除,但仍可透過 ID 讀取。封存已封存的 dream 是冪等的無操作。封存 pending 或 running 的 dream 會回傳 400;請先取消它。沒有取消封存的功能。

client.beta.dreams.archive(dream.id)

封存 dream 不會影響其輸出記憶儲存區;請透過 Memory Stores API 另行管理。

列出 dreams

回傳工作區中所有未封存的 dreams,依最新排序。使用 limit(預設 20,最大 100)和 page 游標進行分頁。傳入 include_archived=true 以包含已封存的 dreams。

for listed_dream in client.beta.dreams.list(limit=20):
    print(listed_dream.id, listed_dream.status)

錯誤

以下是可能的 dreaming 錯誤的非完整列表。

error.type發生時機
timeout管線超過其執行時間預算。
internal_error未分類的管線失敗。
memory_store_org_limit_exceeded管線在配置工作儲存空間時,您的組織達到了記憶儲存區上限。
input_memory_store_too_large輸入的記憶儲存區超過管線的大小限制。
input_memory_store_unavailable輸入的記憶儲存區在 dream 建立後被封存或刪除。
input_session_unavailable某個輸入工作階段在 dream 建立後被封存或刪除。

計費

Dreams 依您所選模型的標準 API token 費率計費;資源上的 usage 會回報確切的總計。成本大致與輸入工作階段的數量和長度呈線性關係。請先從少量工作階段開始,待您對整理品質滿意後再擴大規模。

限制

限制值
每個 dream 的工作階段數100
instructions 長度4,096 個字元
支援的模型claude-opus-4-8、claude-opus-4-7、claude-sonnet-4-6

此功能處於 beta 階段時,dream 建立適用預設速率限制。如果您需要更高的限制,請聯絡支援團隊。

Was this page helpful?

  • 運作方式
  • 建立 dream
  • 使用指令引導
  • 追蹤進度
  • 生命週期
  • 觀察管線執行
  • 使用輸出
  • 取消 dream
  • 封存 dream
  • 列出 dreams
  • 錯誤
  • 計費
  • 限制