← 返回资料站  /  AI Scientist
论文 端到端系统

Robin: A multi-agent system for automating scientific discovery

Robin:把文献检索、假设生成和数据分析串成闭环的多智能体系统
一句话FutureHouse 把 PaperQA2 系文献 agent(Crow/Falcon)和数据分析 agent(Finch)接成一条流水线,只输入病名 "dry AMD",系统提出"增强 RPE 细胞吞噬"这一策略并给出候选药,人做湿实验、agent 读原始流式/RNA-seq 数据,两轮迭代后命中 ripasudil(日本已批的 ROCK 抑制剂,青光眼适应症);2026 年 5 月发表于 Nature,同期补上了消融实验、Deep Research 基线和 RPE-SC 正交验证,但 preprint 里 7.5 倍的效应量在正刊里改成了 1.89 倍。

这是什么

问题设定是 drug repurposing:很多重定位机会所需的证据早就散落在文献里,只是没人把它们连起来(论文举例 dabrafenib 的耳保护作用滞后 10 年、ketamine 抗抑郁滞后 22 年)。作者想验证的是:LLM agent 能不能把这种"跨文献连线"自动化,并且不止停在提假设,而是能读实验数据、据此改假设。

Robin 的输入只有一个疾病名,输出是排好序的候选药清单 + 建议的体外 assay;湿实验由人做,原始数据回传给系统由 Finch 分析,分析结论再喂回下一轮假设生成。作者把这个循环叫 lab-in-the-loop,自称是第一个把"提假设—定实验—读数据—改假设"这几步全部自动化的系统(实验操作仍由人执行)。

案例是干性年龄相关性黄斑变性(dAMD),发达国家不可逆失明首因,治疗手段极少。Robin 选中的 assay 是 RPE 细胞吞噬能力增强(流式读数),第一轮命中 Y-27632(ROCK 抑制剂),RNA-seq 追踪机制时发现 ABCA1 上调 3 倍(adj. p=2.13e-83),第二轮据此提出并验证了 ripasudil。arXiv 版 2025-05,Nature 版 2026-05-19(s41586-026-10652-y),代码 Apache-2.0,691 stars。

系统架构。a 是最外层闭环:输入只有病名,Hypothesis Generation 与 Experimental Analysis 之间夹着一个必须由人执行的 Laboratory Experiments 环节。b 展开成四步:Crow 选 assay → Falcon 评估候选药 → Finch 分析原始数据 → 结论回灌下一轮假设(虚线)。c 是三个 agent 的分工:Crow 轻量检索、Falcon 深度检索写评估报告、Finch 在 Jupyter 里跑分析。看这张图时注意黄色的 Laboratory Experiments 框——"全自动"的边界就在这里。
系统架构。a 是最外层闭环:输入只有病名,Hypothesis Generation 与 Experimental Analysis 之间夹着一个必须由人执行的 Laboratory Experiments 环节。b 展开成四步:Crow 选 assay → Falcon 评估候选药 → Finch 分析原始数据 → 结论回灌下一轮假设(虚线)。c 是三个 agent 的分工:Crow 轻量检索、Falcon 深度检索写评估报告、Finch 在 Jupyter 里跑分析。看这张图时注意黄色的 Laboratory Experiments 框——"全自动"的边界就在这里。

机制与做法

假设生成:两级 LLM 锦标赛排序

第一级选 assay:给定病名,先让 Crow(PaperQA2 的轻量文献 agent)回答若干关于病理的通用问题,以这些报告为 context 产出 10 个候选致病机制,再对每个机制让 Crow 写一份"体外模型 + 可用于测药效的 assay"详细报告。然后用 LLM judge 做两两比较,Bradley-Terry-Luce 模型算强度分排名,取第一名作为实验策略。

第二级选药:在选定的 assay 下同样先做文献综述,提出 30 个候选药,每个交给 Falcon(深度检索)写完整评估报告(含理由和潜在问题),再跑一次 LLM 判决的锦标赛。≤25 个假设时跑完全round-robin,>25 时随机抽 300 对比较。生成用 o4-mini,judge 用 Claude 3.7 Sonnet。dAMD 这一轮总共读了 151 篇(assay 阶段)+ 约 400 篇(候选药阶段)论文。

judge 的 prompt 不是手写的:先让领域专家做一批两两比较,把专家判断喂给 Gemini 2.5 Pro 让它反写出 judge prompt。校准结果:judge 的 top-10 里平均 7.25 个与专家 top-10 重合,同题重测一致率 88%(人类专家 61%)。

第二轮实验的主结果(arXiv 版)。a 是 Robin 结合第一轮 RNA-seq 结论提出 ripasudil 的理由摘录。b 是第二轮送测候选(正文写人工挑了 10 个)在吞噬 assay 里的 MFI,只有 ripasudil 和 Y-27632(深蓝)显著高于 DMSO 基线(红虚线);ripasudil 约 10.5×10⁴ vs DMSO 约 1.4×10⁴,这就是 preprint 里 7.5 倍的来源——正刊版重新分析后改成 1.89 倍,人工分析一直是 1.75 倍,读这张图时要把纵轴的倍数关系和正文数字对着看。
第二轮实验的主结果(arXiv 版)。a 是 Robin 结合第一轮 RNA-seq 结论提出 ripasudil 的理由摘录。b 是第二轮送测候选(正文写人工挑了 10 个)在吞噬 assay 里的 MFI,只有 ripasudil 和 Y-27632(深蓝)显著高于 DMSO 基线(红虚线);ripasudil 约 10.5×10⁴ vs DMSO 约 1.4×10⁴,这就是 preprint 里 7.5 倍的来源——正刊版重新分析后改成 1.89 倍,人工分析一直是 1.75 倍,读这张图时要把纵轴的倍数关系和正文数字对着看。

数据分析:Finch 多轨迹 + 共识

Finch 是 BixBench 里那个 Jupyter-native 分析 agent,基于 Aviary 框架、ReAct 式提示,只有两个工具:edit_cell(在 notebook 里写并执行 cell)和 submit_answer。运行环境是预装了 Python/R/Bash 生物信息库的固定 Docker 镜像(BixBench-env:v1.0)。

生物数据分析本身有主观性(流式怎么 gating、RNA-seq 怎么过滤),而 agent 每次跑还会有随机性。作者的处理是并行跑多条独立轨迹再做 meta-analysis 取共识:论文正文说可以起 10 条,图 3C 的 RNA-seq 共识来自 8 条,而开源代码 robin/analyses.py 里 PARALLEL_ANALYSIS = 5。共识图显示同一批基因在 >50% 轨迹里都被判为显著差异表达。

分析结论最后由一个 LLM 抽成结构化 JSON(prompts.py 里的 experimental insights 段),作为下一轮假设生成的额外 context——这就是闭环的接缝处。

工程实现上的"退化":agent 变成固定 notebook

Methods 里有一句值得注意的话:论文实验用的是 agentic 实现,但"Robin 几乎总是以相同顺序调用工具",所以他们干脆把它翻译成了一个流水线式的 Jupyter notebook,以提高稳定性和易用性。开源仓库里就是这个版本:robin/ 下 assays.py / candidates.py / analyses.py 三个函数依次调用,agent 的自由度只剩在每一步内部。

对课题组的意思很直接:这类系统真正起作用的部分不是"agent 自主规划",而是(a)高质量检索工具、(b)把主观评判外包给校准过的 LLM judge、(c)多轨迹取共识压住方差。规划本身可以硬编码。

关键结果

实证核查

有水分生物学结论站得住,而且 Nature 版补的消融、基线、正交验证在这一类"AI 科学家"论文里算相当扎实的一档;打折的地方在于自动化程度(agent 已被降级成固定流水线、关键决策仍由人做)、preprint 里 4 倍虚高的效应量,以及开源仓库里的 dAMD 示例跑不出论文那条路。
"ripasudil 使 RPE 吞噬提高 7.5 倍"(arXiv 版正文与图 4b,由 Finch 分析得出;同页括号里注明人工分析只有 1.75 倍)
Nature 正刊版(s41586-026-10652-y,2026-05-19)把这个数字改成了 1.89 倍,人工仍是 1.75 倍。也就是说 preprint 中 agent 自动 gating 得到的效应量比人工高约 4 倍,peer review 后被修正到与人工一致。这条差异本身正好印证了论文 Methods 承认的问题:流式 gating 的主观选择会直接改变结论。
"第一个完全自动化科学过程关键智力步骤的多智能体系统"、"自主发现并验证新治疗候选"
人的介入贯穿全程,且都在关键节点:(1)30 个候选里由人挑 top-5 送实验;(2)Robin 建议用荧光标记的光感受器外段,人因为拿不到而改用 pHrodo 微珠(正文明确写了 "we instead decided to use");(3)药物浓度由人查文献决定,"若文献给多个浓度则取最高"(Nature Methods);(4)Discussion 自己承认 Robin 生成的是实验大纲而非可执行 protocol,Finch "heavily reliant on prompt engineering by domain experts"。Methods 里还写明:因为 Robin 几乎总按同一顺序调工具,他们把 agentic 版改写成了确定性 notebook——开源的就是这个非 agentic 版本。
"Sample trajectories for Robin and Finch, as well as the code for Robin" 已开源(Data and Code Availability)
代码确实在(Future-House/robin,Apache-2.0,691 stars,2026-04 仍有提交),Finch 也已单独开源(Future-House/finch,98 stars)。但仓库里两个 dAMD 示例运行都跑不出论文那条路:robin_output/dry_age-related_macular_degeneration_2025-05-29_12-11 选出的策略是 autophagy/complement/mitochondrial,top 候选是 avacincaptad pegol、iptacopan、MCC950;2025-05-28_16-51 那次 10 个 assay 里虽有 phagocytosis assay,但 30 个排序候选(含吸收实验数据后的 _experimental 版)里 grep 不到 Y-27632 或 ripasudil(命中数 0),top 是 rapamycin、simvastatin、metformin。ripasudil 那条轨迹并不在仓库里,想复现只能靠 FutureHouse 平台上的原始 trajectory。
"Robin can launch 10 Finch analysis trajectories" 做共识分析
开源实现里默认是 5:robin/analyses.py 第 13 行 PARALLEL_ANALYSIS = 5,第 61 行传入 parallel=PARALLEL_ANALYSIS;而论文图 3C 的 RNA-seq 共识写的是 8 条轨迹。三个数字互不相同,说明"10 条"是能力描述而非实际配置。另外数据分析这一半必须有付费的 EDISON_API_KEY 才能跑(README 明说 "requires access to the Edison platform";issue #14 就是没 key 在 step 2 报错),外部用户实际上只能复现假设生成那一半。
RNA-seq 实验方法与数据已充分披露
arXiv 版的 Data Availability 只承诺代码和 sample trajectory,原始测序数据没有;issue #4 逐条列了矛盾:测序读长一处写 75bp PE、另一处写 2×150bp,样本数一处写 twelve samples 三个条件、一处写 six samples across two conditions,HISAT2 流程没有版本号、无法重建。Nature 版部分修好了:原始 reads 已存入 SRA BioProject PRJNA1464762,Methods 也统一为 six samples / two conditions(Y-27632 vs untreated),但 6 个样本 2 组这个规模用来支撑 ABCA1 的 adj. p=2e-83 仍然是偏薄的证据基础。
这不是通用 LLM 随手就能做到的,多 agent 结构和检索 agent 是必要的
这条核查下来是成立的,而且是全文最有说服力的部分:同一 prompt 给 OpenAI Deep Research,17 个不重复候选在同一 assay 里全部不是 hit,且从未提出 ROCK 抑制(Extended Data Fig. 6);消融 Falcon 后伪造引用率大幅上升、候选质量在 50v50 LLM 对决中全面下降(Extended Data Fig. 4)。同时作者也没藏 Finch 的短板:脱离手工调好的工作流 prompt,Finch 在 BixBench 的 170 题子集上只有 22.8%。

与我们方向的关系

对我们做端到端科研 agent 最有价值的不是"发现了 ripasudil"这个结果,而是三个可直接搬用的工程决策:(1)把"哪个假设更好"这种没有 ground truth 的判断做成 LLM judge 的两两比较 + BTL 强度分,并且 judge prompt 是从专家的比较行为反向生成的,而不是人手写评分标准——这套做法在任何需要排序生成物的场景都能复用,校准数据(top-10 重合 7.25/10、自一致 88% vs 人类 61%)也给了个可比的基线;(2)对方差大的分析任务不做单次调用,而是并行多轨迹 + 共识,并把"多少比例的轨迹得到同一结论"当成结果的置信度报出来;(3)分析结论要经过一个结构化抽取(JSON)才回灌到下一轮生成,而不是把原始 notebook 输出整段塞回 context。

反面教材也很清楚。第一,agent 的自由度可能是负资产:作者发现 Robin 几乎总按同一顺序调工具,所以把它改写成确定性 notebook 才稳定——如果我们的系统也有固定 pipeline 的实质,不必包装成 agentic。第二,"agent 自动分析"必须配人工对照:同一份流式数据 Finch 给 7.5 倍、人给 1.75 倍,只有做了人工复算才发现问题,这个习惯值得写进流程。第三,Nature 版和 arXiv 版的差距说明这类工作的可信度主要来自基线(Deep Research 全不命中)、消融(去掉检索 agent 就编引用)和正交验证(换细胞、换底物重筛)三件事,我们自己的系统性工作也应该按这三项来自查,而不是堆案例。

阅读笔记

读的时候要注意区分两个版本:arXiv 2505.13400(2025-05)和 Nature s41586-026-10652-y(2026-05-19)。本地 source/ 里的 tex 是 preprint 版,7.5 倍、"10 条 Finch 轨迹"等表述都出自它;正刊版改了效应量(1.89 倍)、加了 KL001 作为第二个 hit、加了 RPE-SC + 牛 ROS 正交验证、Deep Research 基线、Crow/Falcon 消融和 Finch 的 BixBench 评测,还补了 SRA 数据(PRJNA1464762)。要复现的话:假设生成部分只需 OpenAI 类 key(注意 issue #6:换成 qwen3-32b / DeepSeek 会因为输出带 markdown 代码围栏而 json.loads 失败),数据分析部分需要付费 Edison(原 FutureHouse)平台 key,本地跑不了。

材料清单

TeX 源码
已存档:Raw/robin/source/
代码仓库github.com/Future-House/robin
691★ · 最近推送 2026-04-21
Nature 正刊版www.nature.com/articles/s41586-026-10652-y
2026-05-19 发表;效应量、基线、消融、正交验证均以此版为准
Finch 代码github.com/Future-House/finch
数据分析 agent 单独开源(98 stars),论文里只当组件提到
RNA-seq 原始数据www.ncbi.nlm.nih.gov/bioproject/?term=PRJNA1464762
SRA BioProject,正刊版才补上;6 样本 / 2 条件
issue #4:数据与方法披露质疑github.com/Future-House/robin/issues/4
第三方逐条指出读长、样本数、HISAT2 流程的矛盾,至今 open
issue #6:非前沿模型跑不通github.com/Future-House/robin/issues/6
qwen3-32b / DeepSeek 输出带 markdown 围栏导致 json.loads 崩

同类条目