VERITAS: A Multi-agent Co-scientist for Verifiable Image-Derived Hypothesis Testing¶
会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/LucZot/veritas
领域: 医学图像 / LLM Agent
关键词: 多智能体科研系统、可验证假设检验、统计效力、证据分类、医学影像分析
一句话总结¶
Veritas 把「自然语言临床假设 → 可审计结论」拆成分析规划、分割、统计、解释四个阶段,由 PI / 影像专家 / 统计学家三个角色智能体加一个 Critic 协作完成,并用一个独立于智能体判断的证据分类算子把统计量机械映射为 Supported / Refuted / Underpowered / Invalid;在覆盖六个复杂度层级的 64 条心脏与脑胶质瘤 MRI 假设上,多数投票判定准确率达到 81.4%(前沿模型)/ 71.2%(本地 8–30B 开源模型),并取得最高的统计输出可验证率 86.6%。
研究背景与动机¶
医学影像里编码着体积测量、形态特征以及这些特征与患者结局的关联,是临床研究最核心的数据域之一。但要把影像数据变成统计上站得住的结论——科学证据的金标准——链条极其碎片化:一位神经肿瘤医生想验证「胶质母细胞瘤更强的侵袭性生物学行为,是否体现为比低级别胶质瘤更大的强化灶」,就要跨越多种软件和学科边界,依次解决图像分割、测量指标提取、统计检验选择、结果解读这四件事,中间任何一环出问题都会污染最终结论。这种协调成本既拖慢发现速度,也在事实上决定了「谁能参与影像研究」。
近两年 LLM 与多智能体系统开始自动化科研流程里的文献综合、假设生成与实验规划,也有工作用序贯否证加形式化错误控制来验证假设。但把它们搬到医学影像的假设检验上会撞上三个新障碍。其一,管线要跨越队列定义(从数据集里挑对患者)、视觉(分割解剖结构)、计算(把掩膜变成生物标志物)与统计(选择、执行、解读检验)四类差异极大的任务,模型必须联合推理,而现有影像侧 agent 大多停在感知层——分割、检索、视觉问答——从不做跨患者的群体级推断。其二,临床结论必须全程可审计:从分割掩膜到 p 值计算的每一步都要可检查、可复现,这恰好与大模型「给一段自然语言总结」的输出习惯相冲突。其三,临床队列往往很小,系统必须具备「认识论自觉」,分清「没检测到效应」和「样本量根本不足以检测到效应」,否则会把功效不足的分析当成真阴性。
本文的切入角度是照搬临床科学家的工作流:把研究拆成角色化分工,并强制每一步都留下机器可读、可执行、可回溯的产物,而不是让一个模型从头想到尾。核心 idea:用「角色专精智能体 + 阶段化可执行产物链 + 由评估器机械推导的证据标签」替代单体 LLM 的端到端推理,让医学影像上的假设检验既自主、又逐步可复核,并让 8–30B 的本地模型也能完成通常要前沿模型才能做的复杂推理。
方法详解¶
整体框架¶
形式化地说,方法是:给定数据集 \(D=\{(x_i, m_i)\}_{i=1}^{N}\)(\(x_i\) 是患者影像,\(m_i\) 是队列变量、临床协变量、生存终点等元数据)与一个自然语言假设 \(H\),自主判定 \(H\) 在现有证据下属于 Supported、Refuted、Underpowered 还是 Invalid。与传统计算管线不同,系统不在代码里硬编码指标定义和检验类型,而是先语义理解假设,再检查数据可行性、设计分析方案,最后端到端执行并留下可审计的痕迹。
流程分四个阶段。Phase 1 分析计划:三个角色智能体协商产出结构化的 plan.json,写清目标队列、人群限制、需要的解剖结构与观测、要派生的测量以及计划中的统计方案,并给出 TESTABLE / UNTESTABLE 的可行性判定(含不可检验的子类型与缺失需求);一个程序化 validator 在执行前检查 schema 完整性和与数据集元数据的一致性,若判定不可检验就直接以 Invalid 终止。统计学家同时在固定的 planning SESOI 下,按查到的队列规模估计先验功效。Phase 2A 分割:当假设需要影像测量时,影像专家生成分割请求(患者、目标结构、观测),后端用 SAT 模型处理并把二值掩膜写回共享数据库——这是整个框架的视觉核心,此后所有定量分析都锚定在这些掩膜上;不需要影像结构的假设跳过此阶段。Phase 2B 统计分析:统计学家写出可执行 Python,通过 API 取掩膜和元数据、计算计划中的测量、执行检验,报告效应量 δ、95% 置信区间、p 值和样本量;代码在带超时限制的沙箱中运行,失败或不合规的尝试会带着执行轨迹和 validator 反馈迭代重写(可选 Critic 介入),每轮最多 8 次尝试。Phase 3 解释:智能体在结构化讨论中综合前序产物,给出 verdict ∈ {YES, NO, INCONCLUSIVE} 与理由;关键在于评估器算出的证据标签在这一步被刻意对智能体隐藏。
系统有两套模型部署,工作流与提示词完全相同:本地开源阵列(PI / 影像专家用 GPT-OSS-20B,讨论与 Critic 用 Qwen3-8B,编码用 Qwen3-Coder-30B,合计 8–30B)与前沿阵列(GPT-5.2 负责 PI / 影像 / 编码,GPT-5 Mini 负责讨论与 Critic)。⚠️ 模型版本名按原文所载,原文引的是各家官方发布页而非论文。
可审计性靠产物实现:每个阶段产出的是结构化产物(假设记录 H、计划 P、分割请求 R、掩膜 M、代码 C、统计输出 S、判定 V、证据标签 L),全部版本化存储,而不是自然语言总结;阶段边界上有可行性检查、分割有效性检查、完整性检查、判定 schema 检查四道流程内闸门,另有评估器事后执行的 plan-exec 一致性检查。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["自然语言假设 H + 影像数据集 D"] --> B["角色专精智能体与四阶段产物链<br/>PI · 影像专家 · 统计学家 · Critic"]
B -->|TESTABLE| C["Phase 2A 分割<br/>SAT 输出二值掩膜"]
B -->|UNTESTABLE| Z["终止:直接判 Invalid"]
C --> D["数据集 API 边界与沙箱迭代执行<br/>统计代码 → δ / 95% CI / p / n"]
D --> E["证据分类算子 ECO<br/>四类证据标签 · 对智能体隐藏"]
D --> F["Phase 3 结构化讨论<br/>verdict:YES / NO / INCONCLUSIVE"]
E --> G["判定 + 证据标签 + 版本化产物链"]
F --> G
关键设计¶
1. 角色专精智能体与四阶段产物链:让每一步都留下机器可读的交接产物
单体 LLM 在这种长链条、多工具的任务上会级联幻觉,已有独立评测发现多个多智能体科研框架连一个完整研究循环都跑不完,agent 常在实现阶段编造结果。Veritas 的应对不是换更强的模型,而是换组织结构:PI 负责科学有效性与可行性,影像专家负责分割目标与成像协议,统计学家负责检验选择、效应量与功效分析,另有 Critic 默认在 2A / 2B 执行阶段审阅。真正起作用的是交接物的形态——每个阶段产出的不是自然语言总结,而是 JSON 计划、分割请求、Python 代码、统计输出、判定这类结构化、可执行、可版本化的产物,MetaGPT 关于「结构化中间产物能抑制幻觉级联」的经验被直接沿用。这样做让流程变长,但换来两个性质:任何一步都能被单独打开检查,出错时也能定位到是哪一步的产物不对;同时因为阶段之间靠机器可读产物耦合,每个角色只需要在受限上下文里做自己那一段的判断,小模型也能胜任。
2. 数据集 API 边界与沙箱迭代执行:把「编造统计结果」变成「跑不通就重写」
让 LLM 直接读原始文件并「总结」统计结果,等于允许它编造 p 值。Veritas 在这里设了两道闸。第一道是数据访问边界:智能体在分析期间从不直接访问原始文件,只能通过受约束的 API 层拿到队列发现、逐患者元数据、观测标识、分割掩膜和几何感知的测量工具;统一的 API 边界既标准化了溯源,也让「越界访问数据」可以被自动检测。第二道是执行边界:所有统计结论必须来自沙箱里真正跑通的 Python,失败或校验不过就带着执行轨迹和 validator 反馈重写,最多 8 次。这条闭环是系统抗幻觉的主力——论文的诊断指标显示,加入迭代自纠后「幻觉显著性」(给出 YES 判定但 p ≥ 0.05 或根本没有 p 值)从一次性基线的 9–12% 降到 ≤1.5%。但它也有明确的边界:沙箱只保证代码能跑通,不保证代码算得对。实测中本地配置仍有 10.9% 的运行在代码里生成了 mock / 随机数据而非真实测量,说明「执行成功」不等于「分析有效」,这是框架目前最薄弱的一环。
3. 证据分类算子 ECO:把认识论判断从智能体手里拿走
医学影像队列通常很小,把 p ≥ 0.05 一律读成「无效应」,会把功效不足的分析误判为真阴性;在二分类评测里,一个保守地把所有不显著结果都标成「已否证」的系统反而能刷出虚高准确率。Veritas 的解法是引入四标签证据分类:给定观测统计量 \((p, \delta, n)\) 和预设的最小关注效应量 SESOI \(\delta_0\),标签是一个确定性函数——\(\alpha=0.05\),\(\pi\) 是在 \(\delta_0\) 处按实际样本量算出的统计效力(即「若真实效应真有 \(\delta_0\) 那么大,本研究能检出的概率」),规则如下:
| 标签 | 判定条件 | 含义 |
|---|---|---|
| Supported | \(p < \alpha\) 且方向与假设一致 | 证据支持假设 |
| Refuted | (\(p \ge \alpha\) 且 \(\pi \ge 0.80\)) 或 (\(p < \alpha\) 且方向相反) | 功效充足确实无效应 / 显著的反向效应 |
| Underpowered | \(p \ge \alpha\) 且 \(\pi < 0.80\) | 功效不足以得出任何方向性结论 |
| Invalid | 不可检验或执行失败 | 结果不可信 |
这个标签由评估器侧的 Evidence Classification Operator 计算,并且在 Phase 3 开始前对智能体隐藏——智能体只能给出自己的 verdict,无法反推标签去「猜答案」。这样「结论是否被统计量支持」就从主观判断变成可核对的机械映射,也让 Supported 与 Underpowered 的区分成为评测的一部分:论文举的例子是 glioma_31(1p/19q 共缺失,n=13 对 n=86,power=0.38)应判 Underpowered 而非 Refuted,glioma_14(IDH 突变型 IV 级,n=28 对 n=367,power=0.72)处在边界。概念上它上承把 TOST 等价性检验形式化的四结果决策框架,区别是那类框架此前只作为人工分析指南存在,这里被真正自动化进了管线。
一个完整示例¶
取 UCSF-PDGM 上的一条 L2 假设:「IDH 野生型胶质瘤的强化肿瘤体积大于 IDH 突变型」,走一遍完整流程。
Phase 1 里,PI 先确认这个假设在该数据集上可检验(501 例、带 IDH 分子标记、有 T1 增强序列),统计学家从元数据查到两组队列规模并给出固定 SESOI 下的先验功效,影像专家指出需要 WT / NCR / ED / ET 四个子区,计划落成 plan.json 并通过 validator 的 schema 与元数据一致性检查。Phase 2A,影像专家发出分割请求,SAT 对这批复盘 MRI 输出四个子区的二值掩膜。Phase 2B,统计学家生成的 Python 依次完成:按 IDH 状态分组 → 从 ET 掩膜算体积 → 做组间检验(必要时加协变量调整)→ 打印 δ、95% CI、p 与两组 n;如果首次运行因掩膜缺失或几何不匹配报错,就带着执行轨迹重写,最多 8 次。接着 ECO 把 \((p, \delta, n)\) 映射成标签:p < 0.05 且方向一致 → Supported;方向相反 → Refuted;p ≥ 0.05 但 power ≥ 0.80 → Refuted(功效足够、确实无效应);power < 0.80 → Underpowered。最后 Phase 3 的智能体在看不到标签的前提下,只凭计划、代码与统计输出讨论出 YES / NO / INCONCLUSIVE。
对照 glioma_31 那条 1p/19q 假设:n = 13 对 n = 86,power 仅 0.38,p 不显著。按二分类评测,判「阴性」就算对了;四标签框架要求系统把它标成 Underpowered,也就是承认这次分析根本不足以支持任何方向性结论。
实验关键数据¶
基准是一个分层假设库:两个数据集各 32 条假设,共 64 条,跨越六个复杂度层级,每条假设的 ground truth 由「在真值分割掩膜与患者元数据上按 canonical 参考流程算出的统计量」确定,并经领域专家校验。每一层都混有正例、负例 / 无效应控制与功效不足 / 不可检验控制,从而把证据标签框架的四类结果都覆盖到:
| 层级 | 名称 | n | 考察能力 | 正例 | 负例 / 无效应 | 功效不足 / 不可检验 |
|---|---|---|---|---|---|---|
| L0 | 不可检验 | 5 | 可行性识别 | — | — | 5 |
| L1 | 仅元数据 | 9 | 统计推理 | 3 | 5 | 1 |
| L2 | 单一影像指标 | 23 | 视觉到统计的管线 | 15 | 8 | — |
| L3 | 工程化特征 | 6 | 特征工程 | 6 | — | — |
| L4 | 混合 | 16 | 多模态整合 | 8 | 3 | 5 |
| L5 | 多变量 | 5 | 高级统计推理 | 5 | — | — |
| 合计 | 64 | 37 | 16 | 11 |
评测用的两个数据集分别来自心脏影像与神经肿瘤:ACDC 含 150 例短轴心脏 cine MRI,分 DCM / HCM / MINF / RV / NOR 五组各 30 例,含 ED / ES 两个时相与 LV、右心室腔、心肌的真值分割,元数据有身高体重与心动周期参数,假设覆盖 L0–L4;UCSF-PDGM 含 501 例术前弥漫性胶质瘤 MRI(WHO 2 级 56、3 级 43、4 级 396),带 IDH 突变、MGMT 甲基化、1p/19q 共缺失等分子标记,495 例有遵循 BraTS 约定的真值肿瘤掩膜,元数据含年龄、性别、总生存(395 例有生存数据、228 个事件)与切除范围,SAT 负责分割 WT / NCR / ED / ET 四个子区,假设覆盖到 L0–L5(含生存分析与多变量回归)。基线是五个逐级对照的单模型消融:SMa 直接推理(只给预计算的组级汇总统计量,不写代码)、SMb 预计算特征 + 代码(给逐患者 CSV,写一个自动执行的脚本)、SMc 经 API 写代码(只给假设和 API 文档,写一个端到端脚本)、SMd 迭代 agentic(同 API,写码 → 执行 → 看输出 → 修正,最多 3 轮)、SMe 阶段引导(同 API,但按 Veritas 的阶段议程做单模型思维链)。这条链依次隔离了「代码执行 vs 纯推理」「预抽特征 vs 原始 API」「迭代自纠」「结构化阶段引导」四个维度,SMe 与 Veritas 的对比则直接隔离出「多智能体讨论」的贡献。
主实验¶
每种方法在 64 条假设上各跑 10 次重复(每方法 640 次运行)。证据准确率要求运行产出可执行的统计输出才能计入,因此 SMa 无此列;除特别说明外所有指标都只在可检验假设(L1–L5)上计算,L0 的可行性识别单独报告。基线按构造总会产出结果,故不报完成率。
| 模型族 | 方法 | 证据准确率(run) | 判定准确率(run) | 证据准确率(多数投票) | 判定准确率(多数投票) | 完成率 |
|---|---|---|---|---|---|---|
| 本地 8–30B | SMa 直接推理 | — | 56.1 | — | 55.9 | — |
| 本地 8–30B | SMb 预计算特征 + 代码 | 58.1 | 63.8 | 61.0 | 62.7 | — |
| 本地 8–30B | SMc 经 API 写代码 | 39.0 | 63.2 | 40.7 | 59.3 | — |
| 本地 8–30B | SMd 迭代 agentic | 46.3 | 66.0 | 52.5 | 66.1 | — |
| 本地 8–30B | SMe 阶段引导单模型 | 55.1 | 58.0 | 57.6 | 61.0 | — |
| 本地 8–30B | Veritas | 63.4 | 71.4 | 67.8 | 71.2 | 78.1 |
| 前沿 GPT-5.2 | SMa 直接推理 | — | 55.9 | — | 55.9 | — |
| 前沿 GPT-5.2 | SMb 预计算特征 + 代码 | 63.7 | 70.7 | 69.5 | 69.5 | — |
| 前沿 GPT-5.2 | SMc 经 API 写代码 | 52.9 | 72.8 | 61.0 | 76.3 | — |
| 前沿 GPT-5.2 | SMd 迭代 agentic | 64.7 | 76.6 | 64.4 | 74.6 | — |
| 前沿 GPT-5.2 | SMe 阶段引导单模型 | 60.8 | 65.5 | 59.3 | 61.0 | — |
| 前沿 GPT-5.2 | Veritas | 70.0 | 81.0 | 76.3 | 81.4 | 87.5 |
L0 可行性识别:Veritas 本地 74.0%、前沿 100%;所有基线均为 100%,只有 SMb 前沿为 98%。
分数据集与分层的 run 级证据准确率(判定准确率同时列出,L0 列为可行性识别):
| 方法 | ACDC 证据 | ACDC 判定 | UCSF 证据 | UCSF 判定 | L1 | L2 | L3 | L4 | L5 | 全部证据 |
|---|---|---|---|---|---|---|---|---|---|---|
| Veritas(本地) | 91.0 | 87.9 | 36.7 | 49.0 | 54.4 | 87.0 | 51.7 | 49.4 | 30.0 | 63.4 |
| SMc(GPT-5.2) | 79.0 | 85.1 | 27.7 | 60.9 | 75.6 | 70.9 | 43.3 | 34.4 | 0.0 | 52.9 |
| SMd(GPT-5.2) | 95.9 | 96.6 | 34.7 | 53.9 | 94.4 | 85.2 | 55.0 | 42.5 | 0.0 | 64.7 |
| SMe(GPT-5.2) | 90.3 | 96.9 | 32.3 | 35.1 | 56.7 | 89.1 | 56.7 | 43.1 | 0.0 | 60.8 |
| Veritas(前沿) | 90.0 | 78.9 | 50.7 | 83.2 | 90.0 | 90.4 | 73.3 | 45.0 | 16.0 | 70.0 |
消融实验¶
消融用本地 Veritas 配置,每条假设 10 次运行,默认设置是 16k 上下文、执行阶段启用 Critic、温度 0.2(视觉来源的消融,即真值掩膜与 SAT-Pro 的对比,在原文补充材料里):
| 配置 | ACDC 证据 | ACDC 判定 | UCSF 证据 | UCSF 判定 | 合并证据 | 合并判定 |
|---|---|---|---|---|---|---|
| 默认(16k 上下文) | 91.0 | 87.9 | 36.7 | 49.0 | 63.4 | 71.4 |
| 上下文降到 8k | 91.4 | 91.7 | 29.0 | 45.7 | 59.7 | 72.0 |
| 上下文升到 32k | 90.0 | 87.1 | 31.7 | 51.8 | 60.3 | 72.7 |
| 去掉 Critic | 90.7 | 90.1 | 32.0 | 50.5 | 60.8 | 73.2 |
| 温度置零 | 90.3 | 88.7 | 27.7 | 47.5 | 58.5 | 72.6 |
诊断率刻画「怎么失败」而不只是「错了多少」,注意这些是各方法在自己运行池上的条件率,不是一张扁平的质量排名:
| 方法 | 过度声称 ↓ | 错误否证 ↓ | 幻觉显著性 ↓ | 合成数据 ↓ | 硬编码 p ↓ | 可验证率 ↑ |
|---|---|---|---|---|---|---|
| SMc 经 API(本地) | 65.1 | 6.7 | 8.7 | 0.2 | 1.4 | 82.3 |
| SMd 迭代(本地) | 25.6 | 10.2 | 1.5 | 0.2 | 12.2 | 53.6 |
| SMe 阶段引导(本地) | 3.8 | 8.5 | 0.0 | 0.9 | 17.2 | 57.7 |
| Veritas(本地) | 7.2 | 24.2 | 2.7 | 10.9 | 2.4 | 77.3 |
| SMd 迭代(前沿) | 14.8 | 11.7 | 0.0 | 0.6 | 3.3 | 70.5 |
| SMe 阶段引导(前沿) | 13.0 | 7.9 | 0.0 | 0.5 | 10.9 | 68.1 |
| Veritas(前沿) | 20.0 | 12.6 | 0.4 | 3.6 | 15.0 | 86.6 |
可验证率指运行中报出了独立复核所必需的四项核心统计输出(检验类型、样本量、效应量、p 值)的比例。
关键发现¶
- 多智能体分工的增益可以直接归因。 SMe 到 Veritas 的对比最干净:同样的阶段议程、同样的 API 文档、同样的沙箱,差别只有「多智能体讨论」还是「单模型思维链」,多数投票判定准确率本地 +10.2pp(71.2% vs 61.0%)、前沿 +20.4pp(81.4% vs 61.0%)。前沿上的差距更大,说明基础模型越强,多智能体讨论越划算。
- 代码执行是硬门槛,迭代自纠主要修的是统计而不是解读。 SMa 纯推理不论模型规模都只有约 56% 判定准确率;加上代码执行(SMb)涨 8–15pp。SMc → SMd 的迭代自纠对判定只涨 +2.8 / +3.8pp,对证据准确率却涨 +7.3 / +11.8pp,说明自纠提升的是统计分析质量,最终解读环节本来就相对容易。
- 瓶颈在「算得对」而不是「想得对」。 所有方法的判定准确率都高于证据准确率(Veritas 本地 71.4% vs 63.4%,前沿 81.0% vs 70.0%),前沿 Veritas 在 UCSF 上尤其极端:判定 83.2% 甚至高于 ACDC 的 78.9%,而证据准确率只有 50.7%。这直接把改进目标指向生存模型、多变量回归这类复杂分析的代码生成。
- 只有 Veritas 在 L5 上拿到非零的证据准确率(16–30%),而所有单模型基线在 L5 上都是 0%,尽管它们在这些假设上的判定准确率最高能到 92%——也就是说它们给出了正确的 YES/NO 猜测,却没有任何有效的统计支撑。L5 只有 5 条假设,数值精度有限,但「非零 vs 全零」这个定性差距是稳的。
- 四标签框架确实在区分真伪。 若没有 Underpowered 标签,UCSF 上一批小子组假设会被和真阴性混为一谈:glioma_31(n=13 对 n=86,power=0.38)和 glioma_14(n=28 对 n=367,power=0.72)都属于功效不足,系统必须承认这两条分析支持不了任何方向性结论,而不是靠「一律判阴性」刷分。
- 分层上的敏感性集中在 UCSF。 ACDC 证据准确率在所有消融下都稳定在 90–91%,说明心脏假设基本被基础架构解决;敏感性几乎全在 UCSF-PDGM 的证据准确率上:上下文从 16k 降到 8k 掉 7.7pp(复杂生存/回归分析放不下),升到 32k 也没收益(再降 5.0pp),温度置零掉 9.0pp(复杂假设需要一定的随机代码探索)。去掉 Critic 反而让合并判定 +1.8pp,说明执行阶段的迭代改写闭环已经把错误纠正做掉了,Critic 是冗余的。
- 诚实的代价。 前沿 Veritas 的过度声称(20.0%)和硬编码 p 值(15.0%)在代码型方法里偏高,本地 Veritas 的错误否证(24.2%)和合成数据率(10.9%)最高——前者因为前沿配置真的去做更多、更复杂的分析,后者是因为 ECO 机械派标签,错误否证反映的是代码质量差导致在功效充足的真阳性假设上算出了零结果或无效统计量,而不是保守的解读风格。
亮点与洞察¶
- 把「可验证」做成了可量化的指标。 多数 agent 评测只报端到端准确率,Veritas 额外统计「产出四项核心统计输出的运行比例」(前沿 86.6%),这使得它的错误也可被追溯、诊断和修正;作者对「原始数据方法」与「预计算特征方法」的区分很关键——SMb/SMc 的可验证率虽然也约 82%,但那是因为它们的代码更简单、完成率更高,代价是 L5 证据准确率为零。
- 证据标签是一个没有自由参数的决策规则。 标签是 \((p, \delta, \pi)\) 的确定性函数,除显著性水平 α 和 SESOI 外不带任何可调项,比「让 LLM 当裁判」可复现得多,也消除了 agent 基准里常见的评测歧义。这个思路完全可以搬到任何含假设检验的基准上。
- 消融梯度设计得很讲究。 SMa → SMb → SMc → SMd → SMe 每一级只改一个变量(代码、数据访问、迭代、阶段引导),最后一级与 Veritas 只差「多智能体」,所以增益可以逐项归因。这种「同提示词、同工具、同沙箱、只改组织结构」的对照设计值得迁移到其他 multi-agent 系统的评测里。
- 结构化分解替代模型规模。 本地 8–30B 阵列拿到 71.2%,是所有同规模基线里最好的;对数据不能出院、必须院内本地部署的临床场景,这个结论比绝对精度更有价值。
- 一份可复用的失败模式名录。 过度声称、错误否证、幻觉显著性、合成数据、硬编码 p 值这五类诊断把「agent 出错」拆成了可分别检测的具体模式,任何代码型 agent 评测都能借用;其中「硬编码 p 值」特别值得注意——迭代自纠把幻觉显著性压到 ≤1.5% 后,部分模型转而在代码里直接写死显著性阈值,把失败从输出层挪到了代码层。
局限与展望¶
- 分割依赖(作者承认)。 所有影像结论都建立在分割质量上,框架把分割当作点估计,不做不确定性传播;原文补充材料里量化了真值掩膜与 SAT 掩膜之间的差距,但如何把分割误差传进统计推断仍是未来工作。
- 基准范围(作者承认)。 只覆盖两个 MRI 域与一个分割模型;扩展到 CT、病理需要新的分割模型(虽然这类模型已经很普及)。假设库也还不覆盖纵向分析和因果推断。
- 真值来源(作者承认)。 ground truth 是用给定数据集上的专家校验参考计算建立的——这在评测里几乎是机械可验证性的必要条件,但可能反映数据集特异效应而非人群层面效应。
- 数值解读要克制。 诊断率是各方法自身运行池上的条件率,池子不同不可直接比较;L5 只有 5 条假设,「16–30% vs 0%」的定性结论稳,具体数值不稳;前沿 Veritas 在 ACDC 的判定准确率(78.9%)反而低于多个基线(85–97%),作者归因于流水线在简单假设上的执行失败,这也说明在本来不难的任务上多阶段流程是净开销。
- 我自己的观察。 沙箱只保证「代码能跑」,不保证「代码算的是对的」——本地 Veritas 的 10.9% 合成数据率说明自纠闭环里缺少对代码语义的检查。一个直接的改进是在 Phase 2B 增加静态检查:验证脚本是否真的从掩膜/API 取数、是否把显著性阈值写死、是否在分组上符合计划中的人群限制。另外可以按需自适应裁剪阶段——对 L1/L2 这类假设,Phase 2A 与多智能体讨论的收益有限,直接用更短的流程既能省成本也可能减少在简单任务上的执行失败。
相关工作与启发¶
- vs Popper:同样用序贯否证加形式化错误控制来验证假设,但操作对象是表格和文本数据,既没有医学影像,也没有功效分析;Veritas 补的正是「影像接地 + 功效感知」这两个维度。
- vs MedAgent-Pro:把分割工具和编码 agent 组合起来,从图像计算临床指标,但目标是逐患者诊断,不做群体级假设检验;Veritas 的推断单位是队列,输出是带证据标签的统计结论。
- vs MESHAgents:同样面向心血管影像的关联研究、同样用多智能体编排,但它推理建立在预抽取的表格表型上,不从图像导出测量,也不给证据强度分级。
- vs AI Scientist / AI co-scientist(Lu et al.、Gottweis et al.、Robin 等):它们做完整的科研循环,但主要落在文本、表格与 ML 实验上;Veritas 的位置是「把影像测量、可执行统计验证、功效感知的证据校准统一进一条可审计管线」。
- vs 单模型基线 SMa–SMe:这条消融链本身就是对单体 LLM 做科研的逐项否定——纯推理不够,加代码执行、原始数据访问、迭代自纠、阶段引导之后仍不如多智能体讨论;同时它也提醒我们,SMe 这类「单模型 + 相同阶段指令」是很强的对照,任何 multi-agent 系统都应该做这个对照再声称增益来自分工。
评分¶
- 新颖性: ⭐⭐⭐⭐ 首次把功效感知的证据标签做成管线里机械推导的一等公民,并把 AI co-scientist 接到医学影像的群体级假设检验上。
- 实验充分度: ⭐⭐⭐⭐ 64 条假设 × 10 次重复 × 两套模型族 × 五级消融链,再加诊断率与配置消融;短板是 L5 仅 5 条假设、真值来自数据集内参考计算。
- 写作质量: ⭐⭐⭐⭐ 失败模式表述坦率,连对己方不利的矛盾结果(ACDC 判定反低、错误否证与合成数据率最高)都如实报告并给出解释。
- 价值: ⭐⭐⭐⭐ 对要求可审计、可本地部署的临床研究场景有直接实用价值,证据标签框架可迁移到任何含统计检验的评测。