尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Claude Agents 记忆系统实战指南:Memory Store + Dreaming 完整教程

Claude Agents 记忆系统实战指南:Memory Store + Dreaming 完整教程
📅 发布时间:2026/6/22 15:24:02

Claude Agents 记忆系统实战指南:Memory Store + Dreaming 完整教程

一句话总结:Claude Agents 默认是"孤岛"——每个会话独立,信息无法传递。通过Memory Store(持久化存储)和Dreaming(异步记忆优化)两个功能,可以让 Agent 跨会话记住信息,并自动整理、去重、丰富记忆内容,实现真正的"长期记忆"。


一、问题背景:Agent 的"失忆"困境

当前大多数 AI Agent 面临一个核心问题:每个会话(Session)都是孤立的。

  • Agent 不会记住过去会话的信息
  • 信息无法传递到未来的会话
  • 每次对话都要重新交代背景

1.1 演示:没有记忆的 Agent

步骤 1:创建第一个会话,告诉 Agent 一些信息

# 创建无记忆的测试会话claude session create --agent-id<your-agent-id>--environment-id<your-env-id>--title"test with no memory"

Prompt 1:向第一个会话发送信息

昨天我参加了一个关于 CMA 的讲座,关键词包括:multi-agent orchestration、multiple illustration outcomes 和 memory。我还认识了一个叫 Alex 的人。

Agent 的回应通常是:“好的,谢谢你的信息。还有什么需要我帮忙的吗?”

步骤 2:创建第二个会话,询问刚才的信息

# 创建第二个无记忆会话claude session create --agent-id<your-agent-id>--environment-id<your-env-id>--title"test no memory - second session"

Prompt 2:向第二个会话询问之前的信息

告诉我昨天 CMA 讲座的内容,以及我认识了谁。

Agent 的回应:“我没有访问到这些信息,但我可以在以下方面帮助你……”

结论:信息没有跨会话传递,这就是 Agent 的"失忆"问题。


二、解决方案:Memory Store(记忆存储)

Memory Store 是一个持久化的类文件系统存储,可以附加到会话上,让 Agent 能够跨会话读取和写入信息。

2.1 核心特性

特性说明
持久化会话结束后数据不会丢失
类文件系统使用目录结构组织记忆,支持bash、grep等工具操作
多会话共享同一个 Memory Store 可以附加到多个会话
灵活边界可按用户、工作区、项目定义存储边界
读写权限支持read-write(默认)和read-only两种模式

2.2 创建 Memory Store

# 创建 Memory Storeclaude memory-store create--name"workshop-memory"--description"Memory for workshop sessions"

创建后可在 Console 的Manage Agents → Memory Stores中查看,初始状态为空。

2.3 将 Memory Store 附加到会话

# 创建带 Memory Store 的会话claude session create --agent-id<your-agent-id>--environment-id<your-env-id>--memory-store-id<your-memory-store-id>--memory-prompt"Focus on workshop-related information"--memory-access"read-write"--title"test with memory"

参数说明:

参数必填说明
--memory-store-id是Memory Store 的唯一标识
--memory-prompt否引导 Agent 关注特定领域的信息
--memory-access否read-write(默认)或read-only

2.4 演示:有记忆的 Agent

步骤 1:创建带 Memory Store 的会话,发送信息

# 创建带 memory 的会话claude session create --agent-id<your-agent-id>--environment-id<your-env-id>--memory-store-id<your-memory-store-id>--title"test with memory"

Prompt 3:向带记忆的会话发送信息

昨天我参加了一个关于 CMA 的讲座,关键词包括:multi-agent orchestration、multiple illustration outcomes 和 memory。我还认识了一个叫 Alex 的人。

此时 Agent 会:

  1. 先检查 Memory Store 是否有相关信息
  2. 发现没有后,将信息写入 Memory Store(通常保存为sessions.md或类似文件)
  3. 确认已保存

步骤 2:创建新会话,使用同一个 Memory Store,询问之前的信息

# 创建第二个带相同 memory 的会话claude session create --agent-id<your-agent-id>--environment-id<your-env-id>--memory-store-id<your-memory-store-id>--title"test with memory - second session"

Prompt 4:询问之前保存的信息

告诉我昨天 CMA 讲座的内容,以及我认识了谁。

此时 Agent 会:

  1. 先读取 Memory Store
  2. 使用grep搜索关键词 “CMA”
  3. 找到之前保存的信息
  4. 基于记忆内容回答问题

结论:信息成功跨会话传递!

2.5 Memory Store 的文件系统操作

因为 Memory Store 是以类文件系统挂载到会话容器的,Agent 可以使用强大的文件操作工具:

# Agent 可以执行的内部操作示例:# 1. 列出记忆文件ls/memory/# 2. 搜索关键词grep-r"CMA"/memory/# 3. 读取特定文件cat/memory/sessions.md# 4. 创建新文件echo"New insight">/memory/insights.md# 5. 编辑现有文件sed-i's/old/new/g'/memory/sessions.md

2.6 管理 Memory Store

2.6.1 通过 CLI 管理
# 列出 Memory Store 中的所有文件claude memory-store list-files --memory-store-id<id># Memory Store 支持版本控制,每次修改都会创建新版本claude memory-store list-versions --memory-store-id<id>--file-path<path>
2.6.2 通过 Console UI 管理

在 Console 的Manage Agents → Memory Stores中:

  • 查看文件系统目录结构
  • 直接编辑记忆文件(修正错误或补充信息)
  • 手动添加新的记忆文件
2.6.3 手动添加记忆
# 通过 API 直接添加记忆文件claude memory-store add-file --memory-store-id<id>--file-path"notes/important.md"--content"This is a manually added memory."

三、进阶方案:Dreaming(记忆优化)

3.1 问题:Memory Store 会无限增长

当 Agent 长期读写 Memory Store 时,会出现以下问题:

  • 信息堆积:每次任务都往记忆里堆信息,没有整理
  • 重复冗余:相同信息多次写入
  • 信息过时:旧信息可能已失效,但仍占用空间
  • 检索效率下降:记忆文件越来越庞大,Agent 查找困难

3.2 Dreaming 是什么?

Dreaming 是一个异步后台任务,本质上是一个多 Agent 协作系统,专门负责:

功能说明
事实核查(Fact Checking)验证记忆中的信息是否准确
信息丰富(Enriching)补充缺失的细节、日期、上下文
去重整理(Deduplicating)合并重复信息,删除冗余
结构化组织(Organizing)创建索引文件,优化目录结构
过期清理移除不再相关的旧信息

3.3 Dreaming 的核心架构

Dreaming 采用多 Agent 编排(Multi-Agent Orchestration)架构:

┌─────────────────────────────────────────┐ │ Dreaming Orchestrator │ │ (协调器,负责任务调度) │ └─────────────────────────────────────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Sub-Agent│ │ Sub-Agent│ │ Sub-Agent│ │ (Session 1) │ │ (Session 2) │ │ (Session 3) │ │ 分析输入 │ │ 事实核查 │ │ 信息丰富 │ └─────────┘ └─────────┘ └─────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ Output Memory Store │ │ (优化后的新记忆存储) │ └─────────────────────────────────────────┘
  • 协调器(Orchestrator):负责任务分发和进度管理
  • 子 Agent(Sub-Agent):每个子 Agent 负责分析一个输入会话或执行特定优化任务
  • 设计原则:穷尽式(Exhaustive)——给定 100 个会话,确保每个都被仔细审查

3.4 创建 Dreaming Job

# 创建 Dreaming Jobclaude dream create--model"claude-sonnet-4-7"--input-memory-store-id<input-memory-store-id>--output-memory-store-id<output-memory-store-id>--session-ids<session-id-1>,<session-id-2>,...,<session-id-n>--prompt"Focus on fact-checking dates and organizing by topic."

参数说明:

参数必填说明
--model是claude-sonnet-4-7或claude-sonnet-4-6(成本更低)
--input-memory-store-id是需要优化的源 Memory Store
--output-memory-store-id是优化后的输出 Memory Store(非破坏性)
--session-ids是要分析的会话 ID 列表(支持 10~100+ 个)
--prompt否自定义提示,指导 Dreaming 关注特定方面

3.5 Dreaming 的自定义提示词(Prompts)

Prompt 5:指导 Dreaming 关注特定细节
Please focus on fact-checking these specific details: [具体细节列表]. Make sure to remember these for future reference.
Prompt 6:指导 Dreaming 按特定结构组织
Please organize the memory files into this specific structure: [期望的目录结构]. I want the memory store to follow this format.

3.6 监控 Dreaming 进度

创建 Dreaming Job 后,可通过以下方式监控:

# 查询 Dreaming Job 状态claude dream get --dream-id<dream-id>

在 Console 中:

  • 查看Manage Agents → Dreams
  • 实时跟踪 Token 消耗
  • 查看 Dreaming Agent 的详细执行日志(因为 Dreaming 本身也是基于 Claude Agents 构建的,你可以看到每个子 Agent 的思考过程)

执行时间:根据会话数量和记忆大小,从几分钟到几小时不等。

3.7 Dreaming 的输出结果

Dreaming 完成后,输出 Memory Store 中会包含:

3.7.1 索引文件(Index File)
# Memory Index ## Session Summaries - [session-001](session-001.md) - CMA talk, multi-agent orchestration - [session-002](session-002.md) - Workshop day 2 planning - [session-003](session-003.md) - Resource links and logistics ## People - Alex - Met at CMA talk, contact: alex@example.com ## Topics - Multi-agent orchestration - Memory systems - Dreaming processes

索引文件的作用:让未来的 Agent 能更高效地检索信息,无需遍历所有文件。

3.7.2 优化后的记忆文件

Dreaming 会重新格式化原始记忆文件,添加:

  • Slug(短标识):快速定位
  • 描述(Description):内容摘要
  • 元数据(Metadata):时间戳、来源会话等
  • 丰富后的细节:补充原始记录中缺失的信息

3.8 Dreaming 的关键特性

特性说明
非破坏性不会修改输入 Memory Store,而是写入全新的输出 Memory Store
异步执行在后台运行,不阻塞正在工作的 Agent
可审计Console 中展示完整的 diff,可人工审查 Dreaming 的修改
可扩展支持 10~100+ 个会话,未来计划支持更多
高缓存命中率约 85% 的 Token 消耗来自缓存,成本可控

四、三层架构:Session + Memory Store + Dreaming

┌─────────────────────────────────────────────────────────────┐ │ DREAMING LAYER │ │ (记忆优化:整理、丰富、去重、核查) │ │ ┌─────────────┐ │ │ │ Orchestrator │ │ │ │ + Sub-Agents │ │ │ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ MEMORY STORE LAYER │ │ (持久化存储:跨会话共享信息) │ │ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ Input Store │ ──▶ │ Output Store │ (After Dreaming) │ │ │ (原始记忆) │ │ (优化后记忆) │ │ │ └─────────────┘ └─────────────┘ │ │ │ │ 文件系统结构: │ │ /memory/ │ │ ├── index.md ← 索引文件(Dreaming 生成) │ │ ├── sessions/ │ │ │ ├── session-001.md │ │ │ └── session-002.md │ │ ├── people/ │ │ │ └── alex.md │ │ └── topics/ │ │ └── multi-agent-orchestration.md │ └─────────────────────────────────────────────────────────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────┐ │ SESSION LAYER │ │ (隔离的会话实例,可附加 Memory) │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │Session 1│ │Session 2│ │Session 3│ │ │ │ +Memory │◀──▶│ +Memory │◀──▶│ +Memory │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ 每个 Session 是独立的 Agent 运行实例 │ │ 通过 Memory Store 实现跨会话信息传递 │ └─────────────────────────────────────────────────────────────┘

五、实战流程:从创建到使用

5.1 完整流程图

Step 1: 创建 Memory Store └── claude memory-store create --name "my-memory" Step 2: 创建带 Memory 的 Session,积累信息 └── claude session create --memory-store-id <id> └── 与 Agent 对话,Agent 自动读写 Memory Step 3: 重复 Step 2,积累多个会话的记忆 └── Session A: 记录项目需求 └── Session B: 记录技术方案 └── Session C: 记录会议纪要和决策 Step 4: 创建 Dreaming Job,优化记忆 └── claude dream create --input-memory-store-id <input-id> --output-memory-store-id <output-id> --session-ids <id1>,<id2>,<id3> Step 5: 监控 Dreaming 进度 └── claude dream get --dream-id <id> └── Console 中查看 diff 和执行日志 Step 6: 使用优化后的 Memory Store └── claude session create --memory-store-id <output-id> └── 新会话能高效检索所有历史信息 Step 7: (可选)淘汰旧 Memory Store └── claude memory-store retire --memory-store-id <input-id> └── 保留输出 Memory Store 作为新的主存储

5.2 演示:使用 Dreaming 优化后的记忆

步骤 1:查询 Dreaming 输出

# 获取 Dreaming Job 详情claude dream get --dream-id<dream-id># 获取输出 Memory Store 的 ID# 输出中包含 output_memory_store_id

步骤 2:创建使用优化后记忆的新会话

claude session create --agent-id<your-agent-id>--environment-id<your-env-id>--memory-store-id<output-memory-store-id>--title"session with dreamed memory"

Prompt 7:询问跨会话的整合信息

我参加了哪些讲座?资源链接是什么?我标记了哪些重点?

此时 Agent 会:

  1. 读取优化后的 Memory Store
  2. 查看索引文件,快速定位相关记忆
  3. 读取具体的会话文件
  4. 给出整合后的完整回答(包含时间、主题、资源链接等丰富信息)

对比效果:

  • 优化前:Agent 只能找到零散的信息片段
  • 优化后:Agent 通过索引快速定位,信息完整、结构化、包含丰富细节

六、关键概念与最佳实践

6.1 Memory Store 的设计原则

原则说明
边界清晰按用户、项目或工作区定义 Memory Store 边界,避免信息混杂
权限控制敏感场景使用read-only模式,防止 Agent 误写
Prompt 引导使用--memory-prompt引导 Agent 关注特定领域
人工干预定期通过 Console 审查和编辑记忆文件,修正错误

6.2 Dreaming 的使用建议

建议说明
定期执行建议按天或按周执行 Dreaming,避免记忆堆积
会话数量每次 10~100 个会话,根据记忆复杂度调整
自定义提示针对业务场景定制 Prompt,指导 Dreaming 关注重点
人工审查利用 Console 的 diff 功能,审查 Dreaming 的修改
渐进替换确认输出 Memory Store 质量后,再淘汰旧存储

6.3 成本优化

Dreaming 的 Token 消耗较高,但已做以下优化:

  • 85% 缓存命中率:大部分 Token 消耗来自缓存,实际成本可控
  • 异步执行:不阻塞业务,可在低峰期运行
  • Batch API 计划:未来可能提供类似 Batch API 的低成本调度方案
  • 模型选择:使用claude-sonnet-4-6代替4-7可降低成本

七、完整提示词速查表

编号场景提示词 / 命令
1创建 Memory Storeclaude memory-store create --name "workshop-memory" --description "Memory for workshop sessions"
2创建带 Memory 的会话claude session create --agent-id <id> --environment-id <id> --memory-store-id <id> --title "test with memory"
3向会话发送信息(自动保存到 Memory)昨天我参加了一个关于 CMA 的讲座,关键词包括:multi-agent orchestration、multiple illustration outcomes 和 memory。
4询问跨会话的信息告诉我昨天 CMA 讲座的内容,以及我认识了谁。
5创建 Dreaming Jobclaude dream create --model "claude-sonnet-4-7" --input-memory-store-id <id> --output-memory-store-id <id> --session-ids <id1>,<id2>
6指导 Dreaming 关注细节Please focus on fact-checking these specific details: [具体细节列表]. Make sure to remember these for future reference.
7指导 Dreaming 组织结构Please organize the memory files into this specific structure: [期望的目录结构]. I want the memory store to follow this format.
8查询 Dreaming 状态claude dream get --dream-id <dream-id>
9列出 Memory Store 文件claude memory-store list-files --memory-store-id <id>
10使用优化后的 Memory 创建会话claude session create --memory-store-id <output-memory-store-id>
11询问整合后的信息我参加了哪些讲座?资源链接是什么?我标记了哪些重点?
12淘汰旧 Memory Storeclaude memory-store retire --memory-store-id <input-id>

八、常见问题 FAQ

Q1: Memory Store 的数据安全吗?

Memory Store 的数据存储在 Claude 平台,与 Session 容器隔离。你可以完全控制:

  • 哪些会话可以访问
  • 读写权限(read-writevsread-only)
  • 手动编辑和删除记忆文件

Q2: 一个 Memory Store 可以附加到多少个会话?

没有硬性限制。同一个 Memory Store 可以附加到任意数量的会话,实现团队级别的知识共享。

Q3: Dreaming 会修改原始 Memory Store 吗?

不会。Dreaming 是非破坏性的,它会创建全新的输出 Memory Store,原始数据保持不变。

Q4: Dreaming 支持多少个会话?

目前支持 10~100 个会话,未来计划支持更多。建议根据记忆复杂度分批处理。

Q5: 如何降低 Dreaming 的成本?

  • 使用claude-sonnet-4-6代替4-7
  • 利用高缓存命中率(85%),重复信息处理成本低
  • 关注未来推出的 Batch API 和调度优化

Q6: 可以手动编辑 Dreaming 的输出吗?

可以。输出 Memory Store 和普通 Memory Store 一样,可以通过 Console 或 API 直接编辑。

Q7: Memory Store 和 RAG 有什么区别?

维度Memory StoreRAG
存储方式类文件系统,结构化向量数据库,非结构化
Agent 操作Agent 主动读写被动检索
优化方式Dreaming(多 Agent 整理)依赖外部索引更新
可控性高(可手动编辑)低(黑盒检索)

九、总结

Claude Agents 的记忆系统通过Memory Store + Dreaming解决了 Agent "失忆"的核心问题:

层级功能解决的问题
Session单次对话实例Agent 运行环境
Memory Store跨会话持久化存储信息孤岛问题
Dreaming异步记忆优化记忆膨胀、信息质量下降

核心收益:

  • ✅ Agent 能记住跨会话的信息
  • ✅ 记忆自动整理、去重、丰富
  • ✅ 检索效率随时间提升而非下降
  • ✅ 支持人工审查和干预

核心理念:就像人类需要睡眠来整理记忆一样,Agent 也需要 “Dreaming” 来优化记忆。这不是简单的存储,而是一个持续进化的记忆生态系统。


参考资源

  • Claude Agents 官方文档
  • Memory Store API 参考
  • Dreaming 功能指南
  • Workshop 仓库(包含本文所有示例代码)

相关新闻

  • 2026在西安钻石回收行情回暖!闲置钻戒出手正当时 - 讯息早知道
  • Gemini不是聊天工具,而是谷歌AI操作系统级基础设施
  • 如何快速掌握小红书下载器:面向新手的完整批量下载无水印图文视频指南

最新新闻

  • 2026年正规英国工作签证办理靠谱机构推荐:官方认证机构盘点与工签避雷指南 - GrowthUME
  • 2026最新邯郸黄金回收价格一览表,靠谱商家推荐 - 余生黄金回收
  • ComfyUI-LTXVideo完全指南:从零开始掌握AI视频生成
  • Mac Mouse Fix终极指南:让你的10美元鼠标比苹果触控板更好用
  • Ubuntu安装Rust的完整指南:避坑、提速与生产就绪
  • AltiVec向量指令实战:合并、解包、移位与选择操作详解

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号