多 Agent 可信评审机制
LLM 的一个核心问题是"幻觉"——自信地输出错误信息。如何让 AI 的输出更可信?多 Agent 评审机制提供了一种有效方案。
项目实践: 在MiroFish 多智能体推演系统中,设计了 Fact Checker、Proponent、Opponent、Risk Auditor 四个评审角色,对预测报告进行多角度可信评审。
问题背景
单个 LLM 推演存在风险:
- 可能遗漏关键反面证据
- 对不确定性过度自信
- 缺乏多角度审视
- 无法自我纠错
解决思路:多角色评审
借鉴现实中的"同行评审"机制,引入多个专业化 AI 角色,每个角色从不同角度独立审视同一份推演结果。
5 个评审角色
事实核查员 (Fact Checker)
- 核实推演中的事实性声明是否有证据支撑
- 标注缺乏证据支撑的论断
- 倾向于保守、严谨的判断
支持论证者 (Supporter)
- 寻找推演结论的支撑证据
- 评估论证逻辑的完整性
- 发现被低估的正面因素
反面辩论者 (Opponent)
- 挑战推演中的逻辑漏洞
- 提出替代解释和反面论证
- 识别过度推断的部分
风险评估师 (Risk Reviewer)
- 评估推演结论的潜在风险
- 考虑外部因素的不确定性
- 给出风险等级判定
证据组织者 (Evidence Organizer)
- 整理所有证据的逻辑关系
- 评估证据链的完整性
- 发现证据间的矛盾之处
评审流程
ReAct Agent 推演结果
↓
同时分发给 5 个评审角色(并行评审)
↓
每个角色独立输出:
- decision: 支持 / 反对 / 不确定
- confidence: 0-1 置信度
- reason: 评审理由
- key_findings: 关键发现列表
↓
汇总 5 个角色的评审结果
↓
计算综合置信度 → 输出可追溯报告置信度计算
最终的置信度通过多维指标综合计算:
置信度 = 角色平均置信度 × 0.35
+ 支持证据强度 × 0.25
+ 投票一致性 × 0.25
+ (1 - 风险惩罚) × 0.15各指标含义:
| 指标 | 权重 | 含义 |
|---|---|---|
| 角色平均置信度 | 35% | 5 个角色给出的 confidence 平均值 |
| 支持证据强度 | 25% | 支持推演结论的证据数量和质量 |
| 投票一致性 | 25% | 5 个角色的 decision 是否一致 |
| 风险惩罚 | 15% | 风险评估师给出的风险扣分 |
投票一致性计算: 如果 5 个角色中有 4 个"支持"、1 个"反对",一致性 = 4/5 = 0.8。如果 3:2 分歧,一致性 = 0.6。
MiroFish 中的实现
评审提示词设计
每个角色都有专属的 System Prompt,定义其评审角度和输出格式。例如事实核查员的 Prompt:
你是一个专业的事实核查员。你的职责是核实推演中的每一个事实性声明。
- 检查每个声明是否有对应的证据支撑
- 标注缺乏证据的推断
- 给出你的评审意见(支持/反对/不确定)和置信度降级处理 (Fallback)
当 LLM API 调用失败时,系统使用基于规则的降级评审:
- 统计推演中引用的证据数量
- 根据证据数量给定基础置信度
- 每个角色使用预设的评审模板生成评审意见
- 确保即使 API 不可用,系统仍能输出完整报告
面试回答要点
面试官问:多 Agent 评审怎么保证可信度?
我们借鉴了学术同行评审的机制,引入 5 个从不同角度审视推演结果的 AI 角色。每个角色独立给出支持/反对的判断和置信度,最后通过加权投票(角色置信度 35%、证据强度 25%、投票一致性 25%、风险扣分 15%)计算综合得分。这比单一 LLM 自我评估更可靠,因为多角色交叉验证能有效降低单点幻觉风险。