准入准出条件

在 AI 工作流的每两个上下游节点之间加一道检查点:准入条件不满足就不能进入下一阶段,准出条件不满足就不能离开当前阶段。相当于给流程”盖章放行”,用结构治理 LLM 在长流程中的漂移。

简介

准入准出条件(Entry / Exit Criteria)是 @Sean 在打磨 deep-discuss Skill 时逼出来的机制,用来解决一个 Skill 设计中最容易被忽略的问题:LLM 理解规则,但不一定严格遵守规则。作者用了十几次 deep-discuss 后发现,LLM 并不总是按 Skill 里写的流程节点推进——比如流程写的是”先完成证据理解校准,再进入经验共创讨论”,但有时校准还没做完就跳到了共创;流程要求”先扫描历史卡片,再判断动作类型”,但 LLM 有时会跳过扫描直接写新卡片。

这种现象叫”漂移”——LLM 理解规则,但会”走着走着就偏了”,尤其在长流程中。作者试了好几种方式,最终有效的方案是:在每两个上下游节点之间加入准入准出条件。举例:阶段 6(动作判断)的准入条件是”阶段 5 已形成稳定主框架”,准出条件是”动作清单已锁定且历史卡片已正式扫描”。准入条件不满足,就不应该跳到下一阶段。这相当于在工作流里加了检查点,每个节点完成后要”盖章”才能放行。加了这套机制后,漂移问题消失了。

关键信息

  • 类型:AI 工作流治理机制 / 流程检查点
  • 解决的问题:LLM 在长流程 Skill 中的执行漂移(理解规则但不严格遵守)
  • 形式:每个节点定义”准入条件”(进入前必须满足)+ “准出条件”(离开前必须满足)
  • 本质:用确定性检查点约束模型行为,而非靠提示词”提醒”
  • 相关概念上下文漂移SkillHarness闭环工程CLAUDE.md 项目指令脚本与大模型分工

核心特性

1. 漂移:能力越强,破坏力越大

漂移不是模型”没读到规则”,而是它在长上下文中把规则的约束力”稀释”了,选择了看起来更顺手的下一步。作者的核心洞察是:“给 AI 写流程,最难的不是告诉它做什么,而是拦住它不做什么。“而且”能力越强,漂移的破坏力越大——一个不吝啬输出的 LLM 如果跳过了校验步骤就开始产卡,后果比一个’笨一点的’LLM 严重得多”。这与 上下文漂移 在 AI 编程中的表现同源:都是模型在缺乏结构约束时”合理但不对”地往前走。

2. 检查点机制:盖章才能放行

准入准出条件把”流程约束”从提示词里的软性期望,变成节点间的硬性门禁:

  • 准入条件:进入某阶段前必须满足的前置状态(如”上一阶段已形成稳定主框架”)
  • 准出条件:离开某阶段前必须完成的产出(如”动作清单已锁定且历史卡片已正式扫描”)

只有当前节点”盖章”(满足准出)且下一节点”验票”(满足准入)时,流程才放行。这让 LLM 无法在校准未完成时跳到共创,也无法在扫描未做时直接产卡。

3. 与 Harness、CLAUDE.md 禁区是同一族思路

准入准出条件属于”用结构拦住 AI”的方法族:

机制拦住的对象形式
CLAUDE.md 项目指令 禁区全局不能做的事绝对化禁令(“不能修改 Archives""不能跳过校验产卡”)
准入准出条件流程节点间的越级节点级前置/后置条件
Harness闭环工程 校验器不可消费的输出独立于生成器的格式/业务校验 + 失败重试

三者共同点是:不依赖”提醒模型请遵守”,而是让系统在关键节点强制执行边界。@Sean 明确把三层防线称为”知识库自己的 Harness”,准入准出条件是其中 Skill 层守结构的关键工具。

4. 它是”约束内自主”的具体落地

Skill 的甜蜜点是”约束内自主”——人定边界,AI 在边界内灵活执行。准入准出条件正是”定边界”的一种具体手段:它不写死每一步怎么做(那是 Workflow),而是规定”什么状态下才允许进入/离开某一步”,把判断空间留给 AI,把关卡守死。

不同素材中的观点

  • 2026-07-11-woshipm-knowledge-base-engineering-practice:@Sean 把准入准出条件作为 Skill 设计中”最容易忽略的问题”的解法。它源于 deep-discuss 的真实翻车——LLM 跳过校准直接共创、跳过历史卡片扫描直接产卡。作者尝试多种方式后确认,在每两个上下游节点间加准入准出条件是唯一有效的方案,相当于给工作流加检查点、每个节点完成后要”盖章”才能放行,加了之后漂移问题消失。核心结论是”给 AI 写流程,最难的不是告诉它做什么,而是拦住它不做什么”,且这是知识库产品 Harness 实践的一部分。

实用信息

怎么给一个 Skill 加准入准出条件

  1. 拆出流程节点:把 Skill 流程拆成有明确边界的阶段(如:证据校准 → 经验共创 → 历史扫描 → 动作判断 → 产卡)
  2. 为每个节点写准入条件:进入这一步之前,上游必须已经产出什么、达到什么状态
  3. 为每个节点写准出条件:离开这一步之前,本节点必须锁定哪些产出(清单、扫描结果、结论)
  4. 在 SKILL.md 里显式声明检查点:让模型每完成一个节点先自检准出、再验下一节点准入
  5. 观察是否还漂移:如果仍越级,说明条件写得不够可判定,要把”稳定主框架""动作清单已锁定”这类描述具体到可核对

注意事项

  • 准入准出条件要写成可判定的状态,不能是”讨论得差不多了”这种模糊描述
  • 它治的是流程漂移,不替代格式校验(那是脚本层的活,见 Harness闭环工程
  • 长流程比短流程更需要它——流程越长,漂移概率越高
  • 准入准出条件 配套的还有全局禁区(写在 CLAUDE.md 项目指令)和输出校验(脚本/治理 Skill),三者分层守不同风险

相关页面