乐于分享
好东西不私藏

当律师遇上AI(二):我用Karpathy的三层架构重构了知识库

当律师遇上AI(二):我用Karpathy的三层架构重构了知识库

一个法律人的技术实验,也是一段关于”知识管理”和”AI协作”的思考。
一、偶然的发现
今天我在高铁上浏览 GitHub Gist,偶然看到Andrej Karpathy分享的LLM Wiki三层架构时,那种兴奋感,就像小学时第一次读到《学习的革命》一书的激动。当年那本书让我第一次接触到脑图记笔记的方法,给我尚且懵懂的小小心灵带来了极大的震撼。
回过头来审视自己用了很久的Obsidian笔记,才发现一直沿用的层层嵌套架构(01-诉讼技能/02-公司股权/…),其实存在很大的不合理性:
  • 不符合知识高效沉淀的逻辑:文件层级过深,检索困难
  • 难以适配律师工作的需求:案件文件、学习笔记、生活记录混在一起
  • 更不及Karpathy架构的科学与高效:没有清晰的职责分层

二、Karpathy LLM Wiki三层架构是什么?
简单来说,这是一套专为AI协作设计的知识管理架构,分为三层:
层级 名称 核心作用 类比
第一层 Raw Source 原始资料存储层(只读) 图书馆的书架
第二层 The Wiki 结构化知识库层(可写) 经过整理的知识卡片
第三层 The Schema 系统规则层(维护) 图书馆的管理制度
核心逻辑
Raw Source → The Wiki → The Schema,数据流单向,职责清晰:
  1. Raw Source:存放所有原始材料(案件文件、学习笔记、文章草稿),永不修改,只作为知识源头
  2. The Wiki:AI根据Raw Source生成的结构化知识条目,采用6段式格式(基础信息、核心要点、关键拆解、冲突点、误区、延伸关联)
  3. The Schema:定义系统运行规则、Wiki条目模板、健康检查机制
三个核心指令
  • Raw:处理Raw Source,生成/更新Wiki条目
  • Wiki:基于Wiki知识库回答问题
  • Schema:健康检查,维护Wiki质量

三、今天我做的具体工作
3.1 第一步:重建Obsidian根目录结构
我放弃了原有的三大文件夹结构(OBS工作/OBS学习/OBS生活/),按照Karpathy架构在Obsidian根目录创建三个文件夹:
# Obsidian库根目录
/Users/toshaun/Library/Mobile Documents/iCloud~md~obsidian/Documents/S Obsidian/

# 新建三层架构文件夹
Raw Source/     # 原始资料层
The Wiki/       # 知识库层
The Schema/     # 规则层

关键决策:所有现有内容(600+篇笔记)全部迁移到Raw Source/,视为原始材料,后续通过”Raw”指令逐步生成Wiki条目。

3.2 第二步:编写Python脚本,批量处理533个文件
原有笔记分布在3层嵌套文件夹中(OBS学习/01-诉讼技能/...),需要全部扁平化移动到Raw Source/根目录。
我编写了flatten_raw_source.py脚本:
#!/usr/bin/env python3
“””
功能:将Raw Source中的嵌套文件夹扁平化
作者:WorkBuddy AI助手
日期:2026-05-05
“””

import os
import shutil
from pathlib import Path

# Raw Source路径
raw_source = Path(“/Users/toshaun/Library/Mobile Documents/iCloud~md~obsidian/Documents/S Obsidian/Raw Source”)

# 1. 遍历所有嵌套文件
for root, dirs, files in os.walk(raw_source):
    for file in files:
        if file.endswith(‘.md’):
            src_path = Path(root) / file
            dst_path = raw_source / file
            
            # 2. 处理文件名冲突(添加父文件夹名作为前缀)
            if dst_path.exists():
                parent_name = Path(root).name
                new_name = f”{parent_name}_{file}”
                dst_path = raw_source / new_name
            
            # 3. 移动文件
            shutil.move(str(src_path), str(dst_path))
            print(f”✅ 已移动:{file} → {dst_path.name}”)

# 4. 删除空文件夹
for root, dirs, files in os.walk(raw_source, topdown=False):
    for dir in dirs:
        dir_path = Path(root) / dir
        if not any(dir_path.iterdir()):  # 文件夹为空
            dir_path.rmdir()
            print(f”🗑️ 已删除空文件夹:{dir}”)

运行结果
  • ✅ 处理文件数:533个
  • ✅ 重命名冲突文件:5个
  • ✅ 删除空文件夹:41个
  • ⏱️ 耗时:约3分钟

3.3 第三步:创建The Schema系统规则
The Schema/文件夹中,我创建了两个核心文件:
文件1:系统运行规则.md
这个文件定义了三层架构的完整运行规则,包括:
三层架构定义
  • 第一层:Raw Source(原始资料层)
  • 第二层:The Wiki(知识库层)
  • 第三层:The Schema(规则层)
三个核心指令
  • Raw指令:触发方式、功能、流程
  • Wiki指令:触发方式、功能、流程
  • Schema指令:触发方式、功能、流程
工作硬性约束
  1. 文件夹层级:Raw Source/、The Wiki/、The Schema/ 均为扁平结构,不允许创建子文件夹
  2. Wiki条目格式:必须遵循6段式结构
  3. Raw Source只读:AI不可修改Raw Source中的任何文件
  4. 知识来源可追溯:每个Wiki条目必须注明信息来源
文件2:Wiki条目模板.md
这个文件定义了Wiki条目的标准格式(6段式):
# Wiki条目模板

## 基础信息
– 更新日期:YYYY-MM-DD
– 信息来源:[[对应的Raw Source文件]]
– 关联条目:[[相关Wiki条目]]

## 核心要点
(提炼最核心的知识点,3-5条)

## 关键拆解
(详细拆解知识点,可分多个子标题)

## 冲突点
⚠️ 如果存在不同观点或冲突表述,在此标注

## 误区
(常见误解或注意事项)

## 延伸关联
(相关概念、前置知识、后续可扩展条目)


3.4 第四步:批量生成Wiki条目(前20个高价值文件)
我使用”Raw:”指令,处理了前20个高价值Raw Source文件,按主题合并生成了7个consolidated Wiki条目(而非逐文件生成20个条目):
序号 Wiki条目名称 合并文件数 主题
1 执行实务|失信限高区别与亲属账户查控.md 3 执行实务
2 民事诉讼|再审程序与四级法院审级改革.md 2 民事诉讼
3 商事仲裁|优势分析与合同条款设计.md 2 商事仲裁
4 合同实务|买卖合同纠纷与事实认定.md 3 合同实务
5 合同编司法解释|抵销权行使与居间报酬认定.md 2 合同编司法解释
6 企业合规|预付式消费司法解释解读.md 1 企业合规
7 婚姻家事|再婚夫妻财产与继承法律问题.md 1 婚姻家事
合并策略示例
3个执行相关文件(失信限高.md作为执行律师.md东莞执行.md)→ 合并为1个Wiki条目执行实务|失信限高区别与亲属账户查控.md

3.5 第五步:创建raw-to-wiki Skill
为了复用这个工作流,我创建了raw-to-wiki Skill(~/.workbuddy/skills/raw-to-wiki/SKILL.md),编码了完整流程:
name: raw-to-wiki
description: >
  Process Raw Source files into consolidated Wiki entries
  for the Karpathy LLM Wiki three-layer architecture.
agent_created: true
Skill功能
  • 自动扫描Raw Source文件并分类(高价值/中等价值/低价值)
  • 按主题合并相关文件
  • 生成6段式Wiki条目
  • 可被后续”Raw:”指令复用

四、如何使用新的架构?
搭建好三层架构后,日常使用非常简单,核心就是三个指令:
4.1 Raw指令:处理原始资料,生成Wiki条目
触发方式:对AI说”Raw:xxx”(xxx可以是文件名、主题、或”全部”)
使用示例
用户:Raw:处理高价值文件,先处理前20个

AI工作流程:
1. 读取Raw Source/中的前20个高价值文件
2. 按主题合并相关内容(如3个执行相关文件→1个Wiki条目)
3. 生成6段式Wiki条目
4. 保存到The Wiki/文件夹
5. 输出处理摘要

适合场景
  • 有新笔记/案件文件时,投放到Raw Source/,然后触发”Raw:”指令
  • 定期(如每周)批量处理Raw Source/中的新增文件
  • 按主题(如”合同实务”)定向处理相关文件

4.2 Wiki指令:基于知识库回答问题
触发方式:对AI说”Wiki:xxx”(xxx是你的问题)
使用示例
用户:Wiki:失信被执行人的限制高消费措施,如何影响亲属账户?

AI回答流程:
1. 搜索The Wiki/中的相关条目(如”执行实务|失信限高区别与亲属账户查控.md”)
2. 综合多个条目给出答案
3. 注明知识来源(引用Wiki条目名称)
4. 如果Wiki中没有相关信息,提示用户先使用”Raw:”指令处理相关Raw Source文件

适合场景
  • 快速查询专业知识(AI已”记住”你的Wiki知识库)
  • 准备案件材料时,让AI基于你的历史经验给出建议
  • 写作法律文书时,让AI引用Wiki中的知识点

4.3 Schema指令:健康检查,维护Wiki质量
触发方式:对AI说”Schema”或定期(如每月)自动触发
检查内容
AI健康检查流程:
1. 扫描The Wiki/中的所有条目
2. 检测:
  – 冲突观点(同一主题的不同表述)
  – 过时内容(法律依据已修改)
  – 孤立条目(没有与其他条目建立关联)
3. 生成健康报告(按优先级排序)
4. 可选:自动修复简单问题(需用户确认)
适合场景
  • 定期维护Wiki质量(建议每月一次)
  • 发现Wiki条目中有冲突观点时,手动触发”Schema”指令
  • 在批量处理Raw Source后,检查新生成Wiki条目的质量

4.4 完整工作流示例
假设你刚结束一个股权转让纠纷的案件,想把这个案件的知识沉淀到Wiki:
  1. Step 1:将案件文件(起诉状、证据清单、判决书、代理意见)放到Raw Source/股权转让纠纷_案件A/(可以创建子文件夹,Raw Source不限制)
  2. Step 2:对AI说”Raw:股权转让纠纷”
  3. Step 3:AI读取Raw Source/中的相关文件,生成/更新Wiki条目(如The Wiki/商事仲裁|股权转让纠纷实务要点.md
  4. Step 4:以后遇到类似案件,对AI说”Wiki:股权转让纠纷的争议焦点通常有哪些?”,AI会基于Wiki知识库给出答案(引用你的历史案件经验)

五、实际效果对比
改造前(原有嵌套结构)
OBS学习/
├── 01-诉讼技能/
│   ├── 失信限高.md
│   ├── 作为执行律师.md
│   └── 东莞执行.md
├── 02-公司股权/
│   └── 回购条款设计.md
└── …(共9个文件夹,600+篇笔记)
痛点
  • 文件层级深,检索慢
  • 相关主题分散在不同文件夹
  • AI难以全局理解知识体系
改造后(Karpathy三层架构)
Raw Source/          # 533个文件,扁平化存储
├── 失信限高.md
├── 作为执行律师.md
├── 东莞执行.md
└── …(所有文件都在根目录)

The Wiki/            # 7个结构化条目(会继续增加)
├── 执行实务|失信限高区别与亲属账户查控.md
├── 民事诉讼|再审程序与四级法院审级改革.md
└── …(按主题合并,易于检索)

The Schema/          # 2个系统规则文件
├── 系统运行规则.md
└── Wiki条目模板.md

优势
  • ✅ 文件扁平化,检索速度提升
  • ✅ 相关主题合并,知识密度更高
  • ✅ AI可全局理解知识体系,给出更精准的建议

六、一些感悟
今天这个过程,让我深刻体会到工具选择背后的思维模型
以前用嵌套文件夹,是传统的文件管理思维:把知识当成”文件”,用文件夹分类。
现在用Karpathy三层架构,是AI原生思维:把知识当成”可计算的数据”,用分层架构让AI能高效地处理。
最关键的改变
  • Raw Source是数据湖(所有原始数据)
  • The Wiki是数据仓库(结构化、可查询)
  • The Schema是元数据管理(定义规则和质量标准)
这种架构,不仅适用于Obsidian+AI协作,其实也适用于律师事务所的知识管理
  • Raw Source = 案件卷宗、法律备忘录、研究报告
  • The Wiki = 结构化法律知识点(可按领域、法院、法条检索)
  • The Schema = 知识管理规范(格式标准、更新频率、质量审核)

七、下一步计划
  1. 继续批量处理Raw Source:533个文件,今天处理了20个高价值文件,还有513个待处理
  2. 优化Wiki条目质量:根据实际使用反馈,调整6段式格式
  3. 探索MCP协议:让Claude Code直接读取Obsidian库(参考我上一篇文章)
如果你对Karpathy LLM Wiki三层架构感兴趣,或者想搭建自己的AI原生知识管理系统,欢迎在评论区交流。

本文章仅供学习交流,不构成法律意见。
具体案件请咨询专业律师。

王璞律师 创始合伙人
广东法伦律师事务所
广东省深圳市龙岗区坂田街道雅星路 8 号
星河双子塔西塔 13 层 1301B 室
137 2424 3737 | wangpu@falunlawyer.cn

文章标签:#Obsidian #AI #知识管理 #Karpathy #律师实务

相关文章
当律师遇上AI(一):我的Obsidian+WorkBuddy使用心得