Karpathy的LLM Wiki缺少什么(以及如何修复)

安德烈·卡帕西的LLM维基模式本月迅速走红。5000+星,3700个分叉,数十种实现。核心见解是正确的:停止对每个查询都重新推导知识。把它编成一个结构化的维基。让大型语言模型来做账务,让人类放弃知识库。

如果你还没看过,这个模式是:原始源代码放到目录,LLM处理成相互关联的标记页面,Obsidian作为查看者。三层操作(导入、查询、lint),LLM维护一切。

这是一个很好的起点。但如果你尝试过用这个模式超过几百个音符,那你很可能已经碰到了瓶颈。有三个结构性漏洞在大规模上会崩溃,这些问题不是用更好的提示词或更高级的索引文件就能解决的。

这里有缺失的部分以及如何解决。

漏洞一:你的链接毫无意义

在卡帕提风格的维基上打开Obsidian的图表视图。你看到了什么?一张一模一样的灰色线条网络。每个连接看起来都一样,因为每个连接恰好携带一个信息:“这两个音符是相连的。”[[wikilink]]

黑曜石图视图

这还不够。

当Karpathy谈论LLM“指出新数据与旧主张相矛盾之处”和“标记矛盾”时,他指的是语义关系。但底层链接格式无法表达这些。 它不会告诉你音符A是支持、矛盾、取代还是由当前音符引起的。意义存在于链接周围的文字中,对黑曜石生态系统中的每一个工具来说都是隐形的。[[Note A]]

这很重要,因为汇编维基的全部意义在于结构确实适合你。如果你的图无法区分“这个取代那个”和“这个矛盾那个”,那么你就把一些最有价值的信息困在了非结构化文本中,而这正是你想解决的问题。

解决办法:在维基链接内输入关联

obsidian-wikilink-types 为标准 Obsidian wikilinks 添加语义关系类型,语法如下:@

[[Previous Analysis|The new research @supersedes the previous analysis]]
[[Redis Paper|This @supports the caching architecture in @references the Redis paper]]

在维基链接别名内输入,你会看到一个自动补全的下拉菜单,包含24种关系类型:、等等。@supersedescontradictscausessupportsevolution_ofprerequisite_for

黑曜石-维基链接类型

保存时,插件会自动将匹配的类型同步到 YAML 前置:

---
supersedes:
  - "[[Previous Analysis]]"
supports:
  - "[[Redis Paper]]"
references:
  - "[[Redis Paper]]"
---

就这样。标准的YAML前置提示。Dataview 可以查询它。什么都没坏。

语法是刻意选择的:它不与现有的 Obsidian 语法冲突(是块引用,是 Dataview 内联字段),而且只有在前方有空格或紧跟管道后方时才触发自动补全。 在你的显示器上,文字保持原样。只有配置好的关系类型才会生成前置文件。 只是显示文本。@^::|john@example.com@monkeyballs

通过 BRAT 安装。penfieldlabs/obsidian-wikilink-types

这会带来什么变化

通过打字链接,你的保险库从一堆相同的连接纠结变成一个可查询的知识图谱。你可以写类似“显示所有与我当前假设相矛盾的部分”这样的 Dataview 查询。你可以追溯因果链。你可以一眼看到哪些笔记被取代,哪些是当前的。

这正是卡帕西模式需要但缺乏的:带有意义的联系。

差距二:你不应该自己给每段关系都写类型

带有打字链接的维基比没有链接的维基更有用。但手动打字和每个音符都很繁琐,你会错过一些不明显的连接。@supersedes@contradicts

LLM Wiki的整个前提是LLM负责账务。所以让它也去发现关系。

解决办法:AI发现的类型关系

Vault Linker技能和插件同一个仓库。这是一个针对AI代理(Claude Code、OpenClaw或任何能读写文件的工具)的技能规范,分析你的保险库并发现笔记之间的关系。

工作流程:

  1. 用加载Vault Linker技能,把你的AI代理指向你的避难所
  2. 经纪人会阅读你的笔记并指出关联:“这条笔记优先于那条。这条笔记与这一说法相矛盾。这都是因为那个决定造成的。”
  3. 代理以维基链接类型格式写入关系:添加 、 等,并同步前置信息@supersedes@contradicts
  4. 你审核并批准

人类会留在审判的环节中。AI负责阅读数百条笔记,发现你手动找不到的联系。

LLM Wiki的模式说LLM应该负责所有“总结、交叉比对、归档和簿记”。打字链接为大型语言模型提供了交叉引用的词汇表。Vault Linker技能给了它实际操作的工作流程。

自主模式:一夜之间连接整个保险库

上述技能是互动的:代理发现,你批准。但如果你有500个笔记,想一次性把整个链接起来呢?

仓库包含两个设计为流水线的提示:

自主保险库连接是构建阶段。你把它交给你的经纪人,然后走开。代理创建 git 分支,调查保险库,将笔记分类为枢纽或辐条,然后按优先级顺序处理:先处理枢纽到枢纽关系(价值最高的连接),然后是辐射到枢纽(大部分工作),然后是横向辐射到辐射连接。它每20-50个笔记提交一次,写一个包含统计和信心等级的链接日志,从不碰你的主分支。如果你同时运行多个代理(比如每个文件夹一个),提示符包含协调规则:每个代理只写入其分配的笔记,链接前验证目标文件的存在,并记录所有需要跳过的内容。

验证与修复是清理阶段。构建完成后,你会在同一个分支上运行它。它构建完整的文件索引,扫描每条笔记寻找断裂链接(正确排除代码块和调用),修复可修复的部分(近乎匹配的分辨率、并行代理伪影移除),检查前置和内联链接的一致性,删除重复,分类孤立的笔记,并验证所有YAML代码。输出是一份核实报告,明确告诉你哪些问题已经修复,哪些仍需人工判断。只有通过验证后,你才会合并。@type

两阶段设计是刻意设计的:构建阶段优化吞吐量,验证阶段优化正确性。两者都是幂等型。在已经关联的保险库上重新运行不会有任何变化。

漏洞三:你的知识被困在一台机器上

这是大多数实现都没能解决的漏洞。

LLM 维基把所有内容都以普通的 markdown 形式存储。你可以用git同步这些文件,把多个工具指向同一个目录,随时随地访问。文件本身不是问题。

代理人的理解是这样。

每次你开始新会话时,LLM都会读取你的索引文件,重新解析wiki结构,并重新发现上次会话已知的内容。内存中没有持久的图。没有办法在不重读每一个相关页面的情况下,询问“什么与我关于X的假设相矛盾?”。没有能在数百条笔记中走动输入关系的图遍历。目录在小规模上是可用的,但它是一个平面文件,不是查询引擎。index.md

Git 给你提供了文件可移植性。但它没有给你代理级内存、关系感知搜索,或者任何工具都能查询而无需从头解析的持久知识图谱。

解决办法:一个持久的知识图谱后端

Penfield 是一个面向人工智能代理的持久记忆和知识图谱系统。它将内存、工件和类型关系存储在后端,通过MCP(模型上下文协议)从任何兼容客户端访问。

相关能力:

  • 混合搜索:BM25(关键词)+ 向量(语义)+ 图遍历,融合在一起。不是“选一个”。三个都加权并合并。
  • 类型关系:Wikilink-types 中的 24 种关系类型是 Penfield 图的原生类型。, , , , 全部。词汇完全匹配。supersedescontradictscauses
  • 跨平台访问:通过Claude Code、Claude.ai、OpenClaw、Cursor、Gemini CLI或其他任何支持MCP的软件连接。无论使用哪种工具,都可以拥有相同的知识图谱和关系。
  • 会话间的持久性:关闭标签页时图表不会消失。记忆、关系和文物可以无限保存。开始新会话,从中断处继续。

管道:黑曜石到彭菲尔德

Penfield-import是桥梁。它读取Obsidian保险库(或任何Markdown文件集合),并将所有内容导入Penfield,作为记忆、关系和文物。

该工具分为七个阶段,设有安全检查点:

  1. 解析:读取所有文件,提取 YAML 前言和类型关系.md.txt
  2. 记忆:每个音符创建一个Penfield记忆
  3. Artifacts:上传超过10K字符内存限制的笔记完整内容
  4. 导出的工件:上传已有的工件文件
  5. 文档:上传文档(PDF、代码文件等)
  6. 关系:批量创建100个记忆之间的关系
  7. 验证:确认进口数量匹配

快速入门:

# Install
pip install .

# Authenticate (opens browser, takes 2 seconds)
penfield-import --login

# Preview what will be imported
penfield-import /path/to/your/vault --dry-run

# Run the import
penfield-import /path/to/your/vault

如果你的保险库有 obsidian-wikilink-types 的类型关系,它们会以 Penfield 的图形边形式呈现。如果没有,你仍然会以可搜索的记忆形式获得所有笔记。打字链接会让导入更丰富,但不是必须的。

我们已经大规模运行过,一次性导入了超过4000条笔记和2万多个关系。检查点系统意味着如果某项内容在第五阶段崩溃,会从第五阶段恢复,而不是从头开始。

完整管道

以下是完整的工作流程,无论您是升级现有保险库还是重新开始:

完整管道

路径A:你已经有一个黑曜石金库

  1. Install obsidian-wikilink-types in your vault
  2. Run the Vault Linker skill with Claude Code or OpenClaw to discover relationships across your existing notes
  3. Review and approve the AI-suggested relationships
  4. Run penfield-import to push everything into Penfield
  5. Access your knowledge from any MCP-compatible AI tool, on any device

Path B: Starting fresh with the LLM Wiki pattern

  1. Follow Karpathy's pattern: collect sources, have the LLM compile a wiki
  2. But use obsidian-wikilink-types from day one. When the LLM creates cross-references, have it use syntax so the relationships are typed from the start@
  3. Periodically run the Vault Linker skill to catch relationships the LLM missed
  4. When your wiki is rich enough, import to Penfield for persistent, cross-platform access

What you get vs. what you had

Karpathy's LLM WikiWith typed links + Penfield
Link semantics[[Note]] - connected, no type[[Note @supersedes]] - 24 relationship types
Searchindex.md flat file, breaks at scaleHybrid: BM25 + vector + graph traversal
持久性无——LLM在会话间会忘记完整——知识图谱无限期存在
设备访问一台笔记本,一个目录任何设备,任何MCP或API客户端
代理兼容性一次只做一个特工Claude、OpenClaw、Cursor、Gemini CLI等。
关系发现手册,散文通过Vault Linker发现的AI和人类批准

工具

本文提到的所有内容现已开放:

Karpathy的LLM维基模式是一个坚实的基础。类型关系、AI发现的连接以及持续的后台,使它从一个巧妙的笔记黑客变成了一个真正可叠加的知识系统。

原创文章,作者:ROCKYCOO,如若转载,请注明出处:https://aiyixun.com/karpathy%e7%9a%84llm-wiki%e7%bc%ba%e5%b0%91%e4%bb%80%e4%b9%88%ef%bc%88%e4%bb%a5%e5%8f%8a%e5%a6%82%e4%bd%95%e4%bf%ae%e5%a4%8d%ef%bc%89/

喜欢 (0)
ROCKYCOO的头像ROCKYCOO
上一篇 12小时前
下一篇 7小时前

相关推荐

  • 企业客服AI Agent部署实战

    企业客服AI Agent部署实战 一、前言 随着大模型技术成熟与企业降本增效需求加剧,传统关键词式客服机器人已无法满足复杂咨询、多轮对话、跨系统执行的业务需求。企业客服AI Age…

    12小时前

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注