投研知识卡(research-kb)
Overview
把零散的原始研究资料(word / ppt / excel / pdf / markdown 笔记)沉淀成可被检索、可被引用、带贡献度权重的知识卡。本技能提供一套本地文件型、零外部服务依赖的知识库体系:
- 每张卡片是一个带 YAML frontmatter 的 Markdown 文件,元信息(行业、类型、来源、贡献度、状态、权重)可被脚本读取与排序;
- 入库脚本自动完成「判价值 → 贡献度评分 → 链接原文件 → 按类建卡」;
- 人工审核决定每张卡的最终状态与权重,并保留「来不及审也能用」的兜底机制;
- 方法论源自长江证券《如何让 AI 赋能研究》(非银知识库案例)与东吴证券《AI+Obsidian 管理投研知识库》,强调「判断是否重要不宜外包给 AI」「链接原文件而非一股脑导入」。
When to use
- 用户说「建个知识库」「整理研究笔记」「把这份研报/资料入库」「做成知识卡」;
- 用户要把 word/ppt/excel/pdf 中的要点抽取成结构化卡片;
- 用户要按贡献度筛选有价值信息、给知识打权重;
- 用户要审核、通过或驳回已入库的知识卡;
- 用户要基于已有知识库回答问题时,按权重优先引用已审核卡。
Quick Start(部署知识库)
首次在某项目/目录使用,先一键部署脚手架:
python <skill>/scripts/kb_init.py <目标目录> # 默认当前目录
kb_init.py 会在目标下创建 knowledge_base/,并复制模板、SOP 与运行脚本(kb_lib.py / kb_ingest.py / kb_review.py)。部署后知识库完全自包含,可直接在其目录下运行入库/审核。
> <skill> 指本技能目录:~/.workbuddy/skills/research-knowledge-base/。
> 部署脚本通过 KB_ROOT 环境变量指向新库,自动初始化 cards/index.md。
Workflow(5 步流程)
执行入库与审核时,遵循以下步骤。完整 SOP 与评分规则见 assets/README.md(部署后位于 knowledge_base/README.md)。
Step 1 — 判断重要 / 有价值
把原始资料放进 knowledge_base/raw/(或直接引用其绝对路径)。运行 kb_ingest.py 时,脚本会跳过过短、纯寒暄、无信息量的段落,只把「看起来有料」的块送进后续步骤。注意:长江研报强调「判断是否重要」这一步不宜完全外包给 AI,关键资料务必人工把关。
Step 2 — 建立贡献判断依据
脚本按规则给每个候选块打 contribution_score(0-100)并写 contribution_basis(为什么高/低),把「凭感觉」变成「有依据」。
评分逻辑(详见 assets/README.md 第三节):
- 高贡献(80-100):行业核心机制、底层因果、首次量化的关键数据、独家来源;
- 中贡献(50-79):具体企业基本面、政策要点、资金事实、明确技术路线;
- 低贡献(20-49):重复观点、套话、泛泛而谈、无新信息。
- 命中「值得注意的是/综上所述/空间广阔(无支撑)」等套话词即压分;命中「产能/过剩/卡脖子/壁垒/机制/量化数据」等即提分。
Step 3 — 链接到原始文件
每张卡自动写入 source 字段,指向原始 word/ppt/excel/pdf(可带页码),保证知识可溯源、可复核。践行长江研报原则:链接原文件位置,而非一股脑把全文导入。
Step 4 — 按分类创建知识卡
脚本根据内容关键词判定 type(政策/供需/价格成本/企业/资金/技术/缠论/其他),生成 KB-xxxx.md 草稿卡,状态默认 待审核、权重 1.0,并刷新 cards/index.md。
Step 5 — 人工审核(用户的最终权限)
用户审阅 cards/ 下的待审核卡,二选一:
- 通过:python kb_review.py --id KB-xxxx --note "数据扎实,通过" → 状态 已审核、权重 1.5(可用 --weight 自定);
- 驳回/修改:python kb_review.py --id KB-xxxx --reject --note "与已有卡重复" → 状态 已驳回、权重 0,不参与回答;也可直接编辑卡片 .md 的 frontmatter。
审核与权重机制(核心设计)
- 已审核卡:权重
>=1.5,回答时优先引用; - 待审核卡:权重
1.0,照样参与回答,但回答中标注[待审核]; - 已驳回卡:权重
0,不参与回答。
> 关键:既不卡流程,又保证用户的最终话语权。来不及审核的卡也能进知识库,但优先级低于用户审过的卡。
检索与引用约定
回答问题时:优先引用 已审核 卡(权重高);待审核 卡可用但需标注 [待审核];已驳回 卡不参与。同一结论若有多张卡,取权重高、来源新的。行业归类靠 industry,主题检索靠 tags。
命令速查
# 1) 在目标目录部署知识库脚手架(首次用)
python ~/.workbuddy/skills/research-knowledge-base/scripts/kb_init.py /path/to/project
# 2) 入库一份原始资料为草稿卡(默认在当前知识库下运行;
# --kb-root 可指向任意已存在的知识库根目录)
python kb_ingest.py raw/某资料.md --industry "化工/可降解塑料" --contributor "祁老师"
python kb_ingest.py /桌面/某研报.pdf --kb-root /path/to/knowledge_base --industry "化工/可降解塑料"
# 3) 审核通过 / 驳回一张卡
python kb_review.py --id KB-2026-0001 --note "数据扎实,通过"
python kb_review.py --id KB-2026-0001 --reject --note "与已有卡重复"
# 4) 重建索引(卡片变动后)
python kb_lib.py
Resources
scripts/kb_init.py:一键部署知识库脚手架(创建目录、复制模板/SOP/脚本、初始化索引)。scripts/kb_ingest.py:步骤 1-4,原始资料 → 待审核草稿卡。scripts/kb_review.py:步骤 5,人工审核 → 改状态/权重。scripts/kb_lib.py:共享工具(读取/写入卡片、解析 frontmatter、重建索引、贡献度评分、分类、分块)。所有脚本零外部依赖(仅 docx 读取需 python-docx)。assets/knowledge_card_template.md:知识卡模板(建卡照此来,含全部字段与填法速查)。assets/README.md:知识库完整 SOP 与贡献度评分规则(部署后位于knowledge_base/README.md)。