Biomni一个登上主刊的通用型生物医学智能体,核心原理是构建一个“通用型生物医学AI代理”,其设计围绕两大支柱:一个统一的生物医学操作空间和一个灵活的通用型代理架构。
简单来说,它通过“阅读文献学工具 -> 构建统一环境 -> 动态规划执行”的闭环,让AI能够像人类科学家一样,自主调用各种专业软件、数据库和知识,来完成复杂的科研任务。Biomni并非创造新的生物医学知识,而是通过系统性地将海量、碎片化的生物医学工具和知识“环境化”,并赋予一个以代码为行动语言的、能动态规划和反思的AI代理,使其能够灵活、高效地复现和完成跨领域的专家级科研任务。其核心点可以分解为以下三个层面:
1. 环境构建
Biomni没有为每个任务硬编码流程,而是先构建了一个庞大的、结构化的工具库环境。这是其通用性的基础。
- 自动化挖掘:研发团队开发了一个动作发现代理,自动阅读并分析了2500篇生物医学论文 (涵盖25个子领域),从中提取出关键任务、工具和数据库。
- 专家验证与整合:提取出的工具经过人工专家验证后,被整合进Biomni-E1环境。该环境最终包含了:
- 150个专业生物医学工具 (如CRISPR设计、蛋白质结构预测)
- 105个软件包 (支持Python、R和命令行)
- 59个数据库 (如PDB、ClinVar、GWAS Catalog),其中大型数据库通过自然语言API访问,小型数据库则被预处理为本地文件。
2. 推理与执行
有了环境,Biomni-AI借助模型的能力,负责理解问题并在这个环境中行动。其核心架构包含三个关键创新:
- 动态资源检索:收到用户查询后,代理首先通过检索系统,从庞大的Biomni-E1中筛选出与当前任务最相关的工具和数据,避免大海捞针。
- 代码作为通用接口:Biomni不依赖预定义的工作流模板。它将代码作为核心行动语言。代理会先生成一个详细的、分步骤的计划,然后将每一步转化为可执行的代码 (Python、R或命令行)。这种方式使其能灵活地组合循环、条件判断和并行操作,适应高度专业化的生物信息学任务。
- 迭代自适应规划:代理会先制定初始计划,并在执行过程中根据中间结果、错误信息等反馈,不断迭代和修正计划,实现动态、上下文感知的推理。
3. 持续优化
针对部分表现不佳的专业任务,Biomni引入了强化学习 (RL) 机制,训练出专门的模型 (Biomni-RO)。
- 原理:让代理与Biomni-E1环境直接互动,根据专家标注的奖励信号来优化其端到端的任务成功率。
- 效果:研究表明,经过RL训练的32B参数模型,其平均任务表现从0.35提升至0.67,甚至超过了其“教师模型”的表现。
软件好不好用一下才知道,下面咱们就来体验一下Biomni效果怎么样,本地安装过程这里就省略了。
先打个招呼看看助手有没有就位,正常回复说明可以干活了:

下面用经典的单细胞数据PBMC3k来测试,让Biomni跑一下标准分析流程,看看效果怎么样:
agent.go("Analyze single-cell data (data/pbmc3k_scanpy.h5ad), preprocessing using default parameters, then annotate cell types, and identify differentially expressed genes separately, plot marker dot plots and UMAPs for cell types, and save the analysis results and code to the directory result.")
智能体会根据提示词做分析规划:

数据量比较小,这些步骤做起来很快,分析结束时会给一个总结:

然后就可以看到文件夹里生成的结果文件:
result/
├── analysis_pipeline.py
├── analysis_summary.txt
├── DEGs_per_celltype.csv
├── dotplot__marker_dotplot.png
├── dotplot__top_DEGs_dotplot.png
├── pbmc3k_annotated.h5ad
├── pbmc3k_preprocessed.h5ad
├── rank_genes_groups_leiden_de_genes.png
├── top20_markers_per_celltype.csv
├── umap_celltype.png
├── umap_celltype_umap.png
├── umap_clusters.png
├── umap_leiden.png
├── umap_top_markers.png
└── umap_umap_clustering.png
结果有了,还得看看结果怎么样才行,看一下细胞类型注释效果,打开umap_celltype.png瞅一眼:

与scanpy官网分析结果对比一下:

除了多个Proliferating cells细胞类型外,Megakaryocytes注释成Platelets并不算错,其他注释都没有问题。再瞅一眼细胞注释的marker点图dotplot__marker_dotplot.png:

可以看出流程使用的marker基因与scanpy流程不完全一致,这也是导致注释结果有些出入的原因,从marker来看Proliferating cells细胞类型好像并没有什么问题。
细胞类型注释一直是最重要的一环,虽然有很多自动化注释软件,但很多时候还是需要人工干预。从这里的注释结果也可以看出分析过程可以智能化,但想要得到想要的结果还是要人为检查和干预。
但不得不承认,工具的发展确实可以提升工作效率,改变工作方式,按照以往常规的分析方式要执行很多行代码才能得到这些结果,而现在却只用输入一段话就可以。Biomni作为一个具有灵活扩展性的智能体确实是一个不错的工具,一个框架统一很多分析。