
关于
带收敛循环的多 Agent 对抗性验证。两个独立审查 Agent 必须都通过才能继续,确保高质量的代码审查。
name: santa-method description: "多智能体对抗验证与收敛循环。两个独立审查智能体必须同时通过,输出才能发布。" origin: "Ronald Skelton - 创始人, RapportScore.ai"
Santa 方法
多智能体对抗验证框架。列个清单,检查两遍。如果有问题,修到没问题为止。
核心洞察:单个智能体审查自己的输出时,会共享产生该输出的相同偏见、知识盲区和系统性错误。两个没有共享上下文的独立审查者可以打破这种失败模式。
何时启用
在以下情况下调用此技能:
- 输出将被发布、部署或供最终用户使用
- 必须执行合规、监管或品牌约束
- 代码在没有人工审查的情况下发布到生产环境
- 内容准确性很重要(技术文档、教育材料、面向客户的文案)
- 大规模批量生成中抽查无法发现系统性问题
- 幻觉风险较高(声明、统计数据、API 引用、法律语言)
以下情况不要使用:内部草稿、探索性研究,或具有确定性验证的任务(这些请使用构建/测试/lint 流水线)。
架构
┌─────────────┐
│ 生成器 │ 阶段 1:列清单
│ (Agent A) │ 生成交付物
└──────┬───────┘
│ output
▼
┌──────────────────────────────┐
│ 双重独立审查 │ 阶段 2:检查两遍
│ │
│ ┌───────────┐ ┌───────────┐ │ 两个智能体,相同评分标准,
│ │ 审查者 B │ │ 审查者 C │ │ 无共享上下文
│ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │
└────────┼──────────────┼────────┘
│ │
▼ ▼
┌──────────────────────────────┐
│ 裁决门控 │ 阶段 3:合格或不合格
│ │
│ B 通过 AND C 通过 → 合格 │ 两者必须都通过。
│ 否则 → 不合格 │ 没有例外。
└──────┬──────────────┬─────────┘
│ │
合格 不合格
│ │
▼ ▼
[ 发布 ] ┌─────────────┐
│ 修复循环 │ 阶段 4:修到合格为止
│ │
│ iteration++ │ 收集所有标记。
│ if i > MAX: │ 修复所有问题。
│ escalate │ 重新运行两个审查者。
│ else: │ 循环直到收敛。
│ goto Ph.2 │
└──────────────┘
阶段详情
阶段 1:列清单(生成)
执行主要任务。不改变你正常的生成工作流。Santa 方法是生成后的验证层,不是生成策略。
# 生成器正常运行
output = generate(task_spec)
阶段 2:检查两遍(独立双重审查)
并行启动两个审查智能体。关键不变量:
- 上下文隔离 — 两个审查者互相看不到对方的评估
- 相同评分标准 — 两者接收相同的评估准则
- 相同输入 — 两者都接收原始规格说明和生成的输出
- 结构化输出 — 每个返回类型化的裁决,而非散文
REVIEWER_PROMPT = """
You are an independent quality reviewer. You have NOT seen any other review of this output.
## Task Specification
{task_spec}
## Output Under Review
{output}
## Evaluation Rubric
{rubric}
## Instructions
Evaluate the output against EACH rubric criterion. For each:
- PASS: criterion fully met, no issues
- FAIL: specific issue found (cite the exact problem)
Return your assessment as structured JSON:
{
"verdict": "PASS" | "FAIL",
"checks": [
{"criterion": "...", "result": "PASS|FAIL", "detail": "..."}
],
"critical_issues": ["..."], // blockers that must be fixed
"suggestions": ["..."] // non-blocking improvements
}
Be rigorous. Your job is to find problems, not to approve.
"""
# 并行启动审查者(Claude Code 子智能体)
review_b = Agent(prompt=REVIEWER_PROMPT.format(...), description="Santa Reviewer B")
review_c = Agent(prompt=REVIEWER_PROMPT.format(...), description="Santa Reviewer C")
# 两者并发运行 — 互相看不到对方
评分标准设计
评分标准是最重要的输入。模糊的标准产生模糊的审查。每个准则必须有客观的通过/失败条件。
| 准则 | 通过条件 | 失败信号 | |------|---------|---------| | 事实准确性 | 所有声明可通过源材料或常识验证 | 编造的统计数据、错误的版本号、不存在的 API | | 无幻觉 | 没有捏造的实体、引用、URL 或参考文献 | 链接到不存在的页面、无来源的归因引用 | | 完整性 | 规格说明中的每个需求都已处理 | 缺失章节、跳过的边界情况、不完整的覆盖 | | 合规性 | 通过所有项目特定约束 | 使用了禁用术语、语气违规、监管不合规 |
兼容工具
Claude CodeCursor
标签
测试

