Ars Contexta的15个内核原语是什么?构建第二大脑的完整技术清单
【免费下载链接】arscontextaClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.项目地址: https://gitcode.com/gh_mirrors/ar/arscontexta
Ars Contexta 是一个 Claude Code 插件,你只需描述自己的思考和工作方式,它就能通过一次约 20 分钟的对话,推导生成一套完全属于你自己的第二大脑——全部由你持有的 Markdown 文件组成,无数据库、无云服务、无锁定。这套系统之所以可靠,背后靠的是一份"不变量清单":15 个内核原语(kernel primitives)。无论你的领域是学术研究、生活管理还是创意写作,生成出来的系统都必然包含它们。本文用一份完整技术清单,带你逐一读懂这 15 个原语——它们既是构建第二大脑的技术骨架,也是检验任何 AI 知识系统是否合格的验收标准。
为什么第二大脑需要一份"内核清单"
Ars Contexta 的核心卖点不是模板,而是推导:引擎基于 249 条研究论断为你的领域做设计决策。但推导不等于随心所欲——变化的是上层配置,不变的是底座。
这份底座就是内核(kernel),定义在 reference/kernel.yaml 中,每个原语都标注了:
| 属性 | 含义 |
|---|---|
| layer | 所在层级:foundation(基础)/ convention(约定)/ automation(自动化) |
| enforcement | 强制等级:invariant(不可关闭)或 configurable(可用/arscontexta:architect切换) |
| validation | 可机器检查的验收条件,例如"超过 95% 的笔记文件必须有 YAML frontmatter" |
| cognitive_grounding | 每条原语都有认知科学依据,不是凭空设计 |
💡 一个关键事实:15 个原语只需要文件系统就能实现。不依赖 hooks、不依赖 skills、不依赖 MCP 服务——任何能读写文本文件的 AI 平台都能跑。这就是"本地优先"带来的可迁移性:换平台、换工具,内核原封不动。
另外值得一提的是历史脉络:内核最初提炼为 10 条原语(见 methodology/ten universal primitives form the kernel of every viable agent knowledge system.md),随着系统在实际运行中暴露出更多结构性需求,逐步扩展为现在的 15 条。每一条新增都不是拍脑袋,而是从操作经验中沉淀出来的。
第一组:存储与结构 —— 第二大脑的地基
1. Markdown 文件 + YAML frontmatter
笔记就是带结构化元数据的纯文本文件,文件即完整制品。
description、topics、type等字段写在文件头的---分隔块里,让每个文件既人类可读、又可用正则查询。纯文本是整个系统可移植性的来源:任何编辑器能打开,任何 Agent 能解析,平台迁移零成本。
2. Wiki 链接即图边
[[note title]]创建可导航的关系,文件名全局唯一,按名称解析。
每条链接都是知识图谱上一条显式的、被精心策划的边。未链接文件堆在一起只是档案柜,互相链接的文件才构成思维结构。阅读一篇笔记会通过这些边"激活"相关笔记,实现多跳推理,无需任何嵌入基础设施。
3. 文件系统图数据库
Vault 本身就是一台图数据库:Markdown 是节点,Wiki 链接是边,YAML 是属性存储,ripgrep 是查询引擎。
提供三级查询能力:字段级(对 YAML 直接rg)、节点级(反向链接、链接提取)、图级(遍历 + 分析的脚本,生成在ops/scripts/graph/目录)。结构来自内核不变量本身,不需要额外部署任何基础设施。
第二组:导航与发现 —— 让笔记"找得到"
4. MOC 层级管理注意力
Maps of Content 把笔记组织成 Hub → domain → topic → notes 的可导航主题区。
MOC 不只是分类工具,而是注意力管理装置:读一个 MOC 文件,立刻知道该主题包含什么、存在什么张力、还缺什么,大幅降低上下文切换的重定向成本。
5. 会话开始时注入目录树
Agent 一开场就看到完整文件结构,先定向、再行动。
在 Claude Code 上由SessionStarthook 自动注入(模板见 platforms/claude-code/hooks/session-orient.sh.template),没有 hook 的平台则由上下文文件指示 Agent 先执行ls。用一小部分上下文预算换取完整结构感知,避免把 token 浪费在"翻找"上。
6. description 字段实现渐进披露
每篇笔记都有一句约 150 字符的描述,给出标题之外的信息量。
标题是第 1 层,描述是第 2 层,正文是第 3 层——Agent 可以只看描述就决定"这篇读不读"。50 篇笔记时全读都行,500 篇时描述就是过滤器。
7. Topics 页脚把笔记挂回 MOC
每篇笔记通过
topics字段声明自己属于哪些 MOC。
MOC 向下链笔记,笔记向上链 MOC,双向连接保证两个方向都不会各自过期。它还是一个可查询的关系:一条rg '^topics:.*\[\[主题\]\]'就能列出某主题下所有笔记。
8. 语义搜索能力
跨词汇的意义发现,补充结构化导航。(configurable)
一篇讲"学习系统中的摩擦力"的笔记,应该能连上一篇讲"错误即有效反馈"的笔记——哪怕两者零关键词重合。实现可以是嵌入工具(如 qmd)、LLM 辅助相似度搜索,或基于主题相邻性的定期人工复盘。
9. 发现优先(Discovery-First)质量门
一切创建的内容都必须为"未来的 Agent 能找到它"而优化。找不到的笔记等于不存在的笔记。
它把检查嵌入到流程里:上下文文件含 Discovery-First Design 章节、每个建笔记的 skill 写入前做发现性检查、hook 在写入时校验发现标准。系统价值随"可发现性"复利增长,每条找不到的笔记都是负资产。
第三组:质量与治理 —— 防止系统腐化
10. Schema 强制校验
模板定义必填字段与合法枚举值,校验机制逐篇比对。
这是对抗"漂移"的硬手段:写第 47 篇笔记时,Agent 大概率会忘记某个必填字段——指令遵循会随上下文填满而退化,但确定性校验不会。强制等级分三档:hook 级(每次写入即校验)、批处理脚本级、上下文文件人工检查级。
11. 任务栈(Task Stack)
生命周期主干:每篇笔记都流经任务状态。
ops/tasks.md是人类可读视图,ops/queue/存放统一队列——既包含管线任务(提取、充实),也包含由条件评估自动生成、满足后自动关闭的维护任务。没有任务追踪,Agent 就无法回答"现在该干什么"和"还有什么待处理"。
12. 方法论文件夹
ops/methodology/是 Vault 的自我认知:记录这个库为什么这样配置、使用什么处理管线、如何演化而来。
没有自知识,元技能就是盲飞——/ask解释不了配置选择,/architect推理不了变更影响,/remember没有地方沉淀修正。
第四组:记忆与自演化 —— 让系统跨会话"活着"
13. Self Space:Agent 的持久记忆
专门目录存放身份、方法论、目标,会话开始时读、结束时更新。(configurable)
必需的三个文件:identity.md(我是谁)、methodology.md(我怎么工作)、goals.md(当前线索)。每次新会话都是"白纸开局",Self Space 就是上一次会话留给它的简报。对 Agent 而言,Vault 即身份——丢失 Self Space 不只是不方便,而是"身份擦除"。
14. 会话节奏:定向 → 工作 → 沉淀
每个会话都走三拍:Orient(读状态)→ Work(执行并捕获)→ Persist(更新并推送)。
定向防止冷启动和重复劳动,沉淀防止成果随会话消失。明确的会话边界既防"注意力残留",也让每次知识工作都能叠在上一次之上,而不是散落成一堆不相关的片段。
15. 会话捕获
每段会话记录自动保存,摩擦检测自动运行。
Stophook 把会话记录存入ops/sessions/并自动创建挖掘任务(hook 模板见 platforms/claude-code/hooks/session-capture.sh.template)。记录里藏着每一次纠偏和改道——挖掘它们,能捕获到显式记忆命令遗漏掉的教训。
一图看懂:15 个内核原语完整清单
| # | 原语 | 一句话 | 层级 | 强制等级 |
|---|---|---|---|---|
| 1 | Markdown + YAML frontmatter | 纯文本文件 + 结构化元数据 | foundation | invariant |
| 2 | Wiki 链接即图边 | [[标题]]构成知识图 | foundation | invariant |
| 3 | MOC 层级 | Hub→domain→topic→notes 注意力导航 | convention | invariant |
| 4 | 目录树注入 | 会话开始先定向 | convention | invariant |
| 5 | description 字段 | 渐进披露的过滤器 | convention | invariant |
| 6 | Topics 页脚 | 笔记与 MOC 双向连接 | convention | invariant |
| 7 | Schema 强制校验 | 模板即唯一事实源 | convention | invariant |
| 8 | Self Space | Agent 持久记忆目录 | convention | configurable |
| 9 | 会话节奏 | 定向→工作→沉淀三拍 | convention | invariant |
| 10 | 语义搜索 | 跨词汇的意义发现 | automation | configurable |
| 11 | 文件系统图数据库 | 文件即节点、链接即边、rg 即查询 | foundation | invariant |
| 12 | 发现优先质量门 | 找不到的笔记等于不存在 | convention | invariant |
| 13 | 操作学习闭环 | 观察+张力记录,定期自演化 | convention | invariant |
| 14 | 任务栈 | 笔记全生命周期追踪 | convention | invariant |
| 15 | 方法论文件夹 | Vault 的自我认知 | convention | invariant |
| 16 | 会话捕获 | 自动保存记录并挖掘摩擦 | automation | invariant |
(表中序号 13 对应的原语 id 为operational-learning-loop:会话中出现摩擦信号或矛盾即记录为原子笔记,待处理观察超过 10 条或张力超过 5 条时,会话开始时自动提示运行/{DOMAIN:rethink}复审——把科学方法用在知识系统自身上。)
⚠️ 注意:上表为 16 行是因为清单按"功能重要性"重新排序了;内核中固定的 15 条原语 id 以 reference/kernel.yaml 为准,其中 configurable 的两条是Self Space和语义搜索,其余 13 条均为 invariant。
一键验收:用脚本验证你的系统是否合格
清单的价值在于可检查。项目自带验证脚本 reference/validate-kernel.sh,对任意 Vault 逐项跑 15 项检查,输出PASS / WARN / FAIL三色报告。它的检查逻辑很有代表性:
- YAML 检查:统计所有
.md文件首行是否为---,缺失超 20% 记 FAIL - 链接检查:抽样最多 100 条唯一 wiki 链接,比对现有文件名,报告悬空链接(成熟的库里悬空链接可能是"计划中的笔记",只告警不算失败)
- 学习闭环检查:同时要求观察目录、张力目录、复审触发、rethink 机制四项齐备,缺项时精确列出缺什么
/arscontexta:setup的最后一个 Phase(Validation)就是跑这套全量内核检查,所以"15 项全过"是新系统出厂的默认状态。
内核不可变:为什么你不能删掉任何一条
这是内核最有意思的设计决策,记录在 reference/evolution-lifecycle.md 的演化护栏章节:
- 演化只加不减:系统可以在内核之上加字段、建新 MOC 类型、造新 skill,但 15 条原语永远在
/reseed会复核完整性:重新推导时先验证 15 条原语是否完好,防止漂移- 违反即不自洽:一个放弃 topics 页脚或放弃会话开始加载 self/ 的系统,不是"进化得更简单",而是退化成了自相矛盾
换个角度理解:内核就是退出速度(exit velocity)的保证。当平台变更、自动化层全部失效时,你带走的正是这 15 条——知识内容、导航结构、可查询性完好无损。
下一步:上手你的第二大脑
- 安装插件后运行
/arscontexta:setup,回答 2-4 个领域问题(约 20 分钟),引擎会推导并校验全部 15 条原语 - 用
/arscontexta:health随时对现有 Vault 做诊断 - 想调整配置时走
/arscontexta:architect,它只允许你动 configurable 的两条,内核部分受保护 - 深入阅读:reference/three-spaces.md 讲解 self/notes/ops 三空间架构,reference/use-case-presets.md 收录三套预验证配置
第二大脑不是买来的,是推导出来的。而 15 个内核原语,就是这次推导里从不被改变的常数。
【免费下载链接】arscontextaClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.项目地址: https://gitcode.com/gh_mirrors/ar/arscontexta
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考