Agent 的全生命周期记忆 — 像人一样记忆、回溯、做梦
🇨🇳 中文 · 🇬🇧 English · 🇯🇵 日本語
💤 人一生三分之一的时间在睡眠中度过。
这并非浪费。睡眠中,大脑在重播经历、重组碎片、发现清醒时来不及注意的隐藏联系。 每一次 REM 睡眠,都是一次自主的知识巩固——将散落片段编织成网络,将模糊直觉凝固为洞见。
Deep Dream 让 AI Agent 拥有了同样的能力。
| 🧠 Remember 清醒时写入 |
🔍 Find 需要时检索 |
💭 Dream 睡眠时巩固 |
|
文本 → 实体 |
语义检索 |
自主策略选择 |
| 🧑 人类记忆 | 🤖 Deep Dream |
|---|---|
| 白天经历 → 写入记忆 | 文本/文档 → Remember 写入知识图谱 |
| 回忆往事 → 提取记忆 | 自然语言提问 → Find 语义检索 |
| 夜间睡眠 → 重组巩固 | Dream Agent → DeepDream 自主发现新关系 |
传统知识图谱是静态的——写入什么就是什么。但人类记忆不是这样工作的。DeepDream 赋予 Agent 同样的能力:
- 🌉 跨越语义鸿沟 — 不仅发现相似实体,还能跨越巨大语义距离找到意想不到的连接
- 🦘 跳跃性思维 — 像梦境中的自由联想,从概念 A 跳到看似无关的概念 B
- 🔄 多策略做梦 — 8 种策略循环轮换,覆盖联想、对比、时间、跨域等不同维度
- ♾️ 永不停止 — 只要 Agent 在"睡眠"中,梦境就持续进行,无限迭代
⚠️ 关键约束: Dream Agent 只能发现已有实体间的新关系,绝不编造不存在的实体。 就像人类在梦中重组已有记忆,而非凭空创造新人物。所有梦境发现带有source: dream标记。
Remember(清醒时) Find(需要时) Dream(睡眠时)
┌──────────────┐ ┌──────────────┐ ┌────────────────────┐
│ 📝 文本→实体 │ │ 🔍 语义检索 │ │ 💭 Dream Agent │
│ 📄 文档→关系 │ │ 🕸️ 图谱扩展 │ │ ├─ 策略选择 │
│ 📦 版本化写入 │ │ ⏳ 时间回溯 │ │ ├─ LLM 规划 │
│ │ │ │ │ ├─ 工具执行 │
└──────┬───────┘ └──────┬───────┘ │ ├─ 观察反思 │
│ │ │ └─ 关系保存 │
▼ ▼ └────────┬───────────┘
┌───────────────────────────────────────────────────▼─────────┐
│ 🧬 统一记忆知识图谱 │
│ Entity 版本链 · Relation 版本链 · Episode · Community │
└──────────────────────────────────────────────────────────────┘
Dream Agent 不是一个硬编码的循环——它是一个自主智能体,通过工具调用循环自主决定:
- 📋 选择哪种策略获取种子实体
- 🔭 需要遍历和观察哪些实体与关系
- 💡 何时提出新的关系假设
- 📝 何时记录梦境发现
git clone --recurse-submodules https://github.com/ngyygm/deep-dream.git
cd deep-dream
pip install -r requirements.txt
cp service_config.example.json service_config.json
# 编辑 service_config.json: 配置 LLM 和 Embedding聊天功能通过 Claude Code CLI 提供。确保已安装 Claude Code (v2.1.90+):
# 验证 Claude Code 已安装
claude --versionClaude Code 会通过 --mcp-config 自动获得 Deep Dream MCP 工具,无需额外配置。
python -m server.api --config service_config.json浏览器打开 http://127.0.0.1:16200/ 即可看到管理面板 🎉
curl -s -X POST http://localhost:16200/api/v1/remember \
-H "Content-Type: application/json" \
-d '{"text":"林嘿嘿是考古学博士,在山洞遇见了会说话的白狐。白狐说已守护山洞三百年。","event_time":"2026-03-09T14:00:00"}'curl -s -X POST http://localhost:16200/api/v1/find \
-H "Content-Type: application/json" \
-d '{"query": "林嘿嘿和白狐之间发生了什么"}'curl -s -X POST http://localhost:16200/api/v1/find/dream/agent/start \
-H "Content-Type: application/json" \
-d '{
"max_cycles": 10,
"strategies": ["free_association", "cross_domain", "leap"],
"strategy_mode": "round_robin",
"confidence_threshold": 0.6
}'| 策略 | 🎭 类比 | 🎯 目标 |
|---|---|---|
free_association |
🔗 自由联想 | 随机实体间寻找隐藏连接 |
contrastive |
⚖️ 对比分析 | 相似实体间的差异与对比 |
temporal_bridge |
⏳ 时间穿越 | 跨越时间长河发现演变规律 |
cross_domain |
🌉 跨域灵感 | 不同领域间的意外桥梁 |
orphan_adoption |
🏠 孤儿收容 | 为孤立实体寻找归属 |
hub_remix |
🔀 枢纽重组 | 核心节点间的新路径发现 |
leap |
🦘 思维跳跃 | 创造性的远距离联想 |
narrative |
📖 故事编织 | 将零散片段串联成叙事线 |
Dream Agent 通过 8 个工具与知识图谱交互,LLM 自主决定调用哪些工具:
| 工具 | 📌 用途 |
|---|---|
get_seeds |
按策略获取种子实体(起点) |
get_entity |
查看实体详情及其直接关系 |
traverse |
BFS 多跳扩展,发现邻居 |
search_similar |
语义相似度搜索 |
search_bm25 |
BM25 关键词搜索 |
get_community |
获取社区及其成员 |
create_relation |
保存梦境发现的新关系 |
create_episode |
记录梦境周期发现 |
POST /api/v1/find/dream/agent/start
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
max_cycles |
int | 10 | 梦境周期数(1-50) |
strategies |
string[] | ["free_association","cross_domain","leap"] |
使用的策略列表 |
strategy_mode |
string | "round_robin" |
策略模式: round_robin / random / adaptive |
confidence_threshold |
float | 0.6 | 关系保存的最低置信度 |
max_tool_calls_per_cycle |
int | 15 | 每周期最大工具调用次数 |
| 端点 | 说明 |
|---|---|
POST /api/v1/remember |
写入记忆(异步) |
POST /api/v1/find |
统一语义检索 |
POST /api/v1/find/traverse |
BFS 图遍历 |
GET /api/v1/find/entities |
实体列表/搜索 |
GET /api/v1/find/relations |
关系列表/搜索 |
GET /api/v1/find/snapshot |
时间旅行快照 |
POST /api/v1/find/ask |
Agent 元查询(自然语言) |
参考 service_config.example.json,关键配置项:
| 配置 | 说明 |
|---|---|
host / port |
服务地址,默认 0.0.0.0:16200 |
storage.backend |
存储后端: "sqlite" / "neo4j" |
llm |
LLM 配置(Ollama / OpenAI 兼容 / 智谱 GLM 等) |
embedding |
Embedding 模型(本地路径或 HuggingFace 名称) |
dream_llm |
梦境专用 LLM(可单独配置轻量模型) |
chunking |
滑窗大小和重叠 |
runtime.concurrency.* |
三层并发控制 |
Deep Dream 提供 Skill,使任何支持技能调用的 Agent(Cursor、Claude Code 等)能直接使用记忆和梦境功能:
- Skill 名称:
deep-dream - 路径:
.claude/skills/deep-dream/ - 触发词:
"开始做梦"/"dream"/"深度复习" - 集成方式:将 Skill 加入 Agent 的技能目录,Agent 即可自主 Remember、Find、Dream
| 层 | 技术 |
|---|---|
| 图数据库 | Neo4j 5.x Community |
| 向量搜索 | sqlite-vec (ANN KNN) |
| LLM | OpenAI 兼容协议(GLM / Ollama / LM Studio) |
| Embedding | 本地模型 / HuggingFace |
| Web | Flask + 原生 SPA Dashboard |
| Agent 模式 | Tool-based Agent Loop(基于 Claude Code + MCP) |
见仓库根目录 LICENSE 文件。

