agentmentoragentmentor

第 05 节:用 guard 验收

本节 objectives:

  • 能运行 course-guard 检查一门课。
  • 能说出 guard 主要检查哪些机械红线。
  • 能把失败项翻译成下一步修复动作。

先修:能找到课程目录 | 上一节 << 04 | 下一节 06 >>

不要相信"我写完了",相信可重复检查

agent 说"课程已经完成"只是状态汇报,不是验收。这个仓库的确定性验收入口是:

bash
node scripts/course-guard.mjs <课程目录>

SKILL.md 把跑 guard 写进质检阶段,并要求 guard 不过就回到大纲或写课阶段修改。1 course-guard.mjs 自身检查引用、死链、模板段、README 覆盖、篇幅、frontmatter、glossary 和来源权威字段。2

讲解

guard 不判断一切,但它守住最容易漏的机械红线:

检查失败说明修复动作
引用课文用了 [^S3],sources 里没有 S3补 sources 或改引用
死链Prev/Next 指向不存在文件修链接或文件名
模板段单节 ## 段太少按模板补讲解、例子、练习、小结
README 覆盖课时表没链到某节更新 README 表格
frontmatterREADME 缺 domain/tags补 YAML frontmatter
glossary缺文件或条目没 sourceglossary.json 和来源
源权威sources 全是 AI 生成/营销换成官方或权威源

课程质量 rubric 还会检查更软的维度:结构、grounded、pedagogy、exercises、load 和 readable。3 所以正确顺序是:先 guard 过机械红线,再用 rubric 自查教学质量。

跟我做一遍(worked example)

目标:检查这门 meta 课。

在仓根运行:

bash
node scripts/course-guard.mjs agent-mentor/skills/generate-course-from-topic/examples/learn-using-agent-mentor-skill

理想输出:

text
GUARD ok ✓

如果看到:

text
05-verify-with-course-guard.md: 悬空引用 [^S7]

不要删掉引用糊弄通过。正确修复是打开 sources.md,确认是否有 ## S7。如果没有,补上 course-guard.mjs 这个来源;如果已有但编号不同,把课文引用改成真实编号。

换你补全(faded example)

guard 输出:

text
README 漏链 03-set-research-boundaries.mdglossary[2]: source S12 在 sources.md 找不到

你应该怎么修?

text
README 漏链: ____________________。glossary source: ____________________。

参考答案:

text
README 漏链:把 03-set-research-boundaries.md 加回 README 的课时表链接。glossary source:要么在 sources.md 补对应的 S12 源块,要么把该术语 source 改成已存在且正确的脚注号。

关键判断点是:guard 失败不是"脚本烦人",而是在告诉你课程文件之间的契约断了。

小结 + 通向下一节

course-guard 让课程从"看起来写完"变成"结构可复查"。最后一节会把这套流程放回长期使用:你怎样把一次生成变成个人知识库的一部分。

Footnotes

  1. generate-course-from-topic SKILL.md

  2. course-guard.mjs

  3. Course quality rubric

练习

Level 1: 对任意 examples 课程跑一次 guard。

提示 1

guard 是机械红线,不是课程总分。

提示 2

失败项优先按文件契约修,别先改文风。

提示 3

通过 guard 后还要真实读一节。

自评