DEV Community

Open Human
Open Human

Posted on

3-LLM 交叉验证的共识机制

3-LLM 交叉验证的共识机制

引言

一桩典型的"伪证"案:一个模型被问到"这段代码是否安全",它斩钉截铁地回答"安全",还配上了看起来完整无缺的推理链。但审计员复核后发现,结论是错的——模型只是把"听起来对"的推理,包装成了"确实对"。

单一模型给出的判断,本质上是一份未经交叉核实的证词。它有完整的故事性,却不一定有事实性。

这是 ATS-008 架构里最反直觉的一条审计哲学:推理链越流畅,越要警惕它是编造的。 侦探不会因为嫌疑人讲了一个精彩的故事就结案——他会让三个互不串供的证人分别陈述,然后逐一比对。

本文是「侦探推理 + 行为日志 + 技术解谜」系列的一部分。今天拆解的,就是这套"三个证人"机制:3-LLM 交叉验证的共识算法。

核心观点

  • 单一模型 = 单一证人,能力再强也无法自证清白
  • 3-LLM 交叉验证 = 让三个独立模型对同一问题独立推理,只采纳达成共识的结论
  • 共识不是"投票数",而是语义等价性 + 加权权重 + 拜占庭阈值三层过滤后的结果
  • 被拒绝的证据同样要留痕——在行为日志里,反对票和赞成票一样重要

正文

第一步:立案(提案创建)

交叉验证从一次 create_proposal 开始。系统把待验证的结论登记成一个提案(proposal),记录"有几方参与、是否有参考答案"。从这一刻起,所有判定都会被留痕——这就是侦探的立案登记簿。

self.consensus.create_proposal(
    proposal_id=proposal_id,
    content={"agent_count": len(outputs), "has_reference": ...},
    proposer_id="cross_validator",
)
Enter fullscreen mode Exit fullscreen mode

第二步:独立取证(多模型独立推理)

三个模型彼此隔离,各自对同一问题给出答案。关键在"隔离":它们不知道彼此的存在,无法串供,也就无法互相污染。

如果存在一个参考答案(比如人工标注的安全结论),就以它为基准;否则以第一个模型的输出为基准,让其他模型与之比对。

第三步:语义等价,而不是逐字比对

这是整个机制最容易被误解的地方。系统不会因为两个模型用了相同的句子就判定它们一致——那只是复读。它做的是语义等价性检测:先把两段输出归一化(AST 归一化),再判断它们在结构上是否表达同一个结论。

两个模型一个说"该函数存在整数溢出风险",另一个说"此处可能发生缓冲区越界"——措辞不同,但语义等价,记为一致。侦探不听词句,只听事实。

equiv_result = self.equivalence.check_equivalence(
    comparison_base, output, threshold=similarity_threshold
)
Enter fullscreen mode Exit fullscreen mode

第四步:加权投票

每个验证者(模型)不是平等的一票。系统维护一份权重(WeightedConsensusEngine),历史表现越可靠的模型权重越高。赞成票和反对票都会被记录,并附带语义相似度作为理由(justification)——全部写入行为日志。

第五步:共识判定与拜占庭防线

最后进入共识评估。这里的阈值是 2/3

# 只有共识强度 > 2/3 时才判定为达成共识
if consensus_strength <= 2 / 3:
    # 不标记拜占庭行为
Enter fullscreen mode Exit fullscreen mode

为什么是 2/3?因为 3 个节点里允许有 1 个"叛徒"(被攻破、宕机、或幻觉拉满的模型),只要另外 2 个诚实并达成一致,共识仍然成立。这就是拜占庭容错的最朴素形态:容忍一个坏证人,不信两个坏证人。

如果共识未达成,提案被拒绝,而拒绝过程同样写入 consensus_history。反对票、失败、权重调整,全部留痕——审计最重要的不是"谁对了",而是"为什么这样判"。

侦探的结论

  • 三个模型都同意 → 可信度显著高于任何单一模型的输出
  • 两个同意、一个反对 → 结论成立,但反对者被标记为候选拜占庭节点,权重下调
  • 各执一词 → 共识未达成,结论打回重验,不进入下游

这套机制的最终目的不是选出"最聪明的模型",而是让任何单一模型都无权单独定罪。在治理与审计场景里,这比准确率重要得多——因为审计关心的不是"通常正确",而是"绝对不许单点伪证"。

关于作者

本文由 detective-noir 撰写,侦探推理 + 行为日志 + 技术解谜 — ATS-008 架构的审计哲学。

Top comments (0)