Report

上下文管理:OpenClaw + Obsidian 与 YAML 轻量方案对比

以“给LLM/Agent提供可控、可追溯、可复用上下文”为目标的落地评估

对比OpenClaw+Obsidian与YAML上下文包优劣

2026-02-08 14:09
上下文管理ObsidianOpenClawYAML知识库LLM

TL;DR

  • 本文将“上下文管理”定义为:为LLM/Agent组织prompt、长期记忆与检索材料,以控制token、减少遗忘并保证可追溯(不是Python/编程里的context manager,也不是纯GTD术语)。
  • 在常见的“Agent把资料写入Obsidian vault并可检索/复用”的用法下,OpenClaw+Obsidian更像“长期知识落盘+可编辑的真源”;你现有YAML上下文包更像“当次任务的最小上下文快照”,天然省token且结构化。
  • 真正的提升点不在“存MD还是YAML”,而在“是否有单一真源(vault)+ 自动生成最小上下文包”;同时需先核验OpenClaw的存储位置/权限/是否上云,否则“永久记忆”可能只是索引或云端同步(你给的小红书内容无法在线核验)。

Key Insights

  • 把“编辑格式”和“投喂格式”解耦最关键:存储侧可以是Obsidian(MD+YAML frontmatter),投喂侧永远用你熟悉的YAML/JSON摘要+指针(路径/标题/段落锚点),这样既可维护又省token。
  • Obsidian的强项是“人类可维护的检索与演进”:双向链接、标签、全文搜索、版本管理(Git)让知识库可持续;纯YAML更强在“可控、可复制、可预算”的一次性上下文。
  • 对笔记/代码这类“精确找回”场景,很多实践会从“纯向量RAG”转向词法检索/结构化索引(FTS/BM25)+轻量摘要/重排:工程复杂度更低、可解释性更强、成本更可控。

Playbook

  • 定义统一schema:沿用你现有YAML字段(如goal、constraints、decisions、glossary、open_questions、refs),写成Obsidian模板;结构化字段放YAML frontmatter,正文只放必要原文/摘录。
  • 建“AI上下文编译器”:用Python/Node从vault按标签/链接/时间选取笔记,输出一个context.yaml(只含摘要+引用指针);加token预算(超限就再摘要或只保留refs)。
  • 接入OpenClaw时走“最小权限与可审计”:仅允许写入指定目录(如vault/00_Inbox或vault/10_Projects/<project>),所有写入必须可回滚(Git提交或生成diff给你确认)。
  • 做A/B评测:选3个任务(写报告/写代码/做决策),分别用“纯YAML快照”和“Obsidian真源+编译包”,记录总token、资料命中率、人工整理时间与返工次数。

Diagrams

Decision Map ↑ Control / Consistency Speed / Convenience → 1 互补方案(推荐):Obsidi… 2 极致省token:继续“纯YA… 3 Obsidian强化版:深度用… 4 另一种定义分支:如果你说的“上…
Options · 速度 vs 可控性 的决策图(基于 Options 文本自动定位)
Execution Steps 1 定义统一schema 2 建“AI上下文编译… 3 接入OpenCla… 4 做A/B评测
Playbook · 执行步骤时间线(基于 Playbook 文本自动提取)

Options

  • 互补方案(推荐):Obsidian做长期知识库真源;每次由脚本/工具生成极简context.yaml给LLM。你保留YAML省token优势,同时获得Obsidian的检索、链接与版本追溯。
  • 极致省token:继续“纯YAML/JSON文件夹 + 全文搜索(ripgrep/SQLite FTS5)”路线,不引入Obsidian;适合你更关注一次性上下文快照、而非知识网络演进。
  • Obsidian强化版:深度用模板/Dataview/双链把检索与复盘留在人类侧;LLM只吃少量编译后的摘录(而不是整库RAG),避免上下文膨胀与不可控召回。
  • 另一种定义分支:如果你说的“上下文管理”其实是个人GTD/任务切换(非LLM上下文),重点应转向“项目/领域/每日回顾、情境标签、时间盒”;OpenClaw最多当记录助手,不应成为系统核心。

Expert Views

  • 开源知识管理工程师(paraphrase):更看重“文件即数据库”的可迁移性;建议把结构化信息保留在frontmatter里,Obsidian只是阅读/编辑器,未来可平滑迁移到Logseq/纯Git仓库/静态站点。
  • LLM应用工程师(paraphrase):认为稳定性来自“可复现的上下文构建流水线”;MD/YAML只是载体,关键是固定schema、自动编译、引用指针与评测集,否则省token也会换来更高的幻觉与遗漏成本。
  • 数据隐私/合规律师(paraphrase):任何“永久记忆”都要回答数据流:存哪里、传不传、保留多久、能否删除、谁能访问;若涉及隐私/工作资料,应优先local-first、自托管与审计日志。
  • 产品经理/效率教练(paraphrase):工具的价值在减少摩擦;若OpenClaw带来安装/权限/同步/失败排查负担,短期不如继续用你熟练的YAML快照,先把“编译器+评测”跑通再逐步自动化。

Evidence & Confidence

  • “Obsidian vault本质是本地Markdown文件,易于备份/Git/迁移”:high(官方定位与文件结构清晰,可离线验证)。
  • “MD一定比YAML费token很多”并不必然:medium(token主要由内容长度决定;markup可在编译阶段剥离,YAML键名也占token;真实差异需用你的样例测量)。
  • “OpenClaw/Clawdbot永久记忆到底存哪、是否云端同步、是否可导出/清空”:low(当前仅有二手描述与截图线索,且小红书短链无法在线核验;需查官方文档/配置/日志/网络请求)。
  • “词法检索/结构化索引+摘要在笔记/代码查找上更稳、更可解释”:medium(工程界常见经验,但具体效果取决于数据形态与评测集,应以A/B为准)。

Next Steps

  • 把你现有YAML上下文包模板(字段+长度规则)和一份完整样例发出来,我可以帮你把schema改成“可编译、可扩展、可做token预算”的版本(含必填/可选)。
  • 建一个PoC vault:只做3类笔记(Project/Reference/Decision),每类用同一套frontmatter字段,跑通一次“捕获→整理→检索→编译→投喂”的闭环。
  • 先实现“无向量”的最小编译器:输入项目名/标签,输出context.yaml+refs(路径/标题/段落锚点);确认稳定后再考虑向量库或混合检索。
  • 对OpenClaw做一次“存储与权限体检”:找落盘目录/索引文件(如sqlite/json/vectorstore)、检查是否有上传请求、是否支持一键清空与导出;通过后再让它自动写入vault。

Details (Optional)

Details

TL;DR

  • 本文将“上下文管理”定义为:为LLM/Agent组织prompt、长期记忆与检索材料,以控制token、减少遗忘并保证可追溯(不是Python/编程里的context manager,也不是纯GTD术语)。
  • 在常见的“Agent把资料写入Obsidian vault并可检索/复用”的用法下,OpenClaw+Obsidian更像“长期知识落盘+可编辑的真源”;你现有YAML上下文包更像“当次任务的最小上下文快照”,天然省token且结构化。
  • 真正的提升点不在“存MD还是YAML”,而在“是否有单一真源(vault)+ 自动生成最小上下文包”;同时需先核验OpenClaw的存储位置/权限/是否上云,否则“永久记忆”可能只是索引或云端同步(你给的小红书内容无法在线核验)。

Key Insights

  • 把“编辑格式”和“投喂格式”解耦最关键:存储侧可以是Obsidian(MD+YAML frontmatter),投喂侧永远用你熟悉的YAML/JSON摘要+指针(路径/标题/段落锚点),这样既可维护又省token。
  • Obsidian的强项是“人类可维护的检索与演进”:双向链接、标签、全文搜索、版本管理(Git)让知识库可持续;纯YAML更强在“可控、可复制、可预算”的一次性上下文。
  • 对笔记/代码这类“精确找回”场景,很多实践会从“纯向量RAG”转向词法检索/结构化索引(FTS/BM25)+轻量摘要/重排:工程复杂度更低、可解释性更强、成本更可控。

Playbook

  • 定义统一schema:沿用你现有YAML字段(如goal、constraints、decisions、glossary、open_questions、refs),写成Obsidian模板;结构化字段放YAML frontmatter,正文只放必要原文/摘录。
  • 建“AI上下文编译器”:用Python/Node从vault按标签/链接/时间选取笔记,输出一个context.yaml(只含摘要+引用指针);加token预算(超限就再摘要或只保留refs)。
  • 接入OpenClaw时走“最小权限与可审计”:仅允许写入指定目录(如vault/00_Inbox或vault/10_Projects/<project>),所有写入必须可回滚(Git提交或生成diff给你确认)。
  • 做A/B评测:选3个任务(写报告/写代码/做决策),分别用“纯YAML快照”和“Obsidian真源+编译包”,记录总token、资料命中率、人工整理时间与返工次数。

Expert Views

  • 开源知识管理工程师(paraphrase):更看重“文件即数据库”的可迁移性;建议把结构化信息保留在frontmatter里,Obsidian只是阅读/编辑器,未来可平滑迁移到Logseq/纯Git仓库/静态站点。
  • LLM应用工程师(paraphrase):认为稳定性来自“可复现的上下文构建流水线”;MD/YAML只是载体,关键是固定schema、自动编译、引用指针与评测集,否则省token也会换来更高的幻觉与遗漏成本。
  • 数据隐私/合规律师(paraphrase):任何“永久记忆”都要回答数据流:存哪里、传不传、保留多久、能否删除、谁能访问;若涉及隐私/工作资料,应优先local-first、自托管与审计日志。
  • 产品经理/效率教练(paraphrase):工具的价值在减少摩擦;若OpenClaw带来安装/权限/同步/失败排查负担,短期不如继续用你熟练的YAML快照,先把“编译器+评测”跑通再逐步自动化。

Options

  • 互补方案(推荐):Obsidian做长期知识库真源;每次由脚本/工具生成极简context.yaml给LLM。你保留YAML省token优势,同时获得Obsidian的检索、链接与版本追溯。
  • 极致省token:继续“纯YAML/JSON文件夹 + 全文搜索(ripgrep/SQLite FTS5)”路线,不引入Obsidian;适合你更关注一次性上下文快照、而非知识网络演进。
  • Obsidian强化版:深度用模板/Dataview/双链把检索与复盘留在人类侧;LLM只吃少量编译后的摘录(而不是整库RAG),避免上下文膨胀与不可控召回。
  • 另一种定义分支:如果你说的“上下文管理”其实是个人GTD/任务切换(非LLM上下文),重点应转向“项目/领域/每日回顾、情境标签、时间盒”;OpenClaw最多当记录助手,不应成为系统核心。

Evidence & Confidence

  • “Obsidian vault本质是本地Markdown文件,易于备份/Git/迁移”:high(官方定位与文件结构清晰,可离线验证)。
  • “MD一定比YAML费token很多”并不必然:medium(token主要由内容长度决定;markup可在编译阶段剥离,YAML键名也占token;真实差异需用你的样例测量)。
  • “OpenClaw/Clawdbot永久记忆到底存哪、是否云端同步、是否可导出/清空”:low(当前仅有二手描述与截图线索,且小红书短链无法在线核验;需查官方文档/配置/日志/网络请求)。
  • “词法检索/结构化索引+摘要在笔记/代码查找上更稳、更可解释”:medium(工程界常见经验,但具体效果取决于数据形态与评测集,应以A/B为准)。

Next Steps

  • 把你现有YAML上下文包模板(字段+长度规则)和一份完整样例发出来,我可以帮你把schema改成“可编译、可扩展、可做token预算”的版本(含必填/可选)。
  • 建一个PoC vault:只做3类笔记(Project/Reference/Decision),每类用同一套frontmatter字段,跑通一次“捕获→整理→检索→编译→投喂”的闭环。
  • 先实现“无向量”的最小编译器:输入项目名/标签,输出context.yaml+refs(路径/标题/段落锚点);确认稳定后再考虑向量库或混合检索。
  • 对OpenClaw做一次“存储与权限体检”:找落盘目录/索引文件(如sqlite/json/vectorstore)、检查是否有上传请求、是否支持一键清空与导出;通过后再让它自动写入vault。

Sources

Sources

Closing Summary

  • 结论:对比OpenClaw+Obsidian与YAML上下文包优劣
  • 下一步:先完成OpenClaw存储与权限核验,再做Obsidian编译包PoC

One next action

先完成OpenClaw存储与权限核验,再做Obsidian编译包PoC