用 Schema 约束 Agent 写文档
gimalay · reddit · 2026-07-13
作者在给 agent 维护的 markdown 知识库做评测时发现:**提示词里的规则会逐渐失效,但机械化校验不会**。单靠多轮 prompt 迭代,页面常会出现 frontmatter 漂移、长度失控、层级过深、链接规则不稳定等问题;而每次写入都触发的 validator 可以直接指出具体违规和修复方式。 他把“结构校验”抽成了一个独立工具 **document-schema / schematter**:用类似 JSON Schema 的方式定义页面形状,包括 frontmatter 字段、必须存在的 section、标题格式、允许的标题深度、以及按 token 计的页面/章节预算。示例里还演示了错误输出如何把 schema description 作为提示,帮助 agent 在一次回合内修正。 这个方案的核心价值是把 **context budget 和文档形状从提示词约束,变成写入时的硬规则**。作者称它在自己的实验里,比三轮 prompt 调整更有效:能把失控页面拉回预算内,避免检索进入上下文前就已经膨胀。文末还提到它可接入三处:CI/git hook、agent 写入路径、以及人工/批量校验流程。