Files
TWBG_Materials/知识库Agent构建.md
2026-05-30 16:22:29 +08:00

572 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 知识库 Agent 构建方案:面向 `核心资料汇总_MD` 的文本 + 图片多模态版本
问题开始时间2026-05-30-16-16-29
## 0. 本次下载与阅读范围
本次已在 `文档润色流和知识库构建流` 中保存:
- Karpathy LLM Wiki 原文:`文档润色流和知识库构建流/llm-wiki.md`
- 原文 URL<https://gist.githubusercontent.com/karpathy/442a6bf555914893e9891c11519de94f/raw/ac46de1ad27f92b28ac95459c782c07f6b8c964a/llm-wiki.md>
- Claude Scholar Git 下载:`文档润色流和知识库构建流/claude-scholar-upstream`
- 重点参考:`OBSIDIAN_SETUP.zh-CN.md``commands/kb-*.md``skills/obsidian-*.md``skills/zotero-obsidian-bridge/SKILL.md`
当前本项目材料状态:
- `核心资料汇总_MD` 中已有 Markdown19 个
- `核心资料汇总_MD` 中已有图片1718 个
- Mineru 输出还包含 `*_content_list.json``*_content_list_v2.json``*_middle.json``*_model.json``*_origin.pdf``*_layout.pdf`
这些文件足够构建一个“文本 + 图片 + 元数据”的多模态知识库。
## 1. LLM Wiki 核心思想
Karpathy 的 `llm-wiki.md` 反对只把材料丢进传统 RAG 后每次提问重新检索。它建议让 LLM 在原始材料和用户之间维护一个持久 Markdown Wiki。
核心区别:
```text
传统 RAG:
Raw documents -> query-time chunk retrieval -> answer
LLM Wiki:
Raw sources -> LLM-maintained persistent wiki -> query / synthesis / writing
```
关键原则:
- 原始材料不可改,是 source of truth。
- Wiki 是 LLM 维护的结构化知识层。
- 每次新增 source不只是建索引而是更新实体页、主题页、综合页、矛盾记录、交叉链接和日志。
- 高价值问答也可以沉淀成新 Wiki 页面,让知识随着使用持续积累。
- Obsidian 可作为浏览和图谱界面LLM 负责编辑和维护。
对本项目的目标:
```text
核心资料汇总_MD
-> Source Notes
-> Evidence Records
-> Project Knowledge Pages
-> Writing Assets / Claim Ledger / Figures Index
-> 面向申报、成果总结、答辩、知识问答的持久知识库
```
## 2. 三层架构
### 2.1 Raw Sources原始资料层
原则:只读、完整保留、可追溯。
建议直接保留现有目录:
```text
核心资料汇总/
*.pdf
核心资料汇总_MD/
{材料名}/
{材料名}.md
{材料名}_origin.pdf
{材料名}_layout.pdf
{材料名}_content_list.json
{材料名}_content_list_v2.json
{材料名}_middle.json
{材料名}_model.json
images...
```
读取策略:
- `.md`:主文本来源。
- `images/` 或同目录图片:图、表、流程图、系统界面、架构图、截图。
- `*_content_list_v2.json`:段落、图片、表格等结构化块索引,适合自动抽取图文位置。
- `*_origin.pdf`:原始可核对来源。
- `*_layout.pdf`:用于排版或页面定位复核。
### 2.2 WikiLLM 维护层
建议新建独立知识库目录,不直接混在 raw source 中:
```text
项目知识库/
index.md
log.md
00-项目总览.md
01-问题与任务板.md
Sources/
Docs/
Proposals/
Theses/
BusinessPlans/
Slides/
Images/
Knowledge/
项目脉络.md
技术体系.md
手术图文报告生成.md
手术导航与配准.md
腔镜视觉智能分析.md
SurClaw系统.md
自主协同机器人.md
临床价值与应用场景.md
成果转化与知识产权.md
Claim-Evidence-Ledger.md
Figures/
figure-index.md
image-notes/
Writing/
项目申报书素材库.md
成果总结素材库.md
答辩PPT素材库.md
商业计划书素材库.md
Maps/
project-map.canvas
evidence-map.canvas
Daily/
Archive/
_system/
schema.md
lint-report.md
```
如果使用 Claude Scholar 的 Obsidian KB 结构,可采用:
```text
Research/{project-slug}/
00-Hub.md
01-Plan.md
02-Index.md
Sources/
Papers/
Web/
Docs/
Data/
Interviews/
Notes/
Knowledge/
Experiments/
Results/
Reports/
Writing/
Daily/
Maps/
Archive/
_system/
registry.md
schema.md
lint-report.md
```
### 2.3 SchemaAgent 规则层
需要一个项目规则文件,建议放在:
```text
项目知识库/_system/schema.md
```
最小规则:
- Raw sources 只读,不修改 `核心资料汇总``核心资料汇总_MD`
- 每个原始材料先生成 `Sources/*` 下的 Source Note。
- 每个可复用结论必须写成 Evidence Record。
- 只有通过证据门槛的结论才能进入 `Knowledge/*`
- 面向写作的内容进入 `Writing/*`,但必须回链 Evidence Record。
- 图片必须建立 Image Note记录路径、来源材料、页码/图号、视觉描述、可支持论断、复用建议。
- `index.md` 维护内容索引,`log.md` 维护时间线。
- 不删除历史,过时内容进入 `Archive/` 或在页内标注 superseded。
## 3. 多模态入库流程
### 3.1 文本资料入库
单份文档处理流程:
```text
读取 {材料名}.md
-> 识别材料类型
-> 建 Source Note
-> 抽取关键事实、指标、系统模块、项目目标
-> 生成 Evidence Records
-> 更新 Knowledge 页
-> 更新 Writing 素材库
-> 更新 index.md 与 log.md
```
材料类型建议:
| 类型 | 例子 | 主要抽取内容 |
|---|---|---|
| 博士论文 | `※2026_3_博士毕业-论文终稿...` | 方法、实验、系统设计、创新点、结果、图表 |
| 答辩 PPT | `※2026_2_博士毕业-毕业答辩PPT...` | 概念图、汇报逻辑、成果亮点、答辩表述 |
| 项目申请书 | `2026_申请表...``2026_申报书...` | 目标、研究内容、技术路线、预算/团队/转化 |
| 支撑材料 | `2026_项目支撑材料...` | 证据附件、应用基础、前期成果 |
| BP | `BP-2024...``BP-2025...` | 产品定位、市场、商业模式、竞争优势 |
| 奖项/申报 | `2016_省奖推荐书``研究生创新成果奖` | 成果描述、社会价值、专家认可 |
Source Note 模板:
```markdown
# Source: {材料名}
source_type:
raw_path:
md_path:
origin_pdf:
date_ingested:
status: draft | reviewed | promoted
## 一句话摘要
## 材料结构
## 可复用事实
## 可复用表述
## 图表与图片
## Evidence Records
## 可进入 Knowledge 的主题
## 写作复用建议
## 限制与风险
```
Evidence Record 模板:
```markdown
## ER-{YYYYMMDD}-{source_slug}-{序号}
Source:
Source type:
Location: 章节 / 页码 / 图片路径 / JSON block id
Claim supported:
Evidence:
Limitations:
Related topics:
Claim strength: speculative | stated | observed | supported | strong
Allowed wording:
Forbidden stronger wording:
Links:
```
### 3.2 图片资料入库
Karpathy 的建议是把图片本地化,因为外链会失效,而且 LLM 需要单独查看关键图片。当前 `核心资料汇总_MD` 已经有 1718 张图片,适合单独建立 `Figures/` 层。
图片处理流程:
```text
扫描 Markdown 图片引用与 content_list JSON
-> 建 figure-index.md
-> 对关键图片建立 Image Note
-> OCR/人工描述图片文本
-> 记录图中节点、箭头、坐标轴、界面元素、表格字段
-> 关联 Evidence Record
-> 标注可复用写作位置
```
图片分类:
| 图片类型 | 处理重点 |
|---|---|
| 系统架构图 | 模块名称、数据流、输入输出、算法组件 |
| 技术路线图 | 任务分解、流程顺序、关键里程碑 |
| 手术图像/腔镜图像 | 病灶、器械、组织、场景、标注含义 |
| 实验结果图 | 坐标轴、分组、指标、趋势、统计显著性 |
| 表格截图 | 表头、指标、对比对象、结论 |
| 产品/BP 图 | 产品定位、用户流程、商业模式、市场数据 |
| 证书/公示/证明材料 | 机构、时间、编号、证明对象、可支撑论断 |
Image Note 模板:
```markdown
# Image: {短标题}
image_path:
source_document:
source_md:
page_or_block:
date_ingested:
image_type:
## Visual Description
## OCR / Extracted Labels
## What This Image Supports
## Evidence Records
## Reuse Plan
- 可用于:立项依据 | 技术路线 | 研究基础 | 成果总结 | BP | 答辩
- 是否需要重绘:
- 重绘建议:
## Links
```
图片调用口令:
```text
请读取这份 Markdown 的图片引用和 content_list_v2.json
筛选出系统架构图、技术路线图、实验结果图和证据证明类图片,
为每张关键图片建立 Image Note并说明它能支撑哪些项目论断。
```
```text
请查看这张图片,提取图中模块、箭头方向、文字标签、坐标轴和可复用结论,
并判断它适合放入申报书的哪个章节。
```
## 4. Index 与 Log 设计
`index.md` 是内容索引,服务于导航和查询。
建议字段:
```markdown
# Index
## Sources
| Note | Type | Summary | Status | Key Topics |
## Knowledge
| Page | Summary | Evidence Count | Last Updated |
## Figures
| Image Note | Type | Source | Reuse |
## Writing Assets
| Page | Purpose | Linked Evidence |
```
`log.md` 是时间线,服务于追踪和增量维护。条目使用稳定前缀,便于用 `rg` 或 shell 查询:
```markdown
## [2026-05-30-16-16-29] ingest | 初始化核心资料汇总_MD
- Processed:
- Created:
- Updated:
- Risks:
```
## 5. Query / Ingest / Lint 三类操作
### 5.1 Ingest新增材料
```text
目标:把原始材料变成 Source Note + Evidence Record + Knowledge 更新。
输入:单个 md/pdf/image/json 或一个文件夹。
输出Sources/*、Knowledge/*、Figures/*、index.md、log.md。
```
建议口令:
```text
请入库 `核心资料汇总_MD/2026_申请表-...`
1. 建 Source Note
2. 抽取 Evidence Records
3. 更新“自主协同机器人”“临床价值与应用场景”“成果转化与知识产权”页面;
4. 建立关键图片 Image Notes
5. 更新 index.md 和 log.md。
```
### 5.2 Query面向写作和问答
```text
目标:先查 Wiki再查 Raw Sources输出可追溯回答。
```
回答格式建议:
```markdown
## 结论
## 证据
| Claim | Evidence Record | Source |
## 可写入正文的表述
## 风险或待补证据
## 建议更新的 Wiki 页面
```
示例口令:
```text
请基于知识库回答SurClaw 手术图文病历报告自动生成系统有哪些核心创新?
要求每个创新点至少回链 1 条 Evidence Record 和 1 个原始材料路径。
```
### 5.3 Lint知识库健康检查
周期性检查:
- `index.md` 是否覆盖所有 Source Note。
- Source Note 是否都有 Evidence Record。
- Knowledge 页是否有孤立结论。
- Writing 页是否引用了 Evidence Record。
- 图片是否存在断链。
- 是否有矛盾说法,例如同一系统名称、专利数量、临床应用范围前后不一致。
- 是否有“强结论但弱证据”的写法。
示例口令:
```text
请对项目知识库做一次 lint
检查断链、孤立页、未引用证据的论断、重复主题页、过强表述和图片缺失。
输出 P0/P1/P2 问题清单,并给出建议修复路径。
```
## 6. 与 Claude Scholar 命令的对应关系
| 本方案操作 | Claude Scholar 命令/Skill | 用法 |
|---|---|---|
| 初始化知识库 | `/kb-init` / `obsidian-project-kb-core` | 创建 `Research/{project-slug}/` 或项目本地 KB |
| 导入材料 | `/kb-ingest` / `obsidian-source-ingestion` | 把 `核心资料汇总_MD` 路由到 `Sources/Docs` |
| 生成知识页 | `/kb-promote` | 将稳定 Evidence 提升到 `Knowledge/` |
| 生成文献综述 | `/kb-literature-review` | 后续外部论文进入 `Sources/Papers` 后使用 |
| 刷新索引 | `/kb-index` | 更新 `02-Index.md` 或本地 `index.md` |
| 生成关系图 | `/kb-map` / `obsidian-kb-artifacts` | 生成 `project-map.canvas``evidence-map.canvas` |
| 健康检查 | `/kb-lint` | 检查 registry、断链、canvas、索引覆盖 |
| 同步维护 | `/kb-sync` | 批量入库或移动文件后执行 |
| 每日记录 | `/kb-log` | 记录当天处理了哪些材料 |
## 7. 面向本项目的主题页建议
第一批应建主题页:
| 页面 | 内容 |
|---|---|
| `项目脉络.md` | 从微创手术导航到图文报告生成、智能感知、机器人协同的演进 |
| `核心成果时间线.md` | 项目、论文、专利、成果转化、公示、奖项、BP 时间线 |
| `技术体系.md` | 视觉分析、事件识别、图文生成、导航配准、机器人协同等模块 |
| `手术图文报告生成.md` | SurClaw、术中事件理解、自动报告、医保质控/费控 |
| `手术导航与配准.md` | 磁定位、多模态融合、组织自动配准、术中导航 |
| `腔镜视觉智能分析.md` | CV 模型、场景识别、器械/组织/动作分析 |
| `自主协同机器人.md` | 肝胆胰微创手术智能感知与机器人系统 |
| `临床价值与应用场景.md` | 医保质控、临床记录、教学培训、手术导航、机器人辅助 |
| `成果转化与知识产权.md` | 专利许可、公示、公司化、BP、产品价值 |
| `Claim-Evidence-Ledger.md` | 所有可写入申报书/答辩/成果总结的核心论断 |
| `Figure-Reuse-Index.md` | 可复用图片、图表、系统界面、技术路线图索引 |
## 8. 推荐执行顺序
### Phase 1初始化
```text
1. 建 `项目知识库/` 基础目录。
2. 建 `index.md`、`log.md`、`_system/schema.md`。
3. 扫描 `核心资料汇总_MD`,建立 source inventory。
4. 按材料类型分组。
```
### Phase 2批量 Source Notes
```text
1. 每份 Markdown 生成一个 Source Note。
2. 先只写摘要、材料结构、关键事实、图片清单。
3. 不急于生成综合结论。
```
### Phase 3Evidence Records
```text
1. 从 Source Notes 抽取项目核心论断。
2. 每条论断标注 source、location、claim strength。
3. 建 `Claim-Evidence-Ledger.md`。
```
### Phase 4Knowledge Pages
```text
1. 将重复出现且证据充分的主题提升到 `Knowledge/`。
2. 建立 wikilink。
3. 标记矛盾、重复和待补证据。
```
### Phase 5Figures
```text
1. 从 1718 张图片中筛选关键图。
2. 建 `figure-index.md`。
3. 为系统架构图、技术路线图、结果图和证明材料建 Image Notes。
```
### Phase 6Writing Assets
```text
1. 为申报书、成果总结、答辩、BP 建素材库。
2. 每段素材回链 Evidence Record。
3. 对弱证据素材标注“只能作为目标/假设/预期”。
```
### Phase 7Lint 与备份
```text
1. 检查断链、孤立页、弱证据强表述。
2. 更新 index.md、log.md。
3. Git 提交并推送 Gitea。
```
## 9. 多模态知识库调用方法
### 9.1 查文本
```bash
rg "SurClaw|手术图文|导航|机器人|医保质控|成果转化" 核心资料汇总_MD 项目知识库
```
Agent 口令:
```text
请先读 `项目知识库/index.md` 和 `Claim-Evidence-Ledger.md`
再回答“项目核心创新是什么”,每个结论必须给出来源路径。
```
### 9.2 查图片
```bash
find 核心资料汇总_MD -type f \( -iname '*.png' -o -iname '*.jpg' -o -iname '*.jpeg' \)
```
Agent 口令:
```text
请根据 `Figure-Reuse-Index.md` 找出适合放入“技术路线”和“研究基础”的图片,
逐张查看并说明:图意、支持论断、是否需要重绘、建议图注。
```
### 9.3 生成写作素材
```text
请基于 `项目知识库/Knowledge/手术图文报告生成.md` 和 `Claim-Evidence-Ledger.md`
生成 800 字“项目基础与创新性”草稿。
要求每段后用 HTML 注释写出 Evidence Record ID。
```
### 9.4 增量更新
```text
我新增了几份 PDF/MD请执行增量入库
1. 只处理新增材料;
2. 不改 raw source
3. 更新 Source Note、Evidence Ledger、index 和 log
4. 报告新增/更新/待人工复核数量。
```
## 10. 风险控制
- 不把 `核心资料汇总_MD` 当作可任意重写的知识库层,它是 Mineru 产物和原始来源的近似转写,应保持只读。
- 商业计划书中的市场规模、收益、产品领先性等表述应标注为“商业表达/待核验”,不能直接提升为强事实。
- 博士论文和项目申报书中的实验结果可作为项目内部证据,但面向公开写作时仍要核查伦理、数据来源、发表状态和可公开范围。
- 图片可视信息必须有人工或 Agent 描述,不能只依赖文件名。
- 高价值综合页要保留反证、限制和“不确定”部分,避免知识库越来越像宣传稿。
- 每次批量入库后必须更新 `log.md`,并通过 Git 保留版本历史。