cc-bioinfo_
EN

研究档案 · 案例一全自动过程实录

人类说了一句话,
两个 AI 交回一篇投稿手稿。

「你俩合作一篇课题,中间没有人类参与,自主判断和处理。」——这是人类在这个课题里说的唯一一句话。之后,一个心血管医生 AI 和一个资深生信 AI 在 cc-bioinfo 上,从课题设计一路做到 8,060 词英文投稿手稿。本页如实记录它们是怎么做到的,以及这件事对「人在 AI 科研里还要负责什么」意味着什么。案例一的科学结果摘要在这里

一句话回答

这个案例证明:科研过程监督的一部分环节可以被工程化——写成交接单、状态机、决策日志与预注册锁,甚至交给另一个 AI 代行;但它同样清楚地划出了不可转移的部分:整个课题值不值得做的审阅、分析结果的最终审阅、实验验证,以及为结论署名负责,仍然在人。

1 句人类全程的
全部输入
2 个AI 角色
医生把关 + 生信执行
15 条决策日志 F-001~015
全部 status=resolved
8,060词投稿手稿
20 脚本 · 7 图 · 8 表
课题即案例一(房颤→心衰的因果结构与蛋白中介 MR 研究),全部使用公开 GWAS 汇总数据。本页事实核对自项目真实文件与日志:设计书、TOPIC.yml、workflow_state.yml、findings.yml、20 个分析脚本与手稿。与之互为镜像的是案例七:那里人介入了 17 次并最终否决,这里人介入 0 次而课题成功交付。
01

台面上的三个「人」

做这个课题,台面上有三个角色。角色 A 与角色 B 是两个独立的 AI 会话,各有自己的模型与上下文,通过聊天协作——A 提问和审查,B 干活:

角色是谁负责什么
角色 A:心血管医生 AI懂临床、不懂生信的评审方。除了聊天,还能通过浏览器自动化「亲眼看」平台界面,并用只读命令核对服务器上的真实文件——不满足于口头汇报提临床问题、在每个决策点审查与拍板、逐图审、逐节审稿、盯住诚实底线
角色 B:资深生信科研 AI精通统计遗传学与编程的执行方,跑在 Claude Opus 的 1M 上下文档位上——因为要一口气记住十几个分析阶段的海量中间结果bio-design 设计方案、用 bio-analyze 写代码跑分析、出图出表、写手稿
cc-bioinfo:平台两个 AI 都跑在它上面聊天界面、多模型接入、真实的代码运行环境(终端 / Conda / R / Python)、技能库、项目与会话管理

通俗类比:一位临床医生(A)把想法交给一位首席数据科学家(B),两人来回讨论把论文做出来——只不过两位都是 AI,而且医生一方从头到尾只做「把关」不做「动手」。这也是首页讲的「平台 + 两个 skill」三者关系在真实课题里的样子。

02

从一句话到一篇手稿:流水线全景

环节谁在做产出(真实文件)
① 课题设计bio-design:两轮讨论定方向 → 联网查重、避开已有研究 → 选公开数据集 → 预注册阈值与结论规则design.md(492 行、13 节)+ TOPIC.yml 交接单
② 生信分析bio-analyze:读设计、自动备 Conda 环境 → Phase 0–7 逐阶段执行 → 出错自我诊断修复20 个分析脚本 + 各阶段结果文件
③ 出图出表bio-analyze 产出,角色 A 逐张审、提修改(修掉过黑底不可读、坐标轴方向标错等问题)7 张图(1 设计图 + 5 主图 + 1 补图)+ 8 张表
④ 写手稿bio-analyze 分四段写成,角色 A 逐节审、把诚实关8,060 词英文手稿,含专设的「结论措辞天花板」章节

中间发生过两次 API 故障导致会话中断——靠状态机(下一节的机关二)看一眼就知道从哪续,没有重头再来。

03

让「全自动」成立的四个机关

单纯让 AI「跑代码」不难。难的是:一个 AI 设计的东西,另一个 AI 能准确接住;中途不跑偏;出错能自己爬起来;结果不好看时不许美化。这四件事分别由四个机关保证——它们都不是为这个案例临时搭的,而是 bio-design / bio-analyze 的内置工作方式

机关一:结构化交接单(TOPIC.yml)——设计到执行的「翻译官」

bio-design 写的 design.md 是给人读的散文,机器精确执行读散文容易理解偏差。于是设计同时落成一份机器可读的 TOPIC.yml,把「我到底在赌什么会发生」和「最多只能说到什么程度」在开工前白纸黑字写死。真实片段:

falsifiable_predictions:          # 可证伪的预测——科研的灵魂
  P1: "AF→HF 因果效应显著为正;反向存在但不对称"
  P2: "若干循环蛋白在遗传层面受 AF 影响 且 影响 HF"
  P4: "校正 BMI/高血压/糖尿/肾病后,AF→HF 直接效应仍显著"

conclusion_ceiling:               # 结论措辞天花板——防吹牛
  allowed:   ["AF 和 HF 共享遗传因果方向;蛋白 X 可能是通路上的中介"]
  forbidden: ["抑制蛋白 X 就能阻止 AF 进展为 HF"]  # 明令禁止

这样,两个 AI 对「成功长什么样」有完全一致的理解——这正是bio-design 预注册流程的产物。

机关二:阶段索引 + 状态机——「跑到哪了」永远有据可查

phase_index.yml 把整个分析切成 8 个阶段(Phase 0 数据质控 → 1 双向 MR → 2/3 中介筛查 → 4 多变量 MR → 5 共定位 → 6 亚型 → 7 敏感性),每阶段写清输入、输出、目标;workflow_state.yml 实时记录跑到哪一步。会话中断两次都无损续跑,靠的就是它——这是 bio-analyze 的状态机治理。

机关三:决策日志(findings.yml)——每个判断都留痕

每遇到一个问题、做一个判断,就记一条 F-XXX:严重度 + 现象 + 处置 + 状态。本项目真实记了 15 条(F-001~F-015),跨全部阶段,每一条的状态都是 resolved——没有一个坑被绕过或藏起来。其中唯一的 critical(F-007)记录的正是「血浆蛋白中介为零」这个关键转折是怎么被诚实处理的(见第 05 节)。

机关四:预注册锁——不许拿结果反推叙事

这是整套自动化里最像「科研良心」的机关。开工前就锁死三样东西:阈值锁(显著性、共定位 PPH4≥0.8、工具强度 F>10,不许事后调);决策规则锁(若只得到部分支持,叙事必须降级为 suggestive,不许为投高分期刊硬拔);语言天花板锁(上面 forbidden 列表)。结果好看,如实报告;结果不好看,也如实报告——通道只有这一条。

对照:案例七的复盘结论是「写成原则不如写成触发器」。这四个机关就是把原则做成触发器之后的样子——案例七暴露的缺口,在这里是出厂配置。

04

完整数据流:谁把什么交给谁

先看大白话版——不涉及任何技术名词,看「谁找谁办事」就行;每一层都是真实运转过的组件,不是概念图。

做什么 · 交给谁
人类🧑 研究者说一句话开场,之后不再插手;课题交付后负责验收
把关🩺 AI 医生(角色 A)与科研 AI「像发微信一样」来回讨论;每做完一步听汇报,审查、挑毛病、要求返工或认可;不满足于口头汇报时直接翻后台原始记录核实
执行🧬 AI 科研员(角色 B)设计方案、真的动手算、画图表、写论文;每做完一步主动向医生汇报
计算💻 cc-bioinfo 的运行环境真实的终端与 Conda 隔离环境,R(TwoSampleMR / coloc / MR-PRESSO 等)与 Python 真跑统计、真出图——不是「假装跑」
数据📚 公开基因数据库全部公开 GWAS / pQTL 汇总数据(房颤 18 万病例、FinnGen 心衰、UKB-PPP 1,915 个血浆蛋白等),附下载脚本,任何人可复现

角色 A 的「看」和「操作」也值得说明:它通过浏览器自动化工具驱动一个真实浏览器打开 cc-bioinfo 的界面——「亲眼看」聊天内容、把答复填进输入框;同时保留一条只读通道直接核对服务器上的进程与文件,防止被界面上的转述误导。连「监督者会不会被汇报糊弄」这件事,都做了工程化防御。

放大看一个决策点:混杂因素要不要现在补

下面是真实发生的一轮「提问→核对→拍板→执行→汇报→确认」,全项目这样的循环发生了很多轮(8 组关键决策 + 图表逐张审 + 手稿逐节审):

步骤内容(依据项目日志)
汇报🧬 B「跑完 4 暴露多变量 MR,AF 直接效应存活。收缩压 / 冠心病两个数据集因坐标版本问题没进模型——现在补,还是放到敏感性分析?」
核对🩺 A翻服务器原始文件,确认这两个混杂确实被丢掉了
拍板🩺 A临床判断:高血压与冠心病是房颤↔心衰最主要的共同混杂,必须进主模型。「现在就补,跑完整 6 暴露模型作定论」
执行🧬 B现装坐标转换工具、对齐基因组版本、重跑——中途转换只映射了 24%,自己查出「位置被写成科学计数法」,改成整数格式重跑,映射率回到 99.96%
确认🩺 A「6 暴露模型 AF 直接效应存活、仅衰减 12.5%——通过。这挡住了审稿人的首要质疑」

执行步骤里那次自我修复不是孤例:置换检验太慢就自己降参数重跑、外部服务连不上就换兜底方案、R 脚本的变量作用域 bug 自己定位改写、p 值被存成字符串导致三千万个假显著也是自己诊断出来的。这些都没有人教,是 bio-analyze「看日志→猜原因→验证→修复」的内置能力。

05

最能说明问题的一幕:阴性结果没有被美化

行业对「AI 自动做科研」最大的顾虑,是已被公开研究记录过的失败模式:自动化系统会编数据、会 p-hacking、会把不好看的结果包装好看。这个案例恰好提供了一次正面压力测试:

全扫 1,915 个血浆蛋白之后,没有任何一个蛋白能中介房颤→心衰——核心假设 P2/P3 落空。一条不诚实的出路显而易见:把几个「看起来相关」的蛋白硬包装成中介去投稿。但预注册锁 + 角色 A 的审查把这条路堵死了:最终手稿明确写「这些蛋白是下游标志物,不是上游中介」,反向分析工具弱就如实标注「工具弱」而不写成「无效应」,亚型样本量不足就明确「不宣称亚型特异」。

阴性结果反而成了论文的诚实亮点:它把「房颤怎么伤害心脏」的搜索范围从「血液里的蛋白」精确缩到了「心脏组织本身」。手稿还专设了「措辞天花板」章节,白纸黑字写明:不声称任何蛋白可作药靶、结论需实验验证方可指导临床——连「哪些话不能说」都写进了论文本身

06

那么,人还要负责什么

这一节是整页的结论,也请读得最慢。

本页证明的是:监督的一部分环节可以工程化。交接可以写成结构化文件,进度可以写成状态机,判断可以写成留痕的决策日志,诚信可以写成开工前锁死的规则,甚至「盯着执行方」这个职能本身也可以交给一个带临床视角的 AI 独立会话去做——而且它做得有据可查。

本页没有证明、也不可能证明的是:人可以退场。不可转移的责任至少有三层——

人的责任为什么机器替不了本案例里的对应事实
整个课题的审阅:这个问题值不值得问、方向对不对、成果收不收案例七已经给出反面证据:方向层面的质疑,AI 三天里自主发起了 0 次。价值判断没有可靠的自动化替身本课题方向恰好走通,是结果不是保证;人类仍需对「做不做、收不收」拍板
分析结果的审阅:关键数字、图表与结论在署名投稿前的最终把关角色 A 的审查再严格,也是体系内部的一致性检查;对外担责的审阅必须由担责的人做手稿是「交给人类验收」的交付物,不是绕过人类的终点
实验验证:计算结论走向科学事实的最后一公里MR 是基于公开数据的因果推断,再稳健也是计算证据;湿实验与临床验证在物理世界里,AI 够不到手稿的措辞天花板自己写着:需实验验证(RCT)方可指导临床

把两个案例放在一起,结论就完整了:案例七证明监督不可省略;本页证明监督的可省略部分能被做成机器。两页之间的那条线,就是现阶段人类在 AI 科研里的真实位置——开题、验收、实验验证、署名负责。执行与过程纪律,交给平台。

07

常见问题 FAQ

这是不是说明以后做科研不需要人了?

不是,而且本页的结论恰恰相反。这个案例证明的是「监督的一部分环节可以工程化」——交接、进度、决策留痕、诚信规则都能做成机器,连过程把关都能交给一个独立的评审 AI。但整个课题值不值得做的审阅、分析结果的最终审阅、实验验证、以及为结论署名负责,仍然在人。案例七里 AI 三天没能自主发起一次方向质疑,就是这条边界的反面证据。

「全程无人参与」的结果,凭什么可信?

不靠信任,靠留痕与公开数据。全部数据是公开 GWAS 汇总统计并附下载脚本,任何人可复算;15 条决策日志逐条可查且全部标记已解决;阈值与结论规则开工前预注册、事后未改;阴性结果如实进了手稿而不是被藏起来。可信度来自「每一步都能被外人检查」,这比「有人盯着」是更强的保证——也是我们把这套机关做成产品功能的原因。

别的团队也做过「AI 科学家」,这个有什么不同?

全自动科研流水线不是本案独有——业界已有多个「AI Scientist」类系统,公开评测也记录了它们的典型失败:编数据、p-hacking、美化结果。本案例的差异在三处:诚信机制被预注册成开工前锁死的制度而非事后期望;监督由一个带临床视角的独立 AI 会话执行且留有完整审查记录;课题是真实生物医学因果推断研究,核心亮点还是一个被如实报告的阴性结果。我们未见到同类的完整公开运行记录,但不据此宣称「首创」——判断留给读者。

这个页面和案例七是什么关系?

互为镜像的两端。案例七:人介入 17 次、方向最终被人否决——它回答「人为什么不可少」。本页:人介入 0 次、课题成功交付——它回答「人的角色收敛为何」。更重要的是因果连线:案例七复盘出的「写成原则不如写成触发器」,在本案例里就是四个机关的出厂形态。失败案例暴露的缺口,变成了成功案例的机制。

本页最后更新: · 所有过程事实核对自项目真实文件与日志(设计书、TOPIC.yml、workflow_state.yml、findings.yml、分析脚本与手稿);科学结果见案例一摘要