• 消息
  • 托管智能体
  • 管理
Search...
⌘K
第一步
概览快速入门在控制台中构建原型
定义您的智能体
智能体设置工具MCP 连接器权限策略智能体技能
配置智能体环境
云环境设置云沙箱参考
将工作委派给您的智能体
启动会话会话操作会话事件流订阅 Webhook定义结果使用保管库进行身份验证
管理智能体上下文
访问 GitHub附加和下载文件
记忆存储梦境
高级编排
多智能体会话定时部署
参考
托管智能体参考
处理文件
文件 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 令牌费率计费;资源上的 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
  • 错误
  • 计费
  • 限制