🔍 Verifier Pattern
验证器模式

独立审核,二次把关 | 生产级Agent标配

Safety Quality Control Hallucination Detection

📖 定义

Verifier(验证器)是一个独立的模型调用或规则,用于检查候选答案的正确性、格式合规性、或政策遵守情况。验证器是生产级Agent捕捉幻觉的标准模式:生成答案 → 验证 → 失败则重新生成。

Digital Applied 2026 Glossary定义:"The standard pattern for catching hallucinations in production."

🔍 通俗比喻

就像饭店里的菜品——厨师做好菜,还得有个质检员过一遍:菜够热吗?味道对吗?有没有异物?质检员不负责做菜,只负责检查。

Agent的Verifier也是这个角色:你(生成器)负责创作,我(验证器)负责审核。你写得天花乱坠,我一看格式不对、逻辑不通,直接打回重写。

周星驰电影里的台词:"师傅,这菜不对啊!"——Verifier就是那个敢直言的学徒,防止师傅(LLM)自嗨。

⚙️ 验证流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   生成器    │ ──► │   验证器    │ ──► │  最终输出   │
│  Generator  │     │   Verifier  │     │   Output    │
└─────────────┘     └─────────────┘     └─────────────┘
                          │
                          ▼ PASS
                    ┌─────────────┐
                    │   ✅ 通过   │
                    └─────────────┘
                          │
                          ▼ FAIL
                    ┌─────────────┐
                    │  ❌ 重新生成 │ ──► 返回生成器
                    └─────────────┘
                    

正确性验证

检查答案是否正确解决问题。
例:数学题验算、代码语法检查。

格式合规验证

检查输出是否符合指定格式。
例:JSON Schema验证、Markdown结构。

政策安全验证

检查是否违反安全政策。
例:敏感内容过滤、PII泄露检测。

事实准确性验证

检查引用的事实是否真实。
例:引用来源验证、数据一致性。

🎯 OpenClaw实战应用

# OpenClaw Verifier Skill 示例
name: verified_code_generator
description: 生成代码并通过验证器检查

steps:
  - name: generate_code
    action: llm
    prompt: |
      根据需求生成代码:{{user_request}}
      
  - name: verify_syntax
    action: shell
    command: |
      # 使用语言工具检查语法
      python -m py_compile {{generate_code.output}}
      
  - name: verify_logic
    action: llm
    prompt: |
      请检查以下代码是否满足需求:
      需求:{{user_request}}
      代码:{{generate_code.output}}
      
      检查项:
      1. 是否处理了边界情况
      2. 是否有潜在的bug
      3. 是否符合最佳实践
      
      输出:PASS 或 FAIL + 问题列表
      
  - name: retry_on_failure
    action: conditional
    condition: "{{verify_logic.output.status}} == 'FAIL'"
    on_true:
      - action: llm
        prompt: |
          前一代码有问题,请修复:
          问题:{{verify_logic.output.issues}}
          原代码:{{generate_code.output}}
          
  - name: final_output
    action: output
    content: "{{retry_on_failure.output or generate_code.output}}"

✅ 生产部署要点

  • 验证器应该是独立模型:避免自我验证的偏见
  • 设置最大重试次数:防止无限循环(通常3-5次)
  • 验证结果可追溯:记录每次验证的决策原因
  • 分层验证:先格式 → 再正确性 → 最后安全
  • 与Human-in-the-loop结合:关键决策需人工确认

🔗 相关术语

📚 延伸阅读

  • Digital Applied Agentic AI Glossary 2026
  • Anthropic System Cards - 验证流程说明
  • OpenAI Agents SDK 验证器模式