# exam-knowledge-base **Repository Path**: zavionwang/exam-knowledge-base ## Basic Information - **Project Name**: exam-knowledge-base - **Description**: 通用考试知识库:AI 备考搭子,不用啃教材直接刷题就能过。索引→精讲→错题→检索协议,任何考试可复用(考公/考研/CIA/CISA/CPA/CFA/法考),CIA-Part3 为完整实例 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-08-19 - **Last Updated**: 2026-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📚 exam-knowledge-base · 通用考试知识库 > 刷了 1000 道题,错题还是那几道反复错; > 题库解析只告诉你「选 B」,不告诉你 A/C/D 为什么错; > 问 AI 回答飘忽,还分不清哪句是真的。 **有了这个项目,考生不用再啃教材——直接刷题就能过。** `exam-knowledge-base` 是给考生配的 **AI 备考搭子**: | 你真正关心的 | 这个项目怎么解决 | |---|---| | 不想啃 800 页教材,没时间 | **教材已提炼成精讲笔记,刷题即学习**:边刷边讲,考点从题目里长出来 | | 错题反复错,错题本从没回看过 | **错题结构化回写,同类题再出现时 AI 会主动关联你上次错在哪** | | 解析太浅,只给答案不讲理 | **四段式讲透:考点定位 → 准则/大纲依据 → 思路拆解 → 每个干扰项为什么错** | | 问 AI 怕编造,答案没出处 | **每句话锚定知识库原文**(准则条款 / 教材章节),可验证、可追溯 | | 备考时间紧 | **检索毫秒级、讲题秒出**(索引定位 ~1 ms;全库兜底检索 ~0.1 s) | | 考完就忘,笔记白做 | **备考即建库**:刷题过程自动沉淀成个人知识库,考完试库也建好了,AI 越用越专业、越用越懂你 | ### 你的考试,也能用 > **适用所有考试**:考公/考研 · CIA · CISA · CPA · CFA · FRM · 法考 · 软考 · PMP · 一建 · 教资 · 执业医师 · 雅思/托福 … > > 只要考试有「考纲 + 题库」,就能套用这套体系——不啃教材,直接刷题就能过。 ![License: MIT](https://img.shields.io/badge/license-MIT-green.svg) ![Markdown](https://img.shields.io/badge/format-Markdown-blue.svg) ![Obsidian-ready](https://img.shields.io/badge/Obsidian-ready-7C3AED.svg) ![Agent-ready](https://img.shields.io/badge/Agent--ready-FF6B6B.svg) --- ## 1. 为什么值得用 | 特性 | 说明 | |------|------| | 🧠 **为 Agent 而生** | 知识库是给 Claude Code / dsh 等 AI 的「考试记忆体」——用户刷题,Agent 讲题 | | 🔍 **四级定位引擎** | 板块 → 章 → 节 → 知识点,一道题 3 秒定位到对应笔记 | | 📋 **固定讲题协议** | 四段式输出:考点定位 → 准则/大纲依据 → 思路拆解 → 干扰项解析,稳定可复用 | | 🔁 **错题闭环** | 错题结构化回写、带知识点 ID 关联,**越刷越准** | | 🌱 **备考即建库** | 一边备考一边构建**本地个人知识库**,考完试知识资产留下,AI 越用越懂你 | | 📦 **即插即用** | 复制目录 → 换考纲 → 开讲,新科目 10 分钟上手 | | 🗂️ **Obsidian 原生** | 双链、索引、纯 Markdown,任何 Markdown 编辑器可用 | | 🛠️ **配套 CLI** | `tools/` 六件套:检索 / 回写 / 知识点ID / 覆盖率体检 / 链接体检 / 错位字修复。零依赖、离线可用、**102 项测试** | ## 2. 以题代学:不读教材,刷题即过 传统备考路径是 **教材 → 笔记 → 刷题**:先花几个月啃教材,再做题检验——教材读完一半,前面全忘了。 本项目把路径倒过来:**刷题 → 讲透 → 沉淀**,教材的精华已经在精讲笔记里,不需要你自己提炼。 ``` 传统:800 页教材 ──► 自己整理笔记 ──► 刷题 ──► 错题没人讲 (耗时 3-6 个月,学了就忘) 本项目:直接刷题 ──► AI 四段式讲透 ──► 考点锚定精讲笔记 ──► 错题入库 (每题 2-5 秒) (教材已提炼好) (越刷越准) ``` > 对考生来说:**教材只是备查的工具书,不再是学习的主线。** ## 3. 备考即建库:考完试,你的知识库也建好了 > 别人备考是消费知识,你备考是**投资知识**。 - 每道错题都带知识点 ID 回写错题库——**错过的、薄弱的,全部沉淀下来** - 考试结束那天,一个**只属于你的本地个人知识库**也建成了,不会随考试归零 - **AI 越用越懂你**:它知道你错过的每个知识点,讲题越来越针对你的软肋 - 本地私有、离线可用,换科目直接复制目录 ## 4. 相比「题库自带解析」和「直接问 AI」,强在哪 > 题库解析是**给答案**,直接问 AI 是**凭记忆**,本项目是**让 AI 有据可依地讲**。 | 维度 | 题库自带解析 | 直接问 AI | **✅ 本项目** | |---|---|---|---| | 讲题深度 | 只讲本题("选 B 因为 B 对"式) | 看模型发挥,无固定结构 | ✅ **固定四段式**:考点定位 → 依据 → 思路拆解 → 干扰项解析 | | 干扰项处理 | 多数不解释为什么错 | 时有时无,看运气 | ✅ **强制拆解每个干扰项** | | 知识关联 | 题目孤立,题与题之间无连接 | 无关联 | ✅ **每题锚定章节笔记 + 知识点 ID**,一道题带出一章知识 | | 错题积累 | 不记录你错在哪、为什么错 | 会话结束即忘,下次还是陌生人 | ✅ **错题结构化回写,带知识点 ID 关联,越刷越准** | | 答案可追溯 | 解析无出处,无法验证 | 无出处,且**容易幻觉编造** | ✅ **锚定知识库原文**(准则条款 / 教材章节 / 笔记) | | 讲题一致性 | 稳定但浅 | 每次回答风格飘忽、前后矛盾 | ✅ **检索协议约束**,输出结构稳定 | | 针对性 | 千人一面 | 无记忆 | ✅ **错题库记录你的薄弱点**,Agent 讲题时针对性强化 | ## 5. 实例:CIA-Part3(首个完整落地) - **20 章**大纲精讲(治理 / 风险 / IT / 财务 / 管理会计 / 全球商业环境……) - **7 篇** IPPF 系列精讲(强制性指南 + 属性/工作标准全覆盖,60 考点) - **错题库**:带知识点 ID 的结构化错题记录 - 全程由 **多 Agent 工作流**搭建,方法论已沉淀为可复现流程 ### 同一道题,三种解析 > 同一道审计真题,三种方式得到的解析——高下立判。 ![同一道题,三种解析对比(左:题库自带解析 · 中:未使用本项目的 AI 解析 · 右:本项目回答)](docs/comparison-3ways.png) > 注:本题题库平台答案为 D;本项目经四段式论证选 A 并逐项拆解 D 为何错——哪边讲得透,一目了然。 ## 6. 实测性能:检索毫秒级,秒出答案 | 指标 | 实测值 \* | |---|---| | **本仓库(公开子集)** | **32 个可检索 .md · 10,361 行** | | ↳ 全库检索(纯检索,脚本内计时) | **~18 ms** | | ↳ 全库检索(含 Python 进程启动,命令行) | **~0.1 s** | | **作者私有全库** | 85 个文件 · 111,526 行 | | ↳ 全库检索(纯检索) | **~80–110 ms** | | 协议路径:查索引定位 → 只读 1 个文件 | **~1–2 ms** | | 一次完整讲题 | **秒出答案**——检索+读取约 0.1 s,其余是 AI 生成讲解的时间 | > \* 实测环境:Windows 11 + Python 3.14,3 轮取最优;数字由 `tools/kb-search.py` 实测得出,**你可以自己复现**。 > 「纯检索」= 脚本内计时(不含 Python 进程启动约 60–80 ms);命令行一次调用请按「含启动」那一行算。 > **全库检索是兜底与校验路径**;日常讲题走「先查索引 → 只读目标文件」,那才是毫秒级——见下节。 ## 7. 为什么这么快:检索原理 ``` 问题 ──► ① 查 _索引(三级映射)──► ② 定位文件名 ──► ③ 打开单文件 ──► ④ 按协议讲题 O(1) 命中 ~1 ms ~1 ms LLM 生成(秒级) ``` 1. **文件即数据库**:纯 Markdown 文件系统,无数据库、无索引构建、无启动开销——检索的本质是文件系统 IO,毫秒级 2. **索引先行,不扫全库**:`_索引.md` 把板块→章→节→知识点映射成目标文件名,Agent 先查索引**精确定位**,而不是全文扫描 3. **文件名即地址**:`01-治理.md`、`B-03 属性标准1200-1322.md` 编号即路径,索引命中后直接按名打开 4. **协议约束最小读取**:检索协议规定只读定位到的目标文件——每次讲题实际只读取 1 个文件(几十 KB),全库 5.68 MB 根本不需要加载 5. **按需懒加载**:Agent 只在需要时打开对应笔记,响应速度与知识库总量**无关**,只取决于单文件大小 > 结论:**知识库再大,检索也是毫秒级**;「秒出答案」的瓶颈在 AI 生成讲解(约 2-5 秒),而不是检索。 > > 上面这条是**协议路径**(先查索引 → 只读目标文件)。当 AI 需要跨文件核对、或你不确定该查哪一节时, > 用 `tools/kb-search.py` 做**全库兜底检索**——见下节。 ## 8. 配套工具:让协议真正跑起来的六个命令 协议(`检索协议-模板.md`)规定「怎么讲题」,`tools/` 里的六个工具负责「**怎么把知识点找出来、怎么让知识库越用越厚**」。纯 Python 标准库,**零依赖、零联网、离线可用**。 | 工具 | 干什么 | 关键设计 | |---|---|---| | `tools/kb-search.py` | 全库检索 / 索引定位 / 看原文段 | 排序 = **目录层级(精讲笔记优先)→ BM25 相关度**;多词 OR 召回;表头给**真实命中总数** | | `tools/kb-backfill.py` | 把外部检索的结论**回写**进精讲笔记 | **无来源不入库**;只追加不覆写正文;自动备份;同知识点重复写 = 更新 | | `tools/kb-id.py` | 知识点 ID 注册表与校验 | 考点号全部从精讲笔记抽取(**笔记是唯一权威来源**);抓「同一知识点多种写法」 | | `tools/kb-gaps.py` | 覆盖率体检(🔴/🟡/无引证) | 只认**带行号的本地锚点**和**指向权威域名的链接**;双链里的「待核」不串味 | | `tools/kb-links.py` | 内部链接体检 + `--fix` | 抓「跨文件链接写成同文件锚点」这类**不报错只跳空**的静默毛病 | | `tools/kb-fix-glyphs.py` | PDF 字形错位修复 | 字符级只动「永不合法」的生僻错字,合法字走词组规则;改前自动备份 | ```bash python tools/kb-search.py "BCP 业务连续性" --project CIA-Part3 # 多词用空格分隔(OR 召回) python tools/kb-search.py --locate "重要性" --project CIA-Part3 # 只在索引层定位章节 python tools/kb-backfill.py --from entry.json # 答完外部检索的题后回写 python tools/kb-id.py --check --project CIA-Part3 # 错题库 ID 自检 ``` **102 项回归测试**:`python tools/test_kb_search.py`、`test_kb_backfill.py`、`test_kb_id.py`、`test_kb_tools.py`。详见 [`tools/README.md`](tools/README.md)。 > 为什么一个知识库项目要带测试:这三个工具会**写进你的知识库**。测试里死盯三条硬约束—— > 回写必须让正文**字节不变**、无来源必须拒绝且不碰文件、重复写只能有一条。 ## 9. 快速开始(10 分钟) ### 第一步:一键下载 ```bash # 方式一:git clone(推荐,后续更新/同步方便) # GitHub(海外/国际用户): git clone https://github.com/ZavionWang/exam-knowledge-base.git # Gitee 镜像(国内用户,更快更稳): git clone https://gitee.com/zavionwang/exam-knowledge-base.git cd exam-knowledge-base # 方式二:下载 ZIP(不想用 git 的话) # 仓库页面右上角 Code → Download ZIP → 解压即可,效果完全一样 ``` ### 第二步:把这段提示词粘给你的 AI 打开你的 AI 客户端(Claude Code / dsh / 任何支持读文件的 AI),粘贴下面这段话(把 `<项目路径>` 换成你解压/克隆的实际路径): ```text 我下载了考试知识库项目(exam-knowledge-base),项目路径:<项目路径> 请先读项目根目录的 START-HERE.md,然后严格按里面的引导协议执行: 1. 问我建档需要的信息(考什么考试、教材格式、教材路径、考纲) 2. 根据我的回答完成建档:建科目目录、复制骨架、生成索引、摄入教材、实例化检索协议 3. 建档完成后告诉我怎么开始刷题 ``` AI 会先读 `START-HERE.md`,然后问你四个问题,再一步步完成建档。 ### 第三步:回答四个问题 你的 AI 会先问你: 1. **考什么考试?**(考公/考研 · CIA · CPA · CFA · 法考 · 软考…) 2. **教材是什么格式?**(电子版 PDF / 扫描件 / Word) 3. **教材存放在哪?**(文件夹路径) 4. **有官方考纲吗?**(大纲 / 章节列表) ### 第四步:开始刷题 回答后 AI 自动建档:建科目目录 → 复制骨架 → 按考纲生成索引 → 摄入教材 → 实例化检索协议。然后直接发题: ``` 用户发题 → 查 _索引 定位(板块→章→节→知识点) → 打开对应章节精讲 → 四段式输出: 考点定位 → 准则/大纲依据 → 思路拆解 → 干扰项解析 → 错题回写错题库(带知识点 ID) ``` ## 10. 目录结构 ``` exam-knowledge-base/ ├── START-HERE.md # 📌 开机引导:AI 建档协议(先读这个) ├── 考试知识库-搭建方法论.md # 完整搭建流程 v3.1(PDF 摄入→精讲→错题→检索协议) ├── 检索协议-模板.md # 📌 通用协议模板(复制到你的科目后实例化) ├── _索引-骨架模板.md # 📌 索引空骨架(复制后按考纲填充) ├── tools/ # 🛠️ 配套 CLI 六件套:检索 / 回写 / 知识点ID / 覆盖率 / 链接 / 错位字(零依赖,102 项测试) └── CIA-Part3/ # 📌 示例实例:CIA Part 3(结构可复制到任何考试) ├── _索引.md # 三级定位索引(板块→章→节→知识点) ├── 检索协议.md # Agent 讲题协议(模板的 CIA 实例) ├── 思维导图.md # 科目全景图 ├── 精讲笔记/ # 20 章大纲精讲 + 7 篇 IPPF 系列精讲 └── 错题库/ # 错题记录 + 汇总(知识点 ID 关联) ``` ## 11. 免责声明 - 本仓库包含**个人原创整理**的精讲笔记、错题、索引与方法论 - **不含教材原文全文与商业题库题目全文**(错题记录已脱敏,仅保留考点与复盘) - 精讲笔记含 IPPF 条款**短引**(© IIA 2017,已逐处标注),仅供学习交流,完整文本请购买正版 IPPF - 笔记基于公开考试大纲与个人理解整理,请以官方教材为准 ## 12. License MIT © 2026 ZavionWang