0Pricing
AI Prompt Engineering · 课时

自我批评验证

由模型检查输出。

自我批评验证 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 4 节课。

让模型成为自己的评审器

自我评审使用 LLM 根据评分标准或策略评估 LLM 的输出。它可以捕获确定性验证器无法编码的细微问题:事实不一致、语气、实用性以及细微的策略违规。

它是模式验证器和规则验证器的基于模型的补充。

将评审器与撰写模型分开

请通过独立调用运行评审,并使用其自身的提示,而不要把评审指令作为生成末尾的附加指令。只负责评判且拥有干净上下文的评审器,比让撰写模型在生成过程中途给自己评分可靠得多,因为后者会倾向于认可自己的答案。

draft = author_model(task_prompt)
verdict = critic_model(
  'You are a strict reviewer. Judge ONLY the answer below against the rubric.\n'
  'Rubric: ' + rubric + '\nAnswer: ' + draft
)

结构化评审输出

让评审器输出结构化判定结果,以便流程能够以编程方式采取行动。自由文本评审无法由机器直接处理。

CRITIC_SCHEMA = {
  'type': 'object',
  'properties': {
    'pass': {'type': 'boolean'},
    'violations': {'type': 'array', 'items': {'type': 'string'}},
    'severity': {'type': 'string', 'enum': ['none','minor','major','critical']},
    'fix_hint': {'type': 'string'}
  },
  'required': ['pass','violations','severity','fix_hint'],
  'additionalProperties': False
}

先评审后修订的循环

请将评审器与修订器配合使用。评审器发现问题;撰写模型根据评审意见进行修订;重复此过程,直到通过或预算耗尽。这是修复循环的基于模型的对应形式。

draft = author_model(task)
for _ in range(2):
    c = critic_model(draft)
    if c['pass']:
        break
    draft = author_model(task + '\nRevise to fix: ' + c['fix_hint'])
final = draft

评分标准让评审更可靠

模糊的指令('这样好吗?')会产生嘈杂的判定结果。包含明确且可检查标准的具体评分标准能够产生一致的结果。请将其分解为由评审器逐项回答的是非问题。

RUBRIC = [
  'Does the answer directly address the user question?',
  'Are all factual claims supported by the provided context?',
  'Is any disallowed content present?',
  'Is the response within the requested length?'
]

用于事实性的有依据评审

为了检测幻觉,请向评审器提供来源上下文,并要求它标记任何无法由该上下文推出的声明。这样可以将自我评审转变为蕴含检查,其效果远强于在没有证据的情况下询问“这是真的吗?”

verdict = critic_model(
  'For each claim in the ANSWER, state whether the CONTEXT entails it. '
  'Flag any unsupported claim.\nCONTEXT:\n' + ctx + '\nANSWER:\n' + draft
)

评审器的失败模式

评审器本身也是 LLM,因此可能失败:

  • 奉承——不加思考地认可撰写模型的答案。
  • 过度批评——标记正确的输出。
  • 共同盲点——同一个模型会漏掉同一类错误。

可以使用不同模型系列作为评审器、设定严格的评审者角色,并采用经过校准的阈值来降低这些风险。

使用更便宜或不同的评审器

评审器不必是最昂贵的模型。通常,配合严格评分标准的小型模型就能成为经济高效的门槛,而使用不同的模型系列可以减少相关盲点。请将最强的模型留给撰写任务。

何时信任,何时验证

自我评审可以减少错误,但并不能构成证明。对于低风险内容,单次评审通常就足够了。对于高风险输出,请将自我评审与确定性验证器和人工审核结合起来;绝不要让模型成为安全关键决策的唯一裁决者。

成本、延迟与缓存

自我评审大致会使每个请求的调用次数翻倍。请对其进行控制:让确定性检查作为评审门槛(只评审通过模式和规则检查的内容),为相同草稿缓存评审结果,并限制修订轮数。在可能的情况下,与非阻塞工作并行运行评审。

if deterministic_ok(draft):
    verdict = critic_model(draft)   # only spend critique on viable drafts

根据人工标注进行校准

在信任评审器之前,请先验证它。建立一组由人工标注的输出,运行评审器,并衡量其一致性(根据人工判定计算精确率和召回率)。调整评分标准和角色设定,直到评审器的判定与人工判断相关;模型升级后重新检查。

agreement = mean(critic(d)['pass'] == human_label[d] for d in eval_set)
assert agreement > 0.9

快速检查

您希望评审器能够可靠地捕获 RAG 答案中的幻觉。什么措施最能提升可靠性?

回顾

自我评审验证:

  • 由拥有干净上下文的独立评审器评判撰写模型的输出。
  • 输出结构化判定结果;驱动先评审后修订的循环。
  • 具体的评分标准和有依据的蕴含检查能够提升可靠性。
  • 警惕奉承和共同盲点;使用不同的评审模型。
  • 根据成本设置门槛,与确定性检查结合,并根据人工判断进行校准。

您已完成防护栏课程。下一门课程:红队测试与对抗性评估。

常见问题解答

「自我批评验证」课时是免费的吗?

是的 — 「自我批评验证」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。

「自我批评验证」这节课中我会学到什么?

由模型检查输出。 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Prompt Engineering 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「自我批评验证」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Prompt Engineering 课中编写并运行代码吗?

能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 什么是护栏
  2. 输入与输出筛选
  3. 模式与规则验证器
  4. 自我批评验证
← 返回 AI Prompt Engineering