# 史记知识库 - 让两千年的文字活过来
> 现在没有人再会读没有标点符号的文章,未来也不会有人愿意读没有语法高亮的文章。
## 📖 [在线语法加亮阅读访问 →](https://baojie.github.io/shiji-kb)
**许可证**: [CC BY-NC-SA 4.0](LICENSE) - 署名-非商业性使用-相同方式共享
---
## 🎨 玩转史记:无穷的二次创造
**史记是个巨大的宝库,知识图谱是产生创见的浓缩咖啡。** 它能让我们更快、更自动化地创作出更多更好的播客、短视频、小说、电影、游戏。当然,也能帮我们发现历史真相,进行学术研究。
最新好玩的实验,都是刚刚开始的,在进行中的半成品:
- **[太史公曰](labs/sima-qian-style/)** - AI学太史公写作:三层SKILL架构,把乔布斯、葛底斯堡演说改写成《史记》文风
- **[太史公怎么知道](labs/source-inference/)** - 史料溯源推理:鸿门宴、荆轲刺秦的故事是怎么传到司马迁耳朵里的?
- **[矛盾分析](labs/contradiction-analysis/)** - 130篇里谁说了假话:AI跨篇章矛盾检测
- **[语义排版](labs/prototypes/)** - 文本也能像代码一样高亮:句间关系可视化
→ 更多实验见 [`labs/`](labs/) 目录
近期规划:3月完成史记,4月处理汉书和左传,5月完成通鉴。
---
## 💡 核心突破
语法高亮是认知辅助的第一步。更深层的突破是:**当实体、事件、关系被结构化后,机器能发现人力不可能完成的模式——跨130篇的矛盾检测、跨越2600年的规律归纳、从57万字中自动推断治乱兴衰的深层逻辑。**
一个人,6周,120小时人工+30亿tokens。从零开始,将《史记》转化为:
- **15,190个实体**,102,851次标注(18类)
- **3,197个历史事件**,98.7%标注公元纪年
- **7,637条事件关系**(9种类型)
- **130条交互式时间线**("史记地铁图")
- **2本PDF方法论书籍**(425页元技能+438页管线技能)
---
## 三大突破
### 🎯 Agentic Ontology:AI时代的知识工程新范式
| | 传统本体构建(2001) | Agentic Ontology(2026) |
|--|---------------------|---------------------------|
| 起点 | 专家在Protégé中从空白开始 | AI从原始文本中提取 |
| 方向 | 自上而下设计 | 自下而上涌现 |
| 规模 | 数十个类、数百个实例 | 数千个类、数万个实例 |
| 迭代速度 | 数周一轮 | 数小时一轮 |
| 核心瓶颈 | **2001: 设计** | **2026: 反思/进化** |
**核心转变**:2001年的难点是"设计本体",2026年的难点是"反思/进化AI提取的本体"。本体不再是专家预先设计的蓝图,而是从数据中生长出来、由人类修剪和校准的有机结构。
> 详见方法论对标文档:[Agentic Ontology 101](resources/publications/draft/agentic_ontology_101.md)(英文,对标Noy & McGuinness 2001经典)
### 📚 可复用方法论:从一部书到整个文库
**14个元技能(Meta-Skills)** - 通用知识工程方法论
- OTF+JIT+Bootstrap、反思循环、冷启动、柳叶刀方法、质量控制……
- → **[下载PDF合集(425页,2.35MB)](resources/publications/meta-skill-book/大规模知识库构造元技能方法论.pdf)**
**40个管线技能(Pipeline Skills)** - 古籍处理完整技术栈
- 校勘→结构分析→实体构建→事件构建→关系构建→本体构建→逻辑推理→SKU→应用
- → **[下载PDF合集(438页,3.01MB)](resources/publications/pipeline-skills-book/史记知识库构造管线技能手册.pdf)**
**技术文章** - 方法论实战解读
- 《从历史书中探索知识图谱》(2026-03-19):项目缘起、核心成果、技术架构、元技能体系的完整呈现
- → **[下载PDF(14页,1.5MB)](resources/publications/draft/从历史书中探索知识图谱.pdf)**
**为什么是SKILL而非代码?**
这套管线的执行,没有人从头写过一行传统程序。每一步对应一份SKILL文档——用结构化自然语言写清楚:输入是什么、处理逻辑是什么、输出是什么、怎么验证。AI读SKILL,执行SKILL,产出结果。
**更有意思的是**:提炼SKILL本身也是一个SKILL。系统可以从任何一本书里学会新的研究方法,把这个方法编码成SKILL,然后用这个SKILL处理下一批材料——**知识工程的自举**。
### 🔍 从数据中涌现的洞见
知识图谱在构建过程中发现了20+个跨章洞见(详见 [eureka.md](ontology/eureka.md)):
- **征服-治理倒转**:打天下的手段恰恰是治天下的障碍
- **边缘优势**:成功王朝一致从边缘地区起源
- **宽恕悖论**:对下属的宽恕创造忠诚,对敌国的宽恕制造灾难
- **秦始皇无皇后之谜**:《史记》完全没有记载秦始皇的皇后是谁——当知识库建立了"君主→应有→皇后"的本体规则,把所有帝王过一遍:黄帝有嫘祖,禹有涂山氏,刘邦有吕后……秦始皇那一格是空的。异常自动浮现。
- **项羽之死数字矛盾**:《项羽本纪》记载东城之战斩杀"数十百人",《高祖本纪》记载同一战役斩首"八万",数字相差100倍
这证明:**当知识被充分结构化后,机器辅助的推理能发现人类难以通过线性阅读察觉的深层模式**。
---
## 在线体验
### 阅读器五个层次
从原始文本到全功能知识库,演进路径:
**原文 → 专名标注 → 语法高亮 → 语义排版 → 关系连线**
[查看完整演进过程](resources/publications/notes/史记语法高亮创造过程.md) | [语义排版技术细节](resources/publications/draft/史记阅读器重构与语义排版.md)
### 在线Demo
**首页**: [https://baojie.github.io/shiji-kb](https://baojie.github.io/shiji-kb)
**精选章节**:
- [五帝本纪](https://baojie.github.io/shiji-kb/chapters/001_五帝本纪.html) - 上古神话与帝王传说
- [项羽本纪](https://baojie.github.io/shiji-kb/chapters/007_项羽本纪.html) - 西楚霸王的兴衰
- [秦楚之际月表](https://baojie.github.io/shiji-kb/chapters/016_秦楚之际月表.html) - 交互式历史年表
- [孔子世家](https://baojie.github.io/shiji-kb/chapters/047_孔子世家.html) - 儒家圣人的一生
- [刺客列传](https://baojie.github.io/shiji-kb/chapters/086_刺客列传.html) - 专诸、聂政、荆轲传奇
### 核心功能
- **18类实体语法高亮**:人名/地名/官职/时间/朝代/制度/族群/器物/天文/神话/生物/数量/典籍/思想/身份/邦国/氏族/事件
- **三家注悬停弹窗**:裴骃《集解》、司马贞《索隐》、张守节《正义》,一千多年前的注释自动浮现
- **Purple Numbers段落编号**:致敬Doug Engelbart,每个段落可精确引用和分享
- **知识索引可点击跳转**:11,680个实体词条 + 96个语义关系,别名合并595条,语义消歧644处
- **史记地铁图**:130条线路×3,197站点,支持缩放/拖拽/搜索/时间线 ([app/metro](app/metro))
---
## 核心数据
| 类别 | 规模 | 亮点 |
|------|------|------|
| **文本标注** | 130篇,57.7万字 | 18类实体,100%覆盖 |
| **实体** | 15,190词条,102,851次标注 | 5轮反思审查,累计修正12,200+处 |
| **知识索引** | 18类实体 + 3类语义关系,共11,992条目 | 别名合并595条,语义消歧644处,动词7,151次 |
| **事件** | 3,197个,11类事件类型 | 98.7%已标注公元纪年 |
| **事件关系** | 7,637条,9种类型 | 4种自动计算+5种LLM推断,1,876个跨章换乘 |
| **知识单元** | 434事实+241技能 | 7,497个实体关联 |
| **方法论** | 14元技能+40管线技能 | 2本PDF合集(共863页) |
| **技术文章** | 1篇,14页PDF | 《从历史书中探索知识图谱》(2026-03-19) |
### 标注质量里程碑
- ✅ **2026-03-17**:第一轮实体反思,全书130章系统审查,修正1,913处标注错误,原文完整性100%验证通过
- ✅ **2026-03-19**:CSS渲染升级v5.4,身份标注符号语义修复(8,774处)
- 📊 详见 [第一轮实体反思报告](doc/entities/第一轮实体反思报告.md) | [CSS版本历史](doc/spec/CSS版本历史_v5.4.md)
---
## 方法论架构
### 四层语义递进模型
```
结构语义 → 图谱语义 → 知识语义 → 应用语义
```
每一层回答不同的问题,严格递进:
1. **结构语义**(第1层):文本怎么组织的?句子间什么关系?
- 校勘、切分、编号、句间关系识别、三家注对齐
2. **图谱语义**(第2层):谁做了什么?在哪里?什么时候?
- 实体标注、事件提取、关系发现、年代推断
3. **知识语义**(第3层):怎么分类?遵循什么规律?
- 本体构建、逻辑推理、知识单元化、模式识别
4. **应用语义**(第4层):历史真相是什么?有哪些矛盾?能发现什么规律?
- 矛盾检测、规律归纳、交互式探索、洞见挖掘
详见:[研究方法总则](doc/methodology/研究方法总则.md) | [项目初衷、愿景与未来方向](resources/publications/notes/项目初衷、愿景与未来方向.md)
### 九步管线(Agent驱动,可并行)
```
01 校勘 → 02 结构分析 → 03 实体构建
→ [04 事件 / 05 关系 / 06 本体 并行]
→ 07 逻辑推理 → 08 SKU构造 → 09 应用构造
```
- **校勘**:多版本比对,生成定本 ([SKILL 01](skills/SKILL_01_古籍校勘.md))
- **结构分析**:章节切分、Purple Numbers编号、句间语义关系、三家注对齐 ([SKILL 02](skills/SKILL_02_结构分析.md))
- **实体构建**:18类NER标注、别名消歧、多轮反思审查 ([SKILL 03](skills/SKILL_03_实体构建.md))
- **事件构建**:结构化事件提取、公元纪年推断、十轮反思校正 ([SKILL 04](skills/SKILL_04_事件构建.md))
- **关系构建**:9种关系类型、SPO三元组、事件链路 ([SKILL 05](skills/SKILL_05_关系构建.md))
- **本体构建**:实体词表→分类树→OWL/RDF ([SKILL 06](skills/SKILL_06_本体构建.md))
- **逻辑推理**:矛盾检测、生卒年推断、姓氏推理 ([SKILL 07](skills/SKILL_07_逻辑推理.md))
- **SKU构造**:知识单元化(Factual/Procedural/Relational) ([SKILL 08](skills/SKILL_08_SKU构造.md))
- **应用构造**:阅读器、地铁图、游戏化、问答 ([SKILL 09](skills/SKILL_09_应用构造.md))
详见:[管线总览](skills/SKILL_00_管线总览.md) | [完整技能索引](skills/)
---
## 从一部书到一个文库
### 近期:深化《史记》(2026 Q2-Q3)
- **十表交互式查看器**:将年表从静态HTML转为可筛选、可排序的动态表格
- **社会网络分析**:基于3,797个人名和已有关系数据,构建跨朝代人物网络
- **时空分析**:对接CHGIS(中国历史地理信息系统),构建可按朝代切换底图的交互式历史地图
- **系统化矛盾检测**:跨章交叉验证(如007项羽本纪 vs 008高祖本纪的死伤数矛盾)
- **Neo4j图数据库**:导入知识图谱,支持Cypher查询和图算法分析
### 中期:扩展到26史+资治通鉴(2026-2027)
项目的方法论(管线架构、SKILL文档、Agent工作流)设计之初就考虑了可移植性:
| 目标 | 规模 | 成本估算 | 适配要点 |
|------|------|---------|---------|
| 二十六史 | ~4,000万字 | 优化后~5-10万元 | 实体类型扩展、朝代特有制度 |
| 资治通鉴系列 | ~600-700万字 | 优化后~1-2万元 | 编年体结构、与纪传体互参 |
| 先秦诸子 | ~100万字 | 优化后~2千元 | 思想概念为核心实体、论证结构分析 |
**关键**:不是重复劳动,而是**复用已验证的SKILL,让每一部新古籍的处理成本递减**。
史记一共60万字,处理成本约千元级别(含试错和方法论探索)。优化后,每10万字成本可降至百元级别。
### 远期:30亿字级古籍数字化基础设施(2028+)
- **四库全书、佛道经典**:总规模约30亿字
- **Agent驱动、Skills可复用**:方法论本身成为可分发的知识资产
- **从文献到知识到发现**:机器不只是帮助阅读,而是帮助**发现**——跨文献的交叉验证、矛盾识别、规律归纳
- **开放协作**:代码和方法论开源,数据以CC BY-NC-SA 4.0发布
最终愿景:**建立一个由AI Agent维护和持续进化的中国古典文献知识网络,让任何人都能以问答、可视化、推理的方式探索数千年的历史智慧。**
### 应用场景
详见:[史记阅读器重构与语义排版](resources/publications/draft/史记阅读器重构与语义排版.md)
- **文艺二次创造**:历史小说/电影/短剧素材引擎(马伯庸式写作模式工业化)
- **游戏化**:SKU→技能卡,事件→剧情,实体→角色。一个知识库支撑一百款不同游戏
- **历史探案**:李开元式侦探逻辑系统化(年龄/婚姻/家庭一致性自动检验)
- **跨语言历史**:波斯文/蒙古文/阿拉伯文史料融合中文知识图谱,边疆史多视角呈现
- **考古应用**:16万份甲骨拓片系统性分析,单字研究逻辑并行化
---
## 快速开始
```bash
# 1. 克隆项目
git clone https://github.com/baojie/shiji-kb.git
cd shiji-kb
# 2. 安装依赖
pip install -r requirements.txt
# 3. 生成HTML(单章或全部)
python render_shiji_html.py chapter_md/001_五帝本纪.tagged.md
python generate_all_chapters.py
# 4. 查看结果
# 在线:https://baojie.github.io/shiji-kb
# 本地:打开 docs/chapters/ 下的HTML文件
```
---
## 目录结构
完整目录树和详细说明见:[PROJECT_STRUCTURE.md](resources/help/PROJECT_STRUCTURE.md)
---
## 作者与贡献
### 创建者
**鲍捷** ([baojie](https://github.com/baojie))
- Email: baojie@gmail.com
- 微信: baojiexigua
- GitHub: @baojie
### AI协作者
**Claude Code** (Anthropic)
- 主力模型:Claude Sonnet 4.5 / Opus 4.6
- 累计消耗:~30亿tokens,约120小时人机协作
- 分工:AI负责大规模标注、代码开发、文档生成;人负责愿景、审美、质量把控、任务调度
### 贡献方式
欢迎各种形式的贡献:
- 知识图谱完善(实体标注修正、事件关系补充)
- 代码改进(渲染器优化、新功能开发)
- 学术讨论(方法论反馈、应用场景探索)
- 可视化设计(阅读器UI改进、数据可视化)
- Bug报告和功能建议
**参与指南**: [resources/help/CONTRIBUTING.md](resources/help/CONTRIBUTING.md) - 详细的贡献流程和规范
**GitHub Issues**: <https://github.com/baojie/shiji-kb/issues>
### 许可证
- **标注数据**:[CC BY-NC-SA 4.0](LICENSE) - 署名-非商业性使用-相同方式共享
- **分析脚本**:MIT License - 自由使用、修改、分发
- **《史记》原文**:公有领域作品
### 致谢
- **原始文本**:[维基文库《史记》](https://zh.wikisource.org/wiki/史記)
- **底层AI基础设施**:Claude Code、Claude Sonnet 4.5、Claude Opus 4.6 (Anthropic)
- **灵感来源**:Doug Engelbart(Purple Numbers)、Noy & McGuinness(Ontology Development 101)
---
## 错误与修正:AI辅助项目的必然挑战
### 为什么会有错误?
这是一个人+AI协作的大规模知识工程项目。**57.7万字、15,190个实体、3,197个事件**,全部由AI Agent在有限提示词指导下自动提取。错误不仅不可避免,而且**预期之内**。
#### 错误的三个主要来源
**1. AI理解偏差**
- **古文歧义性**:同一个字在不同语境下可能是人名、地名或普通词汇(如"齐"可以是齐国、齐桓公,也可以表示"相同")
- **多义实体**:历史上有多个同名人物(如张良、李斯跨朝代同名)
- **隐性指代**:史记中大量使用"公""侯""王"等称谓,需要结合上下文推断具体是谁
**2. 标注规范的动态演进**
- 项目初期规范不完善,随着数据积累逐步细化
- 例如:身份标注符号语义在v5.4版本才系统修复(8,774处调整)
- 跨章一致性问题:不同章节标注时段不同,规范认知有差异
**3. 复杂推理的边界**
- **年代推断**:史记使用在位纪年,转换到公元年需要多步推理(君主在位年表→在位年数→公元映射)
- **事件关系**:因果关系、时序关系等语义判断,AI准确率约85-92%
- **消歧决策**:判断两个"韩信"是否是同一人,需要综合地理、时间、职位等多维信息
### 我们怎么修正?
#### 结构化反思循环(Agent-driven Quality Loop)
```
[AI初始标注] → [规则校验] → [Agent反思] → [批量修正] → [人工抽检] → [规范迭代]
↑ ↓
└─────────────────────── 下一轮反思 ←──────────────────────────┘
```
#### 实证:事件年代审查的质量收敛
| 轮次 | 修正数 | 涉及章节 | 错误率下降 |
|------|--------|---------|-----------|
| 第1轮 | 1,010 | 118/130 | 初始基线 |
| 第2轮 | 431 | 105/130 | ↓ 57% |
| 第3轮 | 465 | 70/130 | ↓ 8% (新类型错误) |
| 第4轮 | 167 | 68/130 | ↓ 64% |
| 第5轮 | 46 | 28/130 | ↓ 72% |
**关键洞察**:90%准确率的AI标注 + 5轮反思,总耗时5天,成本约200元。人工从零标注57万字,估计需要6-12个月。**速度提升100倍的代价是接受初始错误并系统性迭代修正**。
#### 多层质量保障机制
**1. 自动校验工具链**
- **原文完整性检验**:100%验证标注后字符数与原文匹配
- **符号对称性检验**:`〖@人名〗` 开合标签必须配对
- **实体类型约束**:18类实体的合法性检查
- **跨文件引用检查**:事件中引用的人名/地名必须存在于知识索引
**2. Agent反思审查**
- **第一轮实体反思**(2026-03-17):130章系统审查,修正1,913处标注错误
- **事件年代审查**:5轮迭代,修正2,119处年代推断错误
- **别名消歧**:595条别名合并,644处同名消歧
**3. 人工抽查与规范修订**
- 每完成一批反思,人工抽检5-10%结果
- 根据发现的系统性问题修订SKILL文档
- 重新运行受影响章节的标注
### 已知问题清单
详见 [Issues](https://github.com/baojie/shiji-kb/issues),当前主要问题类型:
- **实体边界模糊**:复合词如"汉中王"应该标注为"汉中(地名)+王(身份)"还是整体标注为"职位"?
- **事件粒度不一致**:部分章节事件切分过细(一句话多个事件),部分过粗(一段只有一个事件)
- **关系推断过度**:某些因果关系是AI过度推理,史记原文未明确表达
- **年代推断空缺**:约1.3%的事件无法推断具体公元年(如神话时期、记载过于模糊的事件)
### 如何报告错误?
我们**非常欢迎**社区帮助发现和修正错误!
#### 报告途径
**GitHub Issues**: <https://github.com/baojie/shiji-kb/issues>
**报告方式**:最简单的方式是**直接截图上传**,配一句话说明问题即可。我们会从截图中定位章节和具体位置。
#### 我们会怎么处理?
1. **48小时内响应**:标记issue类型、优先级
2. **批量修正**:累积同类错误,用Agent批量修正而非逐个手工改
3. **规范更新**:如果是系统性问题,更新SKILL文档并重新运行相关章节
4. **贡献者致谢**:在commit message和更新日志中致谢报告者
### 长期愿景:众包质量迭代
未来计划:
- **公开质量看板**:实时展示各章节各类标注的置信度分数
- **众包审校系统**:社区成员可以在线提交修正建议,自动生成PR
- **置信度标注**:给每个实体/事件/关系标注AI的置信度,低置信度项优先人工复核
- **对抗性验证**:用不同模型独立标注同一文本,差异处自动标记为待审查
**核心理念**:**不追求一次性完美,追求可观测、可迭代的渐进完善**。开放数据+开放流程+社区协作,让知识库像开源软件一样持续演化。
---
**免责声明**:本项目由AI辅助生成,标注和知识提取中不可避免地存在错误和疏漏。我们正在与AI一起持续修正和完善。本知识库严格局限于《史记》本身的文本内容,不涉及史实考证。
---
**项目维护者**:[baojie](https://github.com/baojie) · **最后更新**:2026-03-21
## 赞助一杯咖啡
如果你觉得这个项目有意义,欢迎支持我继续做下去。数额随意,不用超过一杯咖啡钱。
<img width="201" height="277" alt="赞助一杯咖啡" src="https://github.com/user-attachments/assets/b546252c-b04b-4bce-97cd-e18afd48ad85" />