一个可开源的 CodeBuddy Skill:把粘贴的文章或本地 Markdown / TXT 文件,转换成 5–8 张知识卡片。每张卡片只讲一个知识点,包含「标题、核心知识、简明解释、例子或自测问题」。
设计原则:提取真正重要的知识,删除重复内容,绝不编造原文没有的信息;信息不足时不会强行凑数量。
阅读长文后,人往往难以快速抓住「哪些才是真正值得记住的知识点」,也容易把铺垫、重复、空话误当作重点。
本 Skill 解决的就是这个痛点:把一段零散、冗长的原文,自动提炼成结构统一、彼此不重复、且严格忠于原文的知识卡片,方便复习与自测。它刻意约束三点:
- 不编造:只输出原文中确实存在的知识,不添加外部事实、数据或结论。
- 不去重失败:同一观点只出现在一张卡片里,删除重复表述。
- 不凑数:原文信息密度低时,如实减少卡片数量并说明理由,而不是硬凑到 5–8 张。
- 两种输入:直接粘贴文本,或指定本地
.md/.txt文件路径(文件不存在时如实报错,不会猜测内容)。 - 单点聚焦:每张卡片只讲一个知识点,结构统一,便于复习。
- 智能提取:自动识别原文中真正重要的定义、原理、方法、事实、易错点,过滤铺垫、过渡与空话。
- 自动去重:合并相同或近似的观点,删除冗余卡片。
- 诚实定量:目标 5–8 张;信息不足时输出更少并说明原因。
- 自测友好:每张卡片附带一个来自原文的例子,或一个检验理解的自测问题。
卡片四字段:
| 字段 | 说明 |
|---|---|
| 标题 | 名词短语,命名这一个知识点 |
| 核心知识 | 1–2 句,准确陈述该点 |
| 简明解释 | 2–4 句大白话,说明「为什么重要 / 怎么理解」 |
| 例子或自测 | 来自原文的例子,或一个检验理解的自测问题 |
本 Skill 无需依赖、无需编译,只要放入 CodeBuddy 的 skills 目录即可。
方式 A:作为项目级 Skill(随仓库共享)
将本仓库克隆 / 下载后,确保 skills/make-knowledge-cards/ 位于项目根目录的 .codebuddy/skills/ 下:
# 若仓库根还没有 .codebuddy/skills,可这样放置:
mkdir -p .codebuddy/skills
cp -r skills/make-knowledge-cards .codebuddy/skills/即把
skills/make-knowledge-cards/整个目录移动到.codebuddy/skills/make-knowledge-cards/。
方式 B:作为用户级 Skill(跨项目可用) 复制到用户目录(路径因系统而异):
# Windows (PowerShell)
Copy-Item -Recurse skills/make-knowledge-cards "$env:USERPROFILE/.codebuddy/skills/"
# macOS / Linux
cp -r skills/make-knowledge-cards ~/.codebuddy/skills/方式 C:通过 CodeBuddy 设置导入
在 CodeBuddy 设置 → Skills 中点击「导入 Skill」,选择本仓库的 skills/make-knowledge-cards/ 目录即可。
安装后无需重启,向 CodeBuddy 提出需求时会自动触发。
打开包含该 Skill 的项目(或在已安装用户级 Skill 的任意项目),向 CodeBuddy 提出需求,例如:
- 粘贴一段文章并说:「把上面的内容做成知识卡片」
- 「读取
tests/tech_attention.md,生成知识卡片」 - 「把这篇关于罗马帝国的笔记整理成学习卡片」
Skill 会自动完成:阅读原文 → 提取候选知识点 → 过滤重要项并去重 → 按卡片格式生成 Markdown 输出。
注意力机制(Attention)是深度学习中一种让模型在处理序列数据时,
自动聚焦于最相关部分的技术……传统 RNN 需要按顺序处理输入,难以并行,
且长序列下容易遗忘早期信息。# 知识卡片:注意力机制
## 卡片 1:注意力机制是什么
- **核心知识:** 注意力机制是一种让模型在处理序列时,
自动为不同输入位置分配不同权重、聚焦于最相关部分的技术。
- **简明解释:** 它解决了模型“该看哪里”的问题——
不再平等对待所有信息,而是根据相关性加权。
- **例子:** 翻译句子时,生成目标词会更多参考源句中对应的几个词。
---
## 卡片 2:QKV 与权重计算
- **核心知识:** 注意力通过计算查询(Query)、键(Key)、
值(Value)之间的相似度得到权重,再对值加权求和。
- **简明解释:** Q 是“我在找什么”,K 是“我能提供什么”,
V 是“我的内容”;相似度越高,贡献越大。
- **自测:** 若 Query 与某个 Key 相似度很低,对应 Value 的权重会偏大还是偏小?# 知识卡片:读书与自律随笔
原文信息密度较低,且多为常见观点、缺乏具体论据,仅提取到 2 个可形成独立知识点的内容。
为避免编造与凑数,未强行补足到 5 张。
## 卡片 1:多读书有助于进步
- **核心知识:** 原文主张多读书能促进个人进步。
- **简明解释:** 这是一句常见的观点性陈述,原文未给出具体理由、方法或例证。
- **自测:** 你觉得“多读书让人进步”成立需要哪些前提条件?make-knowledge-cards/ # 本仓库根
├── README.md
├── quick_validate.py # 官方校验脚本本地副本(已修正 Windows UTF-8 读取)
├── skills/
│ └── make-knowledge-cards/
│ ├── SKILL.md # 核心指令与工作流程
│ └── references/
│ └── card-quality.md # 卡片质量标准与好坏示例
└── tests/
├── tech_attention.md # 测试输入:技术文
├── history_rome.txt # 测试输入:历史文
├── thin_note.txt # 测试输入:稀疏随笔
└── output/ # 对应卡片输出
仓库根目录提供了官方 quick_validate.py 的本地副本(已修正 Windows 下 UTF-8 读取问题),用于校验 Skill 结构:
python quick_validate.py skills/make-knowledge-cards
# 输出: Skill is valid!tests/ 目录包含三类样例输入与对应输出,用于验证不同场景:
tests/tech_attention.md→ 信息密集的技术文,生成 6 张卡片。tests/history_rome.txt→ 叙事性历史文,生成 5 张卡片。tests/thin_note.txt→ 信息稀疏的随笔,仅生成 2 张卡片并说明原因(不凑数)。
输出位于 tests/output/。
MIT