核心结论
AI 在科研中能做不少事,但不能笼统地说“让它帮我做研究”。更准确的说法是:它可以先完成一段结果能够核对的工作,例如补充检索词、按既定规则整理资料、起草分析代码,或者对照清单检查文稿。至于研究问题是否成立、某份数据能否使用、异常值该不该删、模型为什么这样选,以及论文最后能把结论说到哪一步,责任仍在研究者。
判断一项工作能不能交给 AI,不妨先问一个很朴素的问题:它做错以后,我能不能在错误进入数据集、统计结果或论文之前发现?如果有明确的原始材料可以对照,改错也不费力,就可以让 AI 多做一些。如果连怎么验都说不清,或者一个不起眼的错误会改变结论,就不要让它自动往下走。
真正要拆的不是研究流程,而是眼前的动作
设想一个教学场景:某团队准备分析 600 份已经去标识化的住院记录,研究哪些因素与再次入院有关。项目刚开始时,有人说,可以把清洗数据、选择模型和论文初稿都交给 AI。问题不在于这个想法激进,而在于“交给 AI”这句话没有说明它究竟交付什么,也没有说明谁来检查。
检索阶段,AI 根据几篇种子论文补充同义词,漏掉一个词,研究者通常能在数据库试检时发现。到了数据整理阶段,它如果把“未测量”写成数值零,错误就会混进分析数据。它若自行删除所谓异常值,后面的人甚至可能不知道那条原始记录曾经存在。写结果时再把“相关”换成“导致”,改动的已经不是文字,而是论文作出的科学声明。
这些工作都可能用到同一个模型,却不能共用同一种用法。与其先争论模型够不够强,不如把准备交出去的动作写清楚。下面这张表就是这个项目实际需要的工作说明。它不评价某个模型好不好,只规定这一次可以让它做到哪一步。
| 准备做的事 | AI交付什么 | 最需要防的错误 | 谁来确认 |
|---|---|---|---|
| 扩展检索词 | 一组待试检的同义词和相邻概念 | 混入意思相近但不适用的词 | 研究者放进目标数据库试检 |
| 整理变量说明 | 按数据字典归纳字段,并单列不确定项 | 把缺失、否定和不同单位合成同一数值 | 数据负责人逐项对照原始定义 |
| 标记可疑记录 | 按已经写好的范围规则生成问题清单 | 把真实极端值直接当成录入错误 | 领域研究者查看源记录后决定 |
| 起草分析代码 | 可运行代码、测试样例和运行结果 | 猜错实验单位、分组结构或缺失规则 | 统计负责人检查并复算关键结果 |
| 起草结果文字 | 根据已经核验的表图写表达候选 | 改变方向、单位、区间或因果强度 | 作者返回表图逐句核对 |
表里有意没有“让 AI 自动完成”这一列。检索词是候选,异常记录是问题清单,结果文字也是表达候选。最终交付物仍要经过人的判断,只是不同环节的判断依据不一样。检索词要看它带回了什么文献;变量要回到数据字典;一句结果是否成立,要回到最终表图和分析记录。
以“标记可疑记录”为例,合适的输出不是一份已经删过的数据,而是一张旁表:保留记录编号和原值,注明触发了哪条范围规则,等待研究者处理。有人确认是单位录错,才回到数据副本中更正;有人查过源记录,认为它虽少见但是真实值,就保留并写下理由。这样,即使模型把正常的极端值列了出来,也只是多了一次核对,不会悄悄改变样本。
NIST 的 AI 风险管理框架把具体使用情境放在风险判断的中心。放到这项研究里,它不是一句“注意风险”的口号,而会直接改变表里的内容:模型曾经顺利读过公开 PDF,并不能证明它可以处理研究数据;它能按规则标出疑点,也不等于它有权决定哪些记录应当删除。材料、用途或错误后果一变,这项工作就要重新写,不能沿用上一次的许可。
二十行试跑,发现的不是两处小错误
整理 600 份记录之前,团队先拿二十行已经由人工确认的材料试跑。样本里不只放格式规整的数值,还特意保留了空白、否定表达、边界值和几个容易混淆的状态。AI 整理完以后,十八行与人工答案一致,另有两行把“未测量”填成了零。
其中一条可以简化成下面这样。它只是为了说明问题而写的教学记录,不来自真实患者:
原始记录
每周活动分钟:空白
记录状态:未测量
AI整理结果
activity_min = 0
missing_reason = 空白
人工核对后的记录
activity_min = NA
missing_reason = not_measured
核对依据 = 原始记录状态字段
如果只报一个总体数字,这次试跑有九成正确,看起来已经不错。可零表示确实观察到没有活动,NA 表示根本没有得到这项测量。两者进入统计以后,会影响样本分布、均值以及缺失值的处理。模型犯的不是可以顺手改掉的排版错误,而是把一种数据状态悄悄改成了另一种。
团队不能只把那两格改回来,然后继续处理余下的 580 行。更要紧的是找出错误从哪里来。检查任务说明后可以发现,原先只要求“把空白字段整理成统一格式”,却没有交代空白旁边还有一个状态字段。于是说明被改成:缺失状态必须以原始状态字段为准,禁止根据空白推断为零;遇到定义之外的写法,一律留作不确定项,不得补值。
原来的二十行、第一次输出和改过的任务说明都应该留下,而不是用新文件覆盖掉。否则下一次结果变好时,团队只知道“现在对了”,却说不清改动了什么;下一次又出错时,也无法判断是材料变化、规则变化,还是模型变化。这里不需要复杂系统,给输入、说明和输出加上对应的日期与版本,已经能避免许多说不清的返工。
改完规则,还要换一组模型没有见过的记录复测。这里换样本很重要。如果仍用原来的二十行,得到的只是模型能否适应已经暴露的答案,不足以说明规则能否应对下一批材料。新样本中若再出现同类错误,这个字段就不适合继续自动整理,至少要交回人工。相反,如果错误只是表格列序偶尔调换,而且现有脚本每次都能查出来,那么它造成返工,却不一定需要停掉整个任务。
所以,试跑要看的不是一个漂亮的准确率,而是错在什么地方、现有检查能不能抓住、没抓住会影响哪一步。普通样本可以告诉你流程能否跑通,边界值和反例才更容易暴露它会怎样跑错。
同一处含糊,会从数据一路传到论文
变量规则修正后,团队让 AI 根据分析说明起草回归代码。程序能够运行,只能证明语法没有拦住它,不能证明分析正确。比如把同一患者的多次住院当成彼此独立的样本,代码照样可能顺利给出系数和置信区间,但区间代表的含义已经变了。
这一步的检查也应当提前准备,而不是等正式结果出来后“看看是否合理”。统计负责人可以先做一份很小的模拟数据,里面故意安排重复记录、一个缺失值和一个已知参照组,并写下预期的样本数与关键结果。AI 起草的代码先跑这份数据:分组数不对,就去看实验单位;样本少了一行,就查缺失处理;参照类别反了,就在输出解释之前修正。只有这些问题能说清楚,代码才进入正式数据。
到了论文写作,原来的检查依据又换了。模型可以把最终表格整理成一句较顺的结果,但作者需要逐项核对研究对象、比较方向、效应量、区间和限制。假如表格只显示某因素与再次入院有关,草稿却写成“该因素导致再次入院”,这不是润色过头这么简单,而是把观察性结果改成了因果结论。
ICMJE 关于 AI 辅助技术的建议要求作者对 AI 辅助内容的准确性、完整性、引用和披露负责,AI 也不能列为作者。对眼前这篇论文来说,这意味着作者不能只看一句话“读起来对不对”,而要知道数字来自哪张表、表来自哪次分析、分析又用了哪版数据。答不上来,就还没有到可以签字提交的程度。
这也是为什么一句“所有内容均由人工复核”通常没有什么用。熟悉数据字典的人能判断“未测量”是什么意思,却未必能判断回归模型是否适合;统计负责人能检查模型,也不能替作者决定论文对证据作何表述。所谓人工审核,只有写清审核哪样东西、依据什么材料、在什么时候拦住错误,才真的存在。
有些材料,问题不是怎么检查,而是能不能交出去
前面的教学场景假设团队已经拿到可用于当前处理的去标识化材料。真实项目中,这个前提要单独确认。带身份标识的受试者数据、保密评审稿,或者受合同限制的文件,不能因为想试一个新功能就上传到规则不清楚的外部服务。
去掉姓名也不自动等于可以上传。罕见经历、精确日期、机构和其他字段组合起来,仍可能让人被识别;伦理审批、机构政策、项目合同,以及服务商是否保存输入、是否把输入用于其他目的,都会改变答案。确认不了时,可以先用合成数据测试格式和代码,或改用机构批准的环境。若两种办法都不具备,就暂时不用,而不是先上传再补手续。
这项检查仍能落回前面的表。把“整理五个病历字段”改成“用合成记录测试五个字段的整理规则”,AI 的交付物和错误类型没有大变,但输入已经不同。等真实材料获得明确许可,再单独决定是否运行。一次测试成功,只证明这次测试中的工作可行,不会顺带解决数据权限。
最后,这项研究让 AI 做到了哪一步
经过二十行试跑后,团队没有得到“AI 可以参与整个项目”这样的结论。它得到的是几项范围很窄、能够执行的决定:检索阶段让模型提出候选词,由研究者试检;变量整理只处理数据字典已经定义的字段,遇到未定义状态就停下来;分析代码先通过模拟数据,再由统计负责人确认;结果段只能依据最终表图起草,作者逐句承担判断。
那两条被误写成零的记录因此不是测试中的小插曲。它们迫使团队补上缺失规则,也说明批量处理不能只靠抽查一个总准确率。若后来材料从合成数据换成研究记录、输出从内部笔记进入论文,或者团队改用另一项服务,原来的决定也不会自动继续有效。
这就是 AI 在科研中比较合适的位置:先做边界清楚、结果可核对的那一段;一旦工作开始决定数据含义、分析方法或论文主张,就把决定交还给能够说明依据并承担责任的人。