跳转至

BioAgent Bench: An AI Agent Evaluation Suite for Bioinformatics

会议: ICML 2026
arXiv: 2601.21800
代码: https://github.com/bioagent-bench/bioagent-bench
领域: LLM Agent / Benchmark / 生物信息学
关键词: agent 评测, 生物信息学 pipeline, LLM 判官, 鲁棒性扰动测试

一句话总结

BioAgent Bench 给"用 LLM agent 跑生物信息学 pipeline"这件事造了一个端到端的评测套件——10 个真实 bioinformatics 任务 × 10 个 frontier/open-weight 模型 × 3 个 agent harness,配合 LLM 判官评分和 corrupted/decoy/prompt-bloat 三类扰动测试,发现前沿模型能完成 90%+ pipeline 但鲁棒性堪忧。

研究背景与动机

领域现状:LLM agent 在软件工程(SWE-bench)、通用 tool-use(AgentBench、ToolBench)上已经有成熟 benchmark;生物医学方向也有 BioML-bench、LAB-Bench、BixBench 等。但这些基准要么把任务退化成 QA / code generation,要么聚焦"数据分析"而非"完整 pipeline 执行"。

现有痛点:生物信息学的真实工作流极复杂——要串联命令行工具、管理异构文件格式、解释中间产物,而且评估困难,因为同一份数据有多套合理 pipeline、参数选择对结果影响巨大、很多步骤没法用 pass/fail 严格判定。直接照搬 SWE-bench 的硬匹配评测方式根本走不通。

核心矛盾:(1) 真实 bioinformatics 任务长(数小时)、消耗大(数十 GB 内存),而 benchmark 需要可重现、可大规模运行;(2) 多解的存在让"自动判分"和"严格 ground truth"打架;(3) 临床/IP 敏感数据无法发给闭源 API,迫使必须评估 open-weight 模型,但 open-weight 又远弱于 frontier。

本文目标:(i) 造一个能在合理算力预算(<4h、<48GB)下跑完的、端到端 pipeline 风格的 bioinformatics 任务集;(ii) 设计能容忍多解、用 LLM 当判官的评分协议;(iii) 在 vanilla 之外加扰动测试,分别检验 agent 对损坏数据、诱饵文件、prompt 膨胀的鲁棒性;(iv) 系统对比 5 个闭源 + 5 个开源模型在 3 个 harness 下的表现。

切入角度:把任务规模刻意限定在"小生物(细菌、病毒、霉菌)"的样本上,从而把 reference data 也直接打包成输入文件,规避了"agent 还要自己去下载几十 GB 基因组"这种基础设施问题,让评测专注于 pipeline 编排能力本身。

核心 idea:用"任务 prompt + 输入数据 + reference 数据 + 期望 CSV/TSV 输出格式"作为统一任务规范,让 LLM 判官比对 trace + outcome 给出 step-level 完成度评分,再配三类扰动测试探测"高层 pipeline 构造对 vs 低层 step-level 推理对"是否同时成立。

方法详解

整体框架

BioAgent Bench 要回答一个很实际的问题:把一个 LLM agent 丢进真实的生物信息学工作流里,它到底能不能从头到尾把 pipeline 跑通、跑稳。整套 benchmark 由三个组件咬合而成。任务集给出 10 个端到端任务,覆盖 RNA-seq、变异调用、元基因组、转录组定量、实验进化等子领域,每个任务打包成「自然语言 prompt + input 数据 + reference 数据 + ground-truth CSV/TSV」的统一规范。评估 harness 在一个 hashed 的 sandbox 目录里运行 agent,让它在 Claude Code / Codex CLI / OpenCode 三个 harness 之一中工作,可以调通用 Python 包或专用 bioinformatics 工具,最后把每一步的产物加最终结果文件交给 grader。LLM grader 则用 GPT-5.1 读入 input/reference 路径、expected outcome、agent 实际产出的 outcome、trace(只给文件路径不给内容)和一份 grading rubric,输出 steps_completed / steps_to_completion / final_result_reached / results_match / f1_score 五个字段。整套评测的 primary metric 是 completion rate,即「通过的必要 step 数 / 总 step 数」。在 vanilla 跑通之外,benchmark 还叠了一套鲁棒性套件,把「能搭出 pipeline」和「真懂每一步生物推理」拆开来探。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    A["任务集 + 规模约束<br/>prompt + 输入 + reference + GT CSV<br/>专挑小生物(4h / 48GB 预算内)"] --> B["agent 在 harness 沙箱执行<br/>Claude Code / Codex CLI / OpenCode<br/>编排 Python·R·bash 与 bio 工具"]
    B --> C["产出:每步 artifact + 最终结果 + trace"]
    C --> D["LLM 判官 + 多维度评分协议<br/>GPT-5.1 比对 expected/actual + trace 路径 + rubric"]
    D --> E["输出 5 字段 → completion rate"]
    A -->|叠加扰动变体,各自再跑一遍| R
    subgraph R["三类扰动鲁棒性测试(鲁棒性套件)"]
        direction TB
        R1["multi-trial:跑 4 次算 Jaccard / Pearson"]
        R2["prompt bloat:灌无关内容看 Δcompletion"]
        R3["corrupted:破坏文件,应识别报错"]
        R4["decoy:放诱饵文件,应忽略"]
    end
    R --> F["鲁棒性指标<br/>一致性 / 抗干扰 / 识别率"]

关键设计

1. 任务集与规模约束:让端到端 pipeline 能在一张普通显卡的预算里跑完

真实 bioinformatics 工作流动辄数小时、吃掉几十 GB 内存,还要 agent 自己去下载几十 GB 的参考基因组——这些都让大规模、可重现的评测寸步难行。BioAgent Bench 的破局点是把任务规模刻意压到 <4h、<48GB,办法是专挑「小生物」做样本:小鼠 Alzheimer 模型、E. coli 实验进化、海豚病毒元基因组等,它们的 reference data 小到能直接塞进任务输入文件里,于是「找参考、下载、stage」这类基础设施杂活被整体跳过,评测得以聚焦在 pipeline 编排能力本身。10 个任务横跨 bulk/single-cell RNA-seq、比较基因组学、变异调用(细菌进化 + GIAB NA12878 + 囊性纤维化)、病毒元基因组、转录定量等,实现语言混用 Python / R / bash;其中 4 个(cystic-fibrosis、giab、transcript-quant、viral-metagenomics)是 "verifiable" 的,可做二元 pass/fail 判定。每个任务都硬性要求「端到端执行 + 结构化 CSV 输出」。作者特意把整个 benchmark 定位成「软件工程类」而非「生物数据分析类」,因为前者更便于未来接 RL / distillation 等训练用途——代价是放弃了对人类基因组级真实工作流的覆盖。

2. LLM 判官 + 多维度评分协议:用软判分替硬匹配,给「方向对、格式错」的 agent 部分信用

bioinformatics 任务天然多解——同一份变异调用既能用 GATK4 HaplotypeCaller 也能用 DeepVariant,硬编码一份 ground-truth 去做精确匹配根本走不通。BioAgent Bench 改用 GPT-5.1 当 grader,喂给它 (input/reference 路径, expected CSV, agent 产出的 CSV, trace 的文件路径树, grading rubric),rubric 明确优先看「pipeline 完成度」而非数值精确性,输出五个字段:steps_completed(已完成步数)、steps_to_completion(任务所需总步数估计)、final_result_reached(是否产出最终 artifact)、results_match(rubric 规则下的正确性 flag)、f1_score(仅 giab 适用)。关键巧思有两处:让 grader 读 trace 而不是只看最终输出,就能给「高层把 pipeline 搭对了、只是最后输出格式没对齐」的情况发部分信用,这比 SWE-bench 式的硬 pass/fail 更接近人类专家的打分直觉;而 trace 只暴露文件路径树、不暴露文件内容,既保护了敏感的临床/IP 数据,又压低了 grader 的 token 消耗。

3. 三类扰动鲁棒性测试:把「跑得通」和「靠谱」分开,专门探 agent 是真懂还是模式匹配

作者的核心论点是 high-level pipeline construction ≠ reliable step-level reasoning——只看 vanilla completion rate 会系统性高估 agent 的生物推理能力。为此他们在 vanilla 之外加了三类正交的扰动,每类瞄准一种失败模式。Multi-trial 一致性让同一任务跑 4 次,对分类结果(KEGG pathways、Gene IDs)算 Jaccard、对数值结果(p-value、abundance)算 Pearson,看 agent 每次跑出来的中间决策稳不稳。Prompt bloat 在原 prompt 上灌大段无关内容,观察 completion rate 的变化量 \(\Delta\),测的是抗干扰鲁棒性。Corrupted input 人为破坏 FASTQ/BAM 等输入文件,理想的 agent 应当识别并报错(标 ✓ 表示成功识别),测的是认知能力。Decoy input 则在目录里多放几个不该用的诱饵文件,理想的 agent 应当忽略它们(标 ✗ 表示没被诱骗),测的是「先验地知道该用哪个文件」的注意力判断。把 corrupted / decoy / bloat 拆成三个独立探针,比笼统跑一次 stress test 更能精确定位 agent 到底栽在哪一环。

损失函数 / 训练策略

benchmark 性质,无训练;评测端用 GPT-5.2 在 Codex CLI harness 作为主 robustness 评估模型,"high" reasoning effort 默认开启。

实验关键数据

主实验

在 vanilla setting 下 10 个任务的 average completion rate(Codex CLI harness):

模型类型 模型 平均 completion%
闭源 frontier Claude Opus 4.5 100
闭源 frontier Gemini 3 Pro / GPT-5.2 / Sonnet 4.5 >90
Open-weight 最佳 GLM-4.7 82.5
Open-weight 其它 各种 低至 ~65

Planning vs Execution:仅给"高层 pipeline 计划"打分(GPT-5.1 用 1-5 评判),与 end-to-end completion rate 的 Pearson r=0.61,相关但不决定性——例如 Gemini-Pro-3 计划评分弱但执行强,说明 open-weight 的瓶颈更多在"多轮 agentic 能力"而非"领域知识"。

消融实验

Multi-trial 稳定性(GPT-5.2 在 Codex CLI 跑 4 次,对每个任务算 Jaccard / Pearson):

任务 Jaccard Pearson 说明
transcript-quant 1.000 1.000 完全确定性
cystic-fibrosis 1.000 NA 高一致性
deseq 0.978 0.995 几乎稳定
viral-metagenomics 0.667 1.000 数值稳但分类有抖动
metagenomics 0.395 0.746 中等
alzheimer 0.160 0.219 不稳定
comparative-genomics 0.004 NA 几乎完全不一致
evolution 0.000 NA 完全不一致

平均 Jaccard 0.43、Pearson 0.73——同一 agent 跑同一任务 4 次,分类结果重叠不到一半。

扰动测试(GPT-5.2 单 trial,Δ% 为 prompt-bloat 后 completion 变化):

任务 识别出 corrupted? 抵御 decoy? Δ completion (%)
alzheimer-mouse -12.5
comparative-genomics -20.0
deseq -100.0
evolution +75.0
giab

关键发现

  • 前沿模型不需要复杂 scaffolding——Claude Opus 4.5 用裸 Codex CLI 就能 100% 完成 pipeline,挑战了"必须造 agentic 框架"的假设。
  • Pipeline 构造 ≠ step-level 推理——多次 trial 之间结果差异极大(comparative-genomics、evolution 几乎完全不一致),说明 agent 即便能"跑完",每次跑的中间决策(参数、规范化、统计假设)也不稳定。
  • Corrupted data 识别率低——多数任务 agent 不会识别人为损坏的输入,会傻乎乎照跑得出错误结果;唯一例外是 deseq(识别后直接报错 completion 掉 100%),反而比"硬跑"更不利。
  • Decoy 鲁棒性差——大多数任务 agent 会被诱饵文件误用,缺少"先验地知道该用哪个文件"的判断力。
  • 隐私场景下开源模型有价值——尽管 frontier 闭源更强,但敏感患者数据不能外发,open-weight 仍是必要选项;本文给 open-weight 模型在 bioinformatics 上提供了首份系统 baseline。

亮点与洞察

  • 任务规模 vs 评测可行性的精妙折衷——刻意挑小生物,让 reference data 可以塞进输入文件,规避了"agent 还要自己下载 30GB human reference"的基础设施开销,这是 benchmark 能 scale 的关键。
  • LLM grader 看 trace 文件路径树而不是文件内容——既保护了敏感数据,也降低了 grader 的 token 消耗,是个很务实的协议设计。
  • 三类扰动设计——把 corrupted(认知)/ decoy(注意力)/ bloat(鲁棒性)拆开测试,比单一 "stress test" 更能定位 agent 的失败模式。
  • 首次系统对比 5 个闭源 + 5 个开源 agent 在 bioinformatics 上,给社区一份能直接复用的 leaderboard 基础。

局限与展望

  • 任务规模偏小——刻意排除了 human-scale 真实工作流(如完整 30× WGS variant calling),现实部署中的"找参考、下载、stage"等基础设施步骤被完全跳过,generalization 到生产场景有限。
  • LLM 评分本身有偏——grader 也是 LLM(GPT-5.1/5.2),可能对某些 trace 模式有偏好;且 grader 与被评 agent 同代际,存在"用 LLM 评 LLM"的循环依赖。
  • 扰动测试是单 trial——只跑一次就下结论,统计噪声大;correlation 表格里有些任务(comparative、evolution)4 次重复差异比扰动差异还大,应当报告 perturbation × seeds 的 2D 表。
  • Open-weight 仅评 pass@1,robustness 部分完全没在 open-weight 上跑,是个明显遗憾。
  • 缺少 agent loop 失败模式的定量分析——只说"有些 frontier 模型会陷入 error-correction 循环或过早终止",没给 trace 长度/loop 次数等量化指标。

相关工作与启发

  • vs SWE-bench (Jimenez et al., 2024):SWE-bench 用单元测试 pass/fail 严判,BioAgent Bench 用 LLM judge 软判 + step-level partial credit,更适合多解的科学计算工作流。
  • vs BioML-bench (Miller et al., 2025):BioML 偏 ML 流程(蛋白工程、单细胞、影像、药发),BioAgent Bench 偏 bioinformatics 工具链编排,互补关系。
  • vs LAB-Bench (Laurent et al., 2024):LAB-Bench 是多选题为主的"研究技能"评测,BioAgent Bench 强调实际执行能力。
  • vs BixBench (Mitchener et al., 2025):BixBench 偏数据分析推理,BioAgent Bench 强调端到端 pipeline 执行 + 鲁棒性扰动。
  • 启示:在任何"多解 + 多步 + 中间产物海量"的领域(量子化学、地球科学 pipeline、机器人技能链),都可以借鉴本文"LLM judge + 任务规模约束 + 三类扰动"的协议设计来造可 scale 的 agent benchmark。

评分

  • 新颖性: ⭐⭐⭐ 协议设计务实,但任务格式和 LLM-judge 范式不算开创性
  • 实验充分度: ⭐⭐⭐ 10 任务 × 10 模型 × 3 harness 覆盖较广,但扰动测试单 trial、open-weight 没做 robustness 是硬伤
  • 写作质量: ⭐⭐⭐⭐ 概念清晰(task/trial/grader/harness/suite 严格区分),结果章节直白
  • 价值: ⭐⭐⭐⭐ 给"用 agent 做 bioinformatics"这件事的可行性提供了首个系统答案,对实际部署有参考意义