跳到主内容

course materials · 2026 秋季本科

练习二:核文献清单,再沉淀成技能

Week 7 · 2026-10-20 · 上机材料

返回本周材料

让智能体自己查 Crossref 核 6 条文献,人核后在同一会话用 skill-creator 沉淀文献核验技能并重核。

切换上机材料(7 篇)
本页目录

上机导航 · 常见问题 · 工具说明总览

开始之前先按上机导航“开始之前”一节接好工具。

任务

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

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

准备

材料包 02_文献核验/:

文件内容
综述段落.md一段约 450 字的综述,6 处引用
参考文献清单.md6 条参考文献
核验要求.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 步:让智能体逐条核对

做什么:粘贴下面这段,回车。

按 核验要求.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>,看出版社页面上的期刊名、年份、卷期页,和它写的“正确值”对不对得上。
  2. 挑一条它判“不支持原句”的,读它引用的摘要原文,自己判断:原文讲的是什么,综述那句话讲的是什么。

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

第 4 步:中文文献换个地方查

做什么:清单第 6 条是中文期刊论文。国际库查不到时,它应该判“论断未核验”而不是“未找到”。自己到知网搜这篇的题名。这一步不在会话里装 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 的 SKILL.md);它先列出复盘要点,再给出草稿,没有直接写文件,也没有开始跑评测。它开始跑评测、停不下来:Claude Code 按 Esc,WorkBuddy 点停止,再说一遍“不要跑评测,给我看草稿”。

第 6 步:写成文件,用新技能重核一遍

做什么:草稿没问题后,粘贴 沉淀指令_示范.md 的第二段,回车。

做对了会看到:

  • 项目里多了 .claude/skills/reference-checker/(WorkBuddy:.workbuddy/skills/reference-checker/),里面有 SKILL.md 和一个脚本;SKILL.md 开头两道 --- 之间有 name: reference-checker 和一段 description。
  • 它运行了这个脚本(Bash(python ...reference-checker...)),生成 核验结果/核验表_脚本版.csv。
  • 它把两份核验表逐条对照,说出哪几条不一样。脚本对“是否存在”“信息是否一致”的判断应该和第一次一致;“是否支持原句”要靠读摘要,脚本版这一列如果空着或写“待读摘要”,正是技能正文里交给智能体的那一步。

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

✅ 练习二自查

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