---
title: "W07 上机练习二：核文献清单，再沉淀成技能"
---

# 🧪 练习二：核文献清单，再沉淀成技能

[上机导航](https://ai.lingnan.top/materials/2026-autumn/w07/lab-manual) · [常见问题](https://ai.lingnan.top/materials/2026-autumn/w07/faq) · [工具说明总览](https://ai.lingnan.top/materials/2026-autumn/w07/tools-index)

开始之前先按[上机导航](https://ai.lingnan.top/materials/2026-autumn/w07/lab-manual)“开始之前”一节接好工具。

## 任务

一段关于数字金融与家庭福利的综述，引用了 6 篇文献。先不装任何文献核验技能，让智能体自己调用公开文献库，逐条核三件事：文献存不存在、清单里的信息对不对、原文支持不支持综述里那句话，结果填进核验表。你人核过之后，在**同一个会话**里让它复盘刚才的做法，用 `skill-creator` 把它沉淀成一个文献核验技能：脚本按规则查库、比对信息，智能体读摘要判断是否支持原句，思路和课上讲的 bib-citation-validator 一样。最后用这个新技能把清单重核一遍，和第一次的结果对照。

先把一件事做对，再把做对的方法写成技能，W04 练过；这次沉淀的是一次工具调用的流程。

### 🎬 讲解录播

<video controls preload="metadata" playsinline style="display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px" src="/course-materials/2026-autumn/w07/lab-ex2.mp4"></video>

录播 7 分 49 秒，带讲解和字幕，播放器右下角可以全屏。

## 准备

材料包 `02_文献核验/`：

| 文件 | 内容 |
| --- | --- |
| `综述段落.md` | 一段约 450 字的综述，6 处引用 |
| `参考文献清单.md` | 6 条参考文献 |
| `核验要求.md` | 可以用的文献库、核验表每列怎么填、五个结论标签 |
| `核验表模板.csv` | 核验表，序号、引文、DOI 三列已预填 |
| `.claude/skills/skill-creator/`、`.workbuddy/skills/skill-creator/` | 用来创建技能的技能，已经放在两个客户端的项目技能目录里（文件夹名前面有点，默认隐藏） |
| `沉淀指令_示范.md` | 第 5 步的两段指令 |

## 第 0 步：建项目，新开会话

**做什么**

1. 把 `02_文献核验` 整个拷出来改名 `文献核验`。`skill-creator` 已经在里面的 `.claude/skills/` 和 `.workbuddy/skills/` 下，拷整个文件夹就带上了（这两个文件夹名前面有点，默认隐藏；Mac 访达里按 `Command + Shift + .` 可以显示）。
2. 退出上一个练习的会话，在 `文献核验` 里重新开始，后面几步都在这一个会话里做：Claude Code 在这个文件夹启动 `claude`；WorkBuddy 点“新建任务”，工作空间选 `文献核验`。

不要装文献核验技能（工具说明 tool-10 里的两个 Skill），这一次让它自己查库。

**做对了会看到**：Claude Code 输入 `/skills`，列表里有 `skill-creator`；WorkBuddy 在输入框打 `/skill`，弹出的技能列表里有 `skill-creator`，看完清空，不要发送。看不到的，见常见问题 19b。

## 第 1 步：自己先读一遍

**做什么**：打开 `综述段落.md` 和 `参考文献清单.md`，把每处引用和清单里的那一条对上；再读 `核验要求.md` 里的五个结论标签。

**做对了会看到**：你知道每条文献在综述里撑的是哪一句话。五个标签是：已核实／信息有误／不支持原句／未找到，需人工核查／论断未核验。

## 第 2 步：让智能体逐条核对

**做什么**：粘贴下面这段，回车。

```txt
按 核验要求.md，逐条核验 参考文献清单.md 里的 6 条文献，结果填进 核验表模板.csv，另存为 核验结果/核验表.csv。
1. 有 DOI 的先用 Crossref 按 DOI 查（https://api.crossref.org/works/<DOI>）；没有 DOI 或 DOI 查不到的，用题名加第一作者在 Crossref 和 Semantic Scholar 再查。
2. 逐项比对题名、作者、年份、期刊、卷期页，不一致的写出正确值。
3. 读得到摘要的，把综述里引用它的那句话和摘要对照，判断支持还是不支持。
4. 每个结论附上你实际请求的网址和返回状态。查不到的写“未找到，需人工核查”，不要给出查不到的文献的摘要或页码。
5. 中文文献在国际库查不到的，按 核验要求.md 的“中文文献”一节填。
6. 最后另写 核验结果/核验说明.md：每条一段，写查了哪里、看到了什么、为什么给这个结论。
```

**做对了会看到**：

- 一串工具调用：Claude Code 里是 `Bash(curl ...api.crossref.org...)`、`Bash(python ...)`；WorkBuddy 里是展开后能看到请求网址的卡片。这一步没有调用任何技能，查哪个库、怎么比对是它自己定的。
- 某个 DOI 返回 404 后，它没有直接下结论，而是又按题名和作者查了一次。
- Semantic Scholar 可能返回 429（请求太多）。它等几秒重试，或者改用 Crossref，没有因此把文献判成不存在。
- `核验结果/核验表.csv` 6 行都有结论，结论只用五个标签；`核验说明.md` 每条附了网址。

## 第 3 步：人核两条

**做什么**：

1. 挑一条它判“信息有误”的，在浏览器里打开 `https://doi.org/<那条的 DOI>`，看出版社页面上的期刊名、年份、卷期页，和它写的“正确值”对不对得上。出版社页面先要你点“我是人类”一类的验证时，自己点一下就行；打不开的，换开出版社自己的文章页，比如美国经济学会的是 `https://www.aeaweb.org/articles?id=<DOI>`。
2. 挑一条它判“不支持原句”的，读它引用的摘要原文，自己判断：原文讲的是什么，综述那句话讲的是什么。

**做对了会看到**：出版社页面上的信息和它写的正确值一致；你能用一句话说出原文讲的和综述写的差在哪。

## 第 4 步：中文文献换个地方查

**做什么**：清单第 6 条是中文期刊论文。国际库查不到时，它应该判“论断未核验”而不是“未找到”。它也可能自己用网页搜索找到期刊官网上的摘要页，判成“已核实”：附了能打开的官网链接、摘要支持原句的，也算对。你自己到知网搜这篇的题名，知网会先弹一个滑块验证，拖过去再搜。这一步不在会话里装 [CNKI Skills](https://ai.lingnan.top/materials/2026-autumn/w07/tool-12-cnki-skills)：新装的技能要换会话才能用，第 5 步要在同一个会话里复盘。

**做对了会看到**：知网能查到这篇文献，作者、刊名、年份、期号、页码和清单一致。读到摘要、摘要支持原句的，这一条可以改判“已核实”，“查证来源链接”写知网页面地址；把你查到的结果告诉它，让它改核验表。

## 第 5 步：复盘，用 skill-creator 起草一个文献核验技能

**做什么**：还在同一个会话里，把 `沉淀指令_示范.md` 的第一段粘贴进去，回车。它会先复盘刚才的做法，再用 `skill-creator` 起草一个名叫 `reference-checker` 的技能，给你看草稿。

读草稿时看四件事：

- 有没有一个 Python 脚本，按规则查库：有 DOI 先按 DOI 查 Crossref，查不到再用题名加作者检索；遇到 429 等一会儿再试、再换库；每条记下请求网址和返回状态。
- “是否支持原句”是不是留给智能体读摘要判断，而不是让脚本瞎猜。
- 结论标签是不是 `核验要求.md` 里的五个。
- 有没有把这 6 条文献的标题、DOI、作者写死在技能里。写死了就让它删掉，技能要能核任何一份清单。

**做对了会看到**：屏幕上出现调用 `skill-creator` 的记录（Claude Code 里是 `Skill(skill-creator)`；WorkBuddy 的过程卡片里是“加载技能 skill-creator”。WorkBuddy 自带一个同名的 `skill-creator`，录屏里它加载的是自带的那份，做法相同，不影响这一步）；它先列出复盘要点，再给出草稿，没有直接写文件，也没有开始跑评测。它开始跑评测、停不下来：Claude Code 按 `Esc`，WorkBuddy 点停止，再说一遍“不要跑评测，给我看草稿”。

## 第 6 步：写成文件，用新技能重核一遍

**做什么**：草稿没问题后，粘贴 `沉淀指令_示范.md` 的第二段，回车。它要写文件、跑脚本、修脚本里的错，再对照两份表，会跑一阵，录屏里约 20 分钟。

**做对了会看到**：

- 项目里多了 `.claude/skills/reference-checker/`（WorkBuddy：`.workbuddy/skills/reference-checker/`），里面有 `SKILL.md` 和一个脚本；`SKILL.md` 开头两道 `---` 之间有 `name: reference-checker` 和一段 `description`。
- 它运行了这个脚本（`Bash(python ...reference-checker...)`），生成 `核验结果/核验表_脚本版.csv`。
- 它第一次跑脚本可能出错，自己查出问题、改好再跑。录屏里它修了 3 处。
- 它把两份核验表逐条对照，说出哪几条不一样。Semantic Scholar 限流时拿不到摘要，脚本版对应那几条会写“论断未核验”，换个时间再跑结果可能不同。脚本对“是否存在”“信息是否一致”的判断应该和第一次一致；“是否支持原句”要靠读摘要，脚本版这一列如果空着或写“待读摘要”，正是技能正文里交给智能体的那一步。

想换个会话试试这个技能会不会被自动想起来，按 W04 练过的触发测试做：退出重开，说一句“帮我核一下这份参考文献是不是真的”，看它是否调用 `reference-checker`。

## ✅ 练习二自查

- [ ] 6 条都有结论，只用了五个标签
- [ ] 编造的那条判为“未找到，需人工核查”，智能体没有给出它的摘要或页码
- [ ] 信息有误的那条，指出了错在哪一项、正确值是什么
- [ ] 不支持原句的那条，能说出原文实际讲的是什么
- [ ] 查不到的中文文献没有被判为假
- [ ] 每条结论都附了能打开的网址；你亲手打开核过两条
- [ ] 第 2 步没有用任何技能；第 5 步在同一个会话里调用了 `skill-creator`
- [ ] `reference-checker` 里有脚本，没有写死这 6 条文献；结论标签是那五个
- [ ] 用新技能重核了一遍，说得出两份核验表哪里一样、哪里不一样

想一想：第 4 条那种“文献是真的，但不支持这句话”的错，脚本能发现吗？技能里哪一部分适合交给脚本，哪一部分要留给智能体读、留给人核？
