news 2026/4/24 11:43:19

用 Obsidian 做 AI Agent 的长期记忆中枢:架构解析与实践指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 Obsidian 做 AI Agent 的长期记忆中枢:架构解析与实践指南

用 Obsidian 做 AI Agent 的长期记忆中枢:架构解析与实践指南

一张架构图,揭示了 AI 助手"记住一切"背后的完整信息流。


为什么 AI Agent 需要长期记忆?

大语言模型本身是无状态的——每次对话结束,上下文清空,一切归零。

这是个根本性缺陷:你今天告诉它你的偏好,明天再开一个新对话,它对你一无所知。要让 AI 助手真正"懂你",必须在模型外面搭一套持久化记忆系统。

有人用数据库,有人用向量检索,有人用纯文本文件。而这套架构选择了一个出人意料却极其务实的方案:Obsidian Vault


架构全景:三层信息流

整套系统分为三层,信息从外向内流动,再通过反馈回路闭环。

外部数据源 → AI Agent(Hermes)→ Obsidian Vault → 反馈回 AI

第一层:外部数据源

五类外部 API 持续向系统注入实时数据:

数据源API用途
日历Google Calendar今日日程、待办提醒
任务Todoist API任务清单、优先级
股票Yahoo Finance行情、涨跌、情绪分类
邮件Email API重要邮件摘要
天气OpenWeather当日天气、穿搭建议

这些数据不是手动输入的,而是由**定时任务(Cron Jobs)**自动拉取,写入 Vault。

第二层:AI Agent 核心

AI Agent(图中称为 Hermes Agent)包含四个组件:

1. Cron Jobs — 定时自动化
  • 早报(6:50 AM):拉取 Todoist + Google Calendar,生成当日 daily note,写入 Vault;7:00 AM 第二个 Cron 读取缓存,格式化后推送到 Telegram。
  • 财报(9:00 AM):爬取 Yahoo Finance,按 ticker 提取价格、涨跌幅、新闻标题,自动分类牛/中性/熊情绪,推送表格到 Telegram。
2. Skills Library — 技能库
  • 存储 150+ 可复用工作流
  • 覆盖:网页搜索、发布博客、控制智能家居、运行代码等
  • Skills 可以直接读写 Vault,实现跨会话的工作流持久化
3. Memory Tool — 会话记忆
  • 每次对话开始时,将9K 字符的精华记忆注入 system prompt
  • 存储用户偏好、环境信息、已知 quirks 等稳定事实
  • 当记忆接近 67% 容量上限时,触发记忆迁移流水线
4. Chat Interface — 交互入口
  • 支持 Telegram 和 CLI 双入口
  • 是唯一一个接收 Vault反向反馈的组件
  • AI 可在对话中按需查询 Vault 中的历史记录和文档

第三层:Obsidian Vault

Vault 是整套架构的"持久化大脑",组织结构如下:

Vault/ ├── System/ # 稳定参考资料 │ ├── context.md # 当前环境上下文 │ ├── preferences.md # 用户偏好 │ └── environment.md # 系统配置 ├── Daily/ # 可检索的时间线 │ ├── 2026-04-23.md │ ├── 2026-04-22.md │ └── ... ├── Work/ # 工作记录 │ ├── Business-A/ │ ├── Business-B/ │ └── Reports/ └── Personal/ # 个人追踪 ├── Finance/ ├── Health/ └── Projects/

记忆迁移流水线:核心设计亮点

这是整套架构最精妙的部分,解决了一个棘手问题:热记忆有限,如何不丢失重要信息?

Hot Memory(9K,每轮注入) ↓ 达到 67% 容量 Stable Vault Files(按需检索) ↓ AI 需要时 On-demand Lookup → 回注入对话上下文

三段式设计的逻辑:

  1. 工作记忆(Hot Memory):每轮对话都注入的 9K 字符,相当于人类的短期记忆,存放最近、最常用的信息。

  2. 迁移触发(67% 阈值):当热记忆快满时,系统将"已稳定、不常变动"的事实迁移到 Vault 文件。这不是简单的 overflow,而是有意识的知识分层。

  3. 按需检索(On-demand Lookup):AI 在对话中可以主动查询 Vault,拉取特定历史记录或参考文档,实现"想起来了"的效果。

这套设计的本质是模拟人类记忆的工作记忆 + 长期记忆分层模型,用工程手段在 LLM 的无状态架构上打了一个补丁。


实践指南:如何复刻这套架构

Step 1:初始化 Obsidian Vault

mkdir-p~/vault/{System,Daily,Work,Personal}# 创建核心系统文件touch~/vault/System/context.mdtouch~/vault/System/preferences.mdtouch~/vault/System/environment.md

preferences.md里写下你的基本偏好(语言、时区、工作习惯等),这将成为 AI 每轮注入的基础素材。

Step 2:配置定时任务 Cron Jobs

以早报为例,设置两个 Cron:

# cron 1: 06:50 — 拉取数据,生成 daily noteimportdatetimeimportrequestsdefgenerate_daily_note():today=datetime.date.today().isoformat()# 拉取 Todoist 任务tasks=fetch_todoist_tasks()# 拉取 Google Calendar 事件events=fetch_calendar_events()note_content=f"""#{today}## 今日任务{format_tasks(tasks)}## 日程安排{format_events(events)}"""withopen(f"~/vault/Daily/{today}.md","w")asf:f.write(note_content)# cron 2: 07:00 — 读取缓存,推送 Telegramdefsend_morning_briefing():today=datetime.date.today().isoformat()withopen(f"~/vault/Daily/{today}.md")asf:content=f.read()send_to_telegram(format_briefing(content))

Step 3:设计记忆注入格式

Hot Memory 的 9K 字符需要精心设计,建议分区:

## USER PROFILE - 姓名、角色、偏好语言 - 工作习惯、时区 ## ENVIRONMENT - 系统路径、工具配置 - API key 位置(只记路径,不记值) ## ACTIVE PROJECTS - 当前在做的项目 - 关键决策和进展 ## QUIRKS & LESSONS - 工具的已知 bug 和绕过方式 - 用户的纠正记录(不要再做 X,要做 Y)

Step 4:技能库组织

将可复用的工作流封装为独立 Skill 文件,每个 Skill 包含:

--- name: skill-name description: 一句话描述 --- # 触发条件 什么情况下用这个 skill # 步骤 1. 具体操作步骤 2. 关键命令 # 注意事项 已知坑点

Step 5:实现反向查询(On-demand Lookup)

当 AI 需要查询 Vault 时,通过工具调用实现:

defsearch_vault(query:str,path:str="~/vault")->str:"""搜索 Obsidian Vault 中的内容"""importsubprocess result=subprocess.run(["rg","-l","--max-count=5",query,path],capture_output=True,text=True)files=result.stdout.strip().split("\n")contents=[]forfinfiles[:3]:# 最多返回3个文件withopen(f)asfp:contents.append(f"##{f}\n{fp.read()[:2000]}")return"\n\n".join(contents)

这套架构的本质思想

看完整张图,有一个核心洞察值得单独说:

AI Agent 的记忆问题,本质上是一个信息架构问题,而不是模型能力问题。

Obsidian 之所以适合做记忆后端,不是因为它有什么神奇的技术,而是因为它的核心设计哲学——纯文本、本地优先、双向链接——天然契合 AI 的信息消费方式。

  • 纯文本 = LLM 可直接读取,无需解析
  • 本地优先 = 延迟低,无网络依赖
  • 文件夹结构 = 天然的信息分层,对应记忆的冷热分层

换句话说:用 Obsidian 做 AI 记忆后端,是把人类知识管理的最佳实践,嫁接到了 AI Agent 的工程架构上。

这也是为什么它比向量数据库方案更直觉友好——你可以直接打开 Obsidian 看到 AI 的"大脑"里存了什么,随时编辑、随时理解。


小结

组件作用对应人类记忆
Hot Memory(9K)每轮注入的核心上下文工作记忆
Daily Notes每日自动生成的时间线日记/情节记忆
System/ 文件稳定的参考资料语义记忆
Skills Library可复用的程序性知识程序性记忆
On-demand Lookup按需检索历史提取式回忆

这不只是一套工具组合,而是一种关于"AI 应该如何记忆"的完整思考框架。

如果你正在构建自己的 AI 助手,这套架构值得认真参考。


参考架构来源:Reddit r/ObsidianMD,原帖展示了完整的 Obsidian + Hermes Agent 集成方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 11:42:40

抖音批量下载神器:3分钟搞定视频、音乐、封面一键保存

抖音批量下载神器:3分钟搞定视频、音乐、封面一键保存 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…

作者头像 李华
网站建设 2026/4/24 11:41:31

ESP32-S3 LED控制器YULC的硬件设计与智能家居应用

1. YULC USB-C LED控制器深度解析作为一名智能家居设备开发者,我最近测试了AAElectronics推出的YULC USB-C LED控制器。这款基于ESP32-S3的控制器完美解决了LED灯带项目中的三大痛点:供电混乱、信号衰减和系统集成。相比市面上常见的控制器方案&#xff…

作者头像 李华
网站建设 2026/4/24 11:39:15

PyTorch二维张量核心操作与图像处理实践

1. PyTorch中的二维张量基础解析在深度学习和科学计算领域,张量是最基础的数据结构。作为PyTorch的核心数据结构,二维张量在图像处理、表格数据处理等场景中扮演着重要角色。与一维张量相比,二维张量引入了行列概念,使其能够更自然…

作者头像 李华
网站建设 2026/4/24 11:38:23

深度剖析:Redis为什么这么快?从底层原理到实践细节

深度剖析CAS实现:从CPU原语到Java无锁并发的底层逻辑 在Java并发编程中,“锁”是解决线程安全的传统方案,但synchronized、ReentrantLock等阻塞锁会带来线程上下文切换、阻塞唤醒的开销,在高并发、低冲突场景下反而会拖累系统性能…

作者头像 李华
网站建设 2026/4/24 11:37:38

告别任务管理器!用Sysinternals VMMap揪出Windows程序内存泄漏的元凶DLL

精准定位Windows内存泄漏:Sysinternals VMMap高阶排查指南 当你的Windows系统开始变得迟缓,任务管理器里某个进程的内存占用持续攀升,却无法告诉你具体原因时,这就像面对一个没有线索的犯罪现场。作为开发者或高级用户&#xff0c…

作者头像 李华