Atomic Knowledge 是一个平台中立、基于 Markdown 的 agent 维护型 work memory 协议。
它是 chat-native 的:正常入口仍然是你和 agent 的普通自然语言对话,背后依托的是 Markdown 知识库,而不是一个额外的命令面板。
它受 Andrej Karpathy 的 LLM Wiki 启发:不是每次提问都从原始资料重新检索和综合,而是让 agent 持续维护一套可复用、可链接、可演进的 Markdown wiki。
它不是替代你现有的 agent,而是给你现有的 agent 增加一层可维护、能跨 session 延续的 Markdown work memory。
Atomic Knowledge 面向已经在日常使用 agent 的人,尤其是这些场景:
真正重要的不只是 source 本身,而是 source 和讨论共同形成的 insight。
它的目标不是记住所有聊天,也不是存用户画像;它的目标是保留可复用的 work memory,例如稳定结论、比较结果、项目上下文和决策理由,让未来 session 可以继续往前推进。
Atomic Knowledge 不是:
它更像一个基于文件系统的协议和工作流,用来让用户与 agent 共同维护长期 work memory。
相比 mem0,它关注的是 work memory,而不是偏好、语气或 persona memory。
相比普通 RAG,它维护的是一层持续整理过的知识层,而不是只在回答时临时取回原始 chunk。
如果你符合下面这些情况,Atomic Knowledge 会比较适合你:
如果你更想要下面这些东西,它可能就不太适合:
这个仓库本身就是可安装、平台中立的产品分发面。
仓库根目录就是面向 GitHub 分发和跨 agent 接入的 kit。
Atomic Knowledge 当前处于较早期的开源发布阶段。
当前仓库基线对应 v0.2.0。
现在已经具备:
example-kb/ 作为真实示例evals/ 可用于接入验收init_kb、check_kb、get_context、validate_kbAtomic Knowledge 仍然保持平台中立、chat-native、markdown-first。普通用户的主入口仍然是和 agent 的普通对话,而不是 CLI 或 MCP 工作流。
这个仓库现在还包含:
它们是给 agent 使用的执行层,不是主要产品入口。普通用户不需要学习 CLI、MCP 或 runtime 细节,也能正常使用 Atomic Knowledge。
当前方向和边界说明见:
Atomic Knowledge 运行在普通 agent 对话里,但自主边界保持保守:
“总结/分析一个链接”不等于自动 ingest。
用户不应该需要记住 candidate、insight 这类协议词;系统应优先按当前对话语言理解用户表达,如果当前对话语言不明显,再回退到系统语言或稳定的语言偏好信号。
大多数用户应该先在聊天里开始,让 agent 帮你完成 bootstrap。正常入口仍然是普通对话,而不是 CLI、runtime 或 MCP 工作流。
对大多数用户来说,最简单的起步方式是 BOOTSTRAP_PROMPT.md。
把里面的提示词粘贴给一个支持本地文件读写和 shell 执行的 agent,让 agent 帮你完成初始化。
初始化完成后,继续留在同一个聊天里,用自然语言和 agent 协作即可。你不需要自己学习 CLI 命令、MCP 或 runtime 细节。
如果你确实想在支持本地能力的环境里直接调用仓库 helper,标准初始化器是:
bash scripts/init-kb.sh "$HOME/Desktop/My-Knowledge"
如果你更喜欢短一点的入口,也可以继续使用 init.sh 这个便捷别名。
它会创建一个新的知识库,并生成:
$HOME/Desktop/My-Knowledge/AGENT.md
然后二选一:
这个命令只是仓库 helper,不是普通用户的主要入口。Atomic Knowledge 仍然是接入你现有 agent 工作流的,不会再引入一个新的 app、dashboard 或 command surface。
更多用法见 Agent-Native Usage。
meta/candidates/ 如何经历 open -> promoted | merged | dropped传统 RAG 往往是:
Atomic Knowledge 在原始资料和最终答案之间加入一层“被维护的 wiki”:
这样得到的是持续积累,而不是重复重发现。
atomic-knowledge/
├── AGENT.md # 可移植的 agent 协议
├── adapters/ # 可选的 agent 集成适配层
├── BOOTSTRAP_PROMPT.md # 面向本地能力 agent 的一句安装 prompt
├── README.md # 仓库总览
├── README.zh-CN.md # 中文总览
├── docs/ # 说明文档与 protocol note
├── evals/ # agent 接入验收场景
├── example-kb/ # 可直接阅读的小型示例知识库
├── schemas/ # 各类知识页面 schema
├── scripts/ # 初始化与健康检查脚本
├── knowledge-base-template/ # 初始化时复制出去的模板
├── init.sh # 标准初始化器的可选便捷别名
├── runtime/ # 可选的内部 runtime,用于有界 KB 动作
├── CONTRIBUTING.md # 贡献说明
├── AGENTS.md # 仓库维护说明
└── LICENSE
Atomic Knowledge 使用一个基于 Markdown 的知识库,核心对象包括:
raw/sources/:原始资料捕获wiki/active.md:当前活跃项目、比较和 open questionswiki/recent.md:最近新增、更新、修正、替代的知识wiki/index.md:主题目录wiki/log.md:ingest、query、writeback、lint 的时间线记录wiki/concepts/:稳定概念、方法、框架、定义wiki/entities/:人、工具、公司、项目、命名系统wiki/projects/:跨 session 的长期研究线程wiki/insights/:durable takeaway、比较、决策和综合结论meta/candidates/:仍然是 provisional、但值得保留的 work-memory notemeta/lint-status.json:健康度和新鲜度元数据其中:
active.md 和 recent.md 是主要入口页projects 和 insights 是正式的 durable work-memory 层meta/candidates/ 是补充性缓冲区,不是一等真相源当用户明确要求把 source 保存为未来可复用的知识时,agent 会:
raw/sources/ 中保存 source captureactive.md、recent.md、index.md、log.md 和元数据当用户提出 topic-level 问题时,agent 会:
wiki/active.mdwiki/recent.mdwiki/index.md 定位相关主题wiki/projects/ 和 wiki/insights/wiki/concepts/ 和 wiki/entities/meta/candidates/只写回 durable knowledge,例如:
Maintenance 和 ingest、query 一样,是核心工作流的一部分。
它通过以下方式保持知识库长期可用:
meta/candidates/ 当成 review queue,而不是永久 backlogopen -> promoted | merged | dropped 解决 candidate更多细节见 Lint Workflow 和 Candidate Lifecycle。
根目录 kit 的设计目标就是跨不同 agent 平台工作。
接入模型很简单:
AGENT.md因为 Markdown:
Atomic Knowledge 当前这条路径,直接受益于 Andrej Karpathy 的 LLM Wiki 想法。感谢他提供了最初的 framing 和启发。
MIT
$ claude mcp add atomic-knowledge \
-- python -m otcore.mcp_server <graph>