其实纯个人使用的话 memory 系统不需要很复杂。非常认同这篇文章的大道至简:https://x.com/koylanai/status/2025286163641118915
每次跟 AI 开新对话都要重新介绍自己、粘贴风格指南、解释目标,作者烦了,于是造了个"Personal Brain OS"。
系统本质是一个 Git 仓库,80+ 个 Markdown/YAML/JSONL 文件,不用数据库也不用 API Key。在任何地方只要把仓库拉下来,直接用 Cursor 或 Claude Code 打开就能跑。
架构上分成 11 个隔离模块,用三级渐进加载:第一级是路由文件,决定该加载哪个模块;第二级是模块指令;第三级才是具体数据。这样做是为了避免无关内容占用上下文窗口,模型注意力是有限的,塞太多反而变差。
文件格式也是刻意设计的。JSONL 存日志,因为它只能追加不能覆写,防止 agent 一不小心把历史数据全干掉(他真的因为这个丢过三个月数据);YAML 存配置;Markdown 写内容。
Skill 系统分两种:一种是参考性的(比如写作风格、禁用词),自动加载,不用手动触发;另一种是任务型的(比如 /write-blog),必须手动敲命令,一条命令会自动把声音指南、禁用词、模板全部组装好。
踩过的坑:Schema 字段别超过 10 个,字段太多 agent 会乱填;像个人风格指南这种最重要的规则一定要放在最开头,放中间会被模型忘掉;模块边界划错了会多加载没用的 token,他把 identity 和 brand 拆开之后节省了 40%。
最后结论就是,关键不在于怎么写提示词,而在于怎么设计信息架构,让模型打开对话就知道你是谁、怎么写作、在做什么。
每次跟 AI 开新对话都要重新介绍自己、粘贴风格指南、解释目标,作者烦了,于是造了个"Personal Brain OS"。
系统本质是一个 Git 仓库,80+ 个 Markdown/YAML/JSONL 文件,不用数据库也不用 API Key。在任何地方只要把仓库拉下来,直接用 Cursor 或 Claude Code 打开就能跑。
架构上分成 11 个隔离模块,用三级渐进加载:第一级是路由文件,决定该加载哪个模块;第二级是模块指令;第三级才是具体数据。这样做是为了避免无关内容占用上下文窗口,模型注意力是有限的,塞太多反而变差。
文件格式也是刻意设计的。JSONL 存日志,因为它只能追加不能覆写,防止 agent 一不小心把历史数据全干掉(他真的因为这个丢过三个月数据);YAML 存配置;Markdown 写内容。
Skill 系统分两种:一种是参考性的(比如写作风格、禁用词),自动加载,不用手动触发;另一种是任务型的(比如 /write-blog),必须手动敲命令,一条命令会自动把声音指南、禁用词、模板全部组装好。
踩过的坑:Schema 字段别超过 10 个,字段太多 agent 会乱填;像个人风格指南这种最重要的规则一定要放在最开头,放中间会被模型忘掉;模块边界划错了会多加载没用的 token,他把 identity 和 brand 拆开之后节省了 40%。
最后结论就是,关键不在于怎么写提示词,而在于怎么设计信息架构,让模型打开对话就知道你是谁、怎么写作、在做什么。
X (formerly Twitter)
Muratcan Koylan (@koylanai) on X
The File System Is the New Database: How I Built a Personal OS for AI Agents
❤1
https://github.com/dnc1994/jarvis
我最近也做了相关的实践,目前 scope 比上面这位要小得多,只负责管理三类 todo:ad hoc、recurring、project based。一个需求是它会基于 obsidian,因为我本来就是重度用户。
配合 *claw,现在不管走到哪,在 telegram 里就可以按照符合自己设想的信息架构的方式去管理 todo
我甚至感觉开源也没什么意义,agents 的厉害之处就在于每个人都可以高度定制自己用的方案。
我最近也做了相关的实践,目前 scope 比上面这位要小得多,只负责管理三类 todo:ad hoc、recurring、project based。一个需求是它会基于 obsidian,因为我本来就是重度用户。
配合 *claw,现在不管走到哪,在 telegram 里就可以按照符合自己设想的信息架构的方式去管理 todo
我甚至感觉开源也没什么意义,agents 的厉害之处就在于每个人都可以高度定制自己用的方案。
GitHub
GitHub - dnc1994/jarvis
Contribute to dnc1994/jarvis development by creating an account on GitHub.