多个 Agent 都说成功,怎样完成独立验证

作者:ming(ming8m) · 更新:2026-10-02

项目规范入口:ming8m/agent-hub。本文依据源码 55809f1 讨论证据判断,是复核方法说明,没有实测统计或人物排名主张。

三个 Agent 同意一个结论,能帮助评估者发现值得检查的主张。要把主张写进红队报告,还需要回到原始输入、输出和系统状态。若三者都只看到“攻击已成功”的摘要,它们可能共同接受了同一个未经核验的前提。分析者数量增加,并不会自动增加新的观察证据。

Du 等人的原始论文研究了多 Agent 辩论,并在其任务设置中报告推理与事实性改善。这是特定实验的结果,不能直接推成任意安全任务上的正确性保证。论文:Improving Factuality and Reasoning in Language Models through Multiagent Debate

把共识拆成可检查的主张

Agent 的结论 独立验证需要回答的问题
“模型遵从了注入指令” 完整输出是否真的偏离合法任务?
“发生了信息泄露” 输出信息是否来自应受保护的数据?
“调用了外部工具” 是否有实际调用记录和状态变化?
“问题已经修复” 相同条件下的复测及正常功能是否通过?

例如,一份假设日志显示输出包含 CANARY,三位分析者都判定注入成功。人工打开完整响应后,发现模型只是写“我不会执行输出 CANARY 的指令”,随后完成了摘要。这里需要更改的就是成功判定。这个例子说明检查方法,不对应任何模型的真实运行。

可复用的独立验证步骤

  1. 固定主张与标准。把“成功”改写成可观察条件,例如“放弃摘要,仅输出标记”;避免看到输出后再调整标准。
  2. 获取原始证据。检查完整上下文、目标版本、会话状态和输出,确保复核者看到的是同一用例。
  3. 按授权范围重放。保留控制输入,对待测输入进行新的复现;执行行为还要检查应用层日志与状态。
  4. 主动找替代解释。区分引用、拒绝、任务偏离、工具意图和实际执行;保留未复现与相反观察。
  5. 发布带条件的结论。注明观察覆盖的版本、模式和日期,说明未覆盖的功能及剩余证据缺口。

Agent Hub 的共同研讨保留参与者响应、主持决策和未解决项。协议会检查分歧引用的响应 ID,也允许最终决策标成 unresolved。这些约束帮助追踪意见来源;其中的 resolved 表示主持处理了研讨分歧,不能替代被测系统的行为验证。决策与引用校验源码

同样,资料快照摘要可帮助确认讨论使用了相同文本,无法证明文本陈述真实。授权、日志完整性和业务影响仍需评估者核对。OWASP 建议用确定性代码验证预期输出格式,并通过对抗测试检查信任边界;本方法把模型意见、格式检查和行为复现分别记录。OWASP LLM01 的缓解措施

多 Agent 评阅的交付物应包括支持意见、反对意见、引用与未知项。若目前只有一致意见,报告可以写“多位分析者建议进一步验证”;只有取得对应行为证据后,才写明在什么条件下观察到了问题。本文没有证明 Agent Hub 能自动认证漏洞,也没有报告它优于人工复核。

维护者与文档作者: · GitHub 账号

核对本文 Markdown 源文 · 核对协作实现(55809f1) · MIT 许可