AI Agent × 科研实验 · 2025 · BioTender

我只说了一句需求,
AI Agent 独立完成了一篇单细胞论文

一次真实的人机协作实验:我提出了一个生物信息学问题,AI Agent 自主完成了环境搭建、bug 修复、模型微调、7 方法 benchmark,最终产出了一篇 arXiv 预印本——全程无需我写一行代码。

01
我提出了一个问题

一个问题,交给 AI Agent

2024 年,scGPT 在 Nature Methods 发表——一个在 3300 万人类单细胞上预训练的 GPT 风格 Transformer,拥有 5130 万参数,代表着单细胞基因组学进入"基础模型"时代。

我想知道一件事:对于手头只有几千个细胞的普通研究者,scGPT 真的比 Seurat 的 KNN 或一个简单的逻辑回归更好吗? 这个问题没有现成答案——原始论文测试的数据集规模都在 1.5 万到 2.5 万细胞之间, 而最经典的 PBMC3k(2638 个细胞)几乎没有被系统性地测试过。

我把这个问题交给了 AI Agent。 它接到任务后,自主规划了整个研究流程:微调 scGPT、设计 benchmark、对比 7 种方法、撰写论文。 我没有写一行代码。

我只提了一个研究问题。接下来的一切,都是 AI Agent 自己完成的。
02
AI Agent 的第一步

AI Agent 独立完成了整个微调流程

AI Agent 接到任务后,自主规划了五个执行阶段:环境配置、数据预处理、模型加载、分类头训练、评估。 它独立定位并修复了 6 个依赖冲突 bug——这些 bug 我自己可能要花几天才能找到。 每一步都有可复现的代码,全程我没有介入。

01

环境配置与依赖修复

AI Agent 自主完成 PyTorch 2.7.1 Scanpy 1.11.4 6 个 bug 修复

scvi-tools 与 jaxlib 0.6.2 存在 API 不兼容,导致 ImportError。 TOSICA 的 h5py 依赖与环境冲突。最终用 PyTorch 原生重新实现了 scVI/scANVI 和 TOSICA 的核心架构。

02

PBMC3k 数据预处理

AI Agent 自主完成 2638 cells 2000 HVGs seurat_v3

标准 Scanpy 流程:过滤低质量细胞 → 归一化至 10k counts → log1p 变换 → 选取 top 2000 高变基因(seurat_v3 flavor)。 所有 7 种方法使用完全相同的预处理矩阵,保证公平比较。

03

scGPT 预训练权重加载

AI Agent 自主完成 51.3M params d_model = 512 12 layers · 8 heads

使用官方发布的 scGPT_human whole-human checkpoint, 在 3300 万人类细胞上预训练。骨干网络完全冻结, 只训练一个两层 MLP 分类头(512 → 256 → 8)。

04

分类头训练

AI Agent 自主完成 50 epochs AdamW · cosine LR seed = 42

AdamW 优化器(lr=1e-3,weight decay=1e-2),余弦学习率退火, 70/15/15 分层划分(train/val/test),固定随机种子 42。 输入为 top 256 高变基因的 scGPT tokenized 表示。

05

评估结果

AI Agent 自主完成 Accuracy 0.9066 Macro F1 0.8969 ARI 0.8155

在 396 个测试细胞上,冻结骨干 + MLP 头的 scGPT 达到 90.7% 准确率。 这是零任务特定架构设计下的结果——预训练表示直接迁移,无需任何结构调整。

0.9066
Accuracy
scGPT pretrained · test set
0.8969
Macro F1
主要评估指标
0.8870
Balanced Acc
处理类别不平衡
0.8155
ARI
Adjusted Rand Index
Confusion matrix and training curve
图 A — scGPT 微调过程:左侧为训练/验证准确率曲线(50 epochs), 右侧为测试集混淆矩阵。CD8 T 细胞(行 3)与 CD4 T 细胞(列 2)之间存在明显混淆, 这是所有方法共同面临的生物学挑战。
UMAP true vs predicted labels
图 B — UMAP 可视化:左侧为真实细胞类型标签,右侧为 scGPT 预测标签。 B 细胞、CD14+ 单核细胞、巨核细胞等类型分离清晰;CD8 T 细胞与 CD4 T 细胞的边界模糊, 与混淆矩阵结果一致。
03
系统性 Benchmark

AI Agent 设计并执行了 7 方法 × 7 指标的系统性 Benchmark

微调完成后,AI Agent 没有停下来。它自主提出: "仅凭 scGPT 一个结果无法得出结论,需要与经典方法系统性对比。" 于是它设计了整个 benchmark 框架,选定 7 种方法,统一预处理,统一评估协议—— 从 51M 参数的预训练基础模型,到 14 秒训练完的三层 MLP,再到不需要任何训练的 PCA+KNN。

所有方法使用相同的预处理数据、相同的 70/15/15 分层划分(seed=42)、 相同的 396 个测试细胞。主要评估指标为 Macro F1—— 它能正确处理类别不平衡(巨核细胞 n=2 vs CD4 T 细胞 n=172)。

技术细节:AI Agent 的实现决策
7 种方法 scGPT(冻结骨干 + MLP 头)、Deep MLP(从零训练)、Seurat PCA+KNN(cosine)、 PCA+KNN(euclidean)、PCA+LogReg、scVI/scANVI(PyTorch 重新实现)、 TOSICA(PyTorch 重新实现)。 scvi-tools 与 jaxlib 0.6.2 存在 API 不兼容,TOSICA 的 h5py 依赖与环境冲突—— AI Agent 自主用 PyTorch 原生重新实现了这两个方法的核心架构。
预处理与评估协议 标准 Scanpy 流程:过滤低质量细胞 → 归一化至 10k counts → log1p 变换 → top 2000 高变基因(seurat_v3)。70/15/15 分层划分(seed=42),396 个测试细胞。 7 个评估指标:Accuracy、Macro F1、Balanced Accuracy、ARI、MCC、Cohen's κ、Top-2 Accuracy。 所有方法使用完全相同的预处理矩阵,保证公平比较。
方法 Accuracy Macro F1 Macro P Macro R Bal. Acc ARI NMI
1Deep MLP 0.94700.9479 0.94380.95320.9532 0.88800.8762
2Seurat (PCA+KNN) 0.94190.9397 0.93330.94770.9477 0.88550.8683
3TOSICA 0.93430.9263 0.92740.93020.9302 0.86720.8562
4scVI/scANVI 0.92680.9017 0.91970.89390.8939 0.86320.8380
5PCA + KNN 0.94190.9012 0.94070.88420.8842 0.88170.8614
6scGPT (pretrained) 0.90660.8969 0.91070.88700.8870 0.81550.8057
7PCA + LogReg 0.93430.8893 0.92460.87620.8762 0.87710.8547

† Deep MLP 为三层 MLP(hidden=512),非 Transformer(CPU 限制)。 ‡ TOSICA 与 scVI/scANVI 为重新实现版本(依赖冲突)。 主要指标:Macro F1(处理类别不平衡)。

Benchmark leaderboard bar chart
图 1 — 7 种方法在 PBMC3k 测试集上的 Accuracy(实心)与 Macro F1(斜线)对比。 所有方法集中在 0.907–0.947 的极窄区间内,绝对差距仅 4 个百分点。 scGPT(蓝色边框)排名第 6,但与第 1 名的差距在实际应用中可能并不显著。
All metrics grouped bar chart
图 4 — 全部 7 个指标的分组柱状图。Deep MLP 和 Seurat KNN 在大多数指标上领先; scGPT 在 ARI(0.816)和 NMI(0.806)上与其他方法的差距相对更明显。
04
AI Agent 的结论

AI Agent 给出了一个反直觉的答案

实验结束后,AI Agent 自主分析了所有结果,并提出了"数据规模依赖假说"—— 这个结论不是我告诉它的,是它从数据里自己推导出来的: 预训练的优势是数据规模和复杂度依赖的。 在 PBMC3k 这样小规模、类型分离良好的数据集上, 一个 14 秒训练完的三层 MLP(Macro F1=0.948)超过了一个 51M 参数的预训练基础模型(Macro F1=0.897)。

这与 scGPT 原始论文并不矛盾——原始论文在 hPancreas(~1.6 万细胞)、 Multiple Sclerosis(~2.5 万细胞)、Myeloid(~1.8 万细胞)上展示了优势。 PBMC3k 作为一个已经被用了多年的教程数据集,对所有方法来说都太简单了。 AI Agent 的结论是反直觉的,但数据支持它。

scGPT per-class precision recall F1
图 2 — scGPT 在 PBMC3k 测试集上的逐类别 Precision / Recall / F1。 巨核细胞(F1=1.000)和 B 细胞(F1=0.990)表现完美; CD8 T 细胞(F1=0.703)是最难的类别,与 CD4 T 细胞存在混淆—— 这是所有方法共同面临的生物学挑战,而非 scGPT 特有的缺陷。
Multi-metric radar chart
图 3 — 7 种方法在 7 个指标上的雷达图对比(径向轴范围 0.78–1.00)。 Deep MLP(红)和 Seurat KNN(灰)覆盖面积最大; scGPT(蓝)呈现均衡但整体偏低的轮廓。 TOSICA(绿)以 0.17M 参数(scGPT 的 1/300)实现了第 3 名的成绩, 说明免疫通路先验知识可以部分替代大规模预训练。
AI Agent 的结论:在小数据集(<5k 细胞)上,先跑经典方法和 MLP, 再决定是否需要部署 51M 参数的基础模型。
<1s
PCA + KNN / LogReg
经典方法,无需训练
14s
Deep MLP
0.54M 参数,CPU 训练
~5min
scGPT (frozen)
51.3M 参数,特征提取
~12min
TOSICA
0.17M 参数,通路注意力
05
AI Agent 写了一篇论文

AI Agent 独立完成了论文写作

benchmark 结束后,我说了一句话:"把这个写成论文。"

AI Agent 自主选择了 NeurIPS 2024 格式,撰写了 Abstract、Introduction、Related Work、 Methods、Results、Discussion、Conclusion,生成了 4 张出版级图表,编译 LaTeX—— 0 个编译错误,10 页,30 条参考文献。

论文的核心贡献是:在小数据集场景下,首次系统性地对比了 scGPT 与 6 种竞争方法, 并提出了"数据规模依赖假说"——预训练优势随数据集规模和复杂度增加而显现。 这个假说是 AI Agent 从数据中自主归纳的,不是我预设的结论。

1句
我的输入
"把这个写成论文"
0行
我写的代码
全程 AI Agent 执行
6个
Bug 自主修复
依赖冲突,无需人工介入
~2h
全程耗时
从问题到论文
10
页数
NeurIPS 2024 格式
30
参考文献
BibTeX 完整引用
4
论文图表
300 DPI · PDF + PNG
0
编译错误
pdflatex + bibtex

论文结构

Abstract — 7 方法 × 7 指标 benchmark,核心发现:小数据集上经典方法与 MLP 超越 scGPT 预训练。
Introduction — 基础模型在单细胞基因组学的兴起,以及"何时预训练有用"这一实践问题的重要性。
Related Work — scGPT、Geneformer、scBERT、TOSICA、scVI/scANVI、Seurat 的系统性综述。
Methods — 数据集、评估协议、7 种方法的详细描述(含重新实现的说明)。
Results — 总体排行榜、scGPT 逐类别分析、多指标雷达图、计算成本对比。
Discussion — 何时用 scGPT,何时用经典方法,研究局限性,未来方向。
Conclusion — 数据规模依赖假说,实践建议,开源代码。