做科研的同学用 AI 越来越顺手:读文献、写代码、跑分析、生成假设,一条龙都能让模型插手。问题出在边界上——数据是不是涉密、代码能不能直接跑、模型给的结论要不要复核,很多人是出了事才回头想。这篇按科研流程拆成几个环节,每个环节给判断标准和该做的动作,帮你把安全边界提前画出来,而不是事后补。
做科研的同学现在用 AI 越来越顺手:开题前让模型帮忙扫文献,中间写几段分析脚本,跑完数据让它解释结果,甚至让它提几个假设。这一套下来确实省时间。但问题往往出在边界上——这段数据能不能发给外部服务、模型写的代码能不能直接在自己账号上跑、它给的结论要不要回去核实,很多人是出了事才回头想。
这篇不讲模型原理,只按科研流程拆几个环节,每个环节给一条判断标准和几个能做的动作。目标很简单:把安全边界提前画出来,别等投稿被问、合作方来函、或者集群管理员找上门才补。下面说的都是下限做法,具体到你的项目还得结合合同和单位规定。
科研场景和普通办公到底差在哪
普通办公里,AI 帮忙润色邮件、整理会议记录,出错的代价基本可控。科研不一样,它有三个特点让风险放大:数据往往是一次性的、结论要能被人重复、还有合作方和资助方在旁边看着。所以在科研里用 AI,不能照搬办公场景那套「先用了再说」的习惯。
- 数据一次性、不可复现:未发表数据、实验原始记录、审稿材料,一旦发到外部服务就收不回来。先按「能不能还原」给数据分级,再决定能不能交给外部模型。
- 结论要能被别人重复:模型的中间推理不透明,凡是进入论文或评审的结论,必须留下人工能解释的那一步,否则别人复现不了,责任也说不清。
- 合作方和资助方是额外约束:有些项目合同里就限定了工具和数据流向,用之前先翻一遍项目条款,拿不准就找项目负责人确认,别自己拍板。
第一步不是选模型,是把数据分成三档
很多人一上来就纠结用哪个模型、哪个中转站更便宜。方向反了。先分数据,再选工具。数据分档的口径其实不复杂,按「公开程度」和「泄露后果」两个维度,粗分三档就够用。
| 数据档位 | 典型内容 | 处理方式 |
|---|---|---|
| 公开档 | 已发表论文、公开数据集、自己整理的公开笔记 | 外部模型可以用,注意引用来源即可 |
| 内部档 | 未发表实验数据、组会材料、草稿 | 先脱敏或去标识再用,能内网就内网 |
| 受控档 | 涉密项目、合作方限定数据、审稿材料 | 不出内网,走内部部署或干脆不用外部工具 |
脱敏不是万能的。能不能脱干净,取决于字段本身能不能被反推——比如小样本里带地域、时间、机构信息的组合,往往一交叉就能定位到人。具体哪些字段属于敏感项,到 /ai-dict/category/safety 对照术语表,再结合脱敏那篇的结论判断。
- 环境分界要写死:外网模型和内网部署不是「差不多」,哪类数据走哪条路,事先写成规矩,别靠临时判断。
- 给每个课题建一页纸的数据流向说明:谁在什么时候把什么发给了哪个服务,出了问题能对上号。
- 新工具接入前走一次自查:它把数据存在哪、训不训练、日志留多久,答不上来就先别接项目数据。
- 拿不准就走审批:宁可慢半天,也别赌一次。
代码与算力环节:模型能写,能不能跑是另一回事
模型写分析脚本确实快,但「能写」和「能跑」之间隔着一条安全线。生成代码最常见的两类隐患:一是读了不该读的本地目录,二是往外部地址发请求。这两条一旦沾上,轻则数据外泄,重则整个集群被当成跳板。
- 先看外联在脚本里搜 http、requests、socket、subprocess 这类关键字,确认它有没有把数据往外发。有外联就逐行看目标地址是不是你认识的。
- 再看依赖来源模型推荐的包名有时是拼错的、或者是它编出来的。装之前到官方仓库核对包名与维护者,别直接 pip install 一个陌生名字。
- 最后看运行账号科研集群账号经常多人共用。用个人账号跑模型生成的任务,出了事责任和账单都对不清。敏感任务用专用低权限账号,别用管理员。
- 跑完留存把生成代码、你改过的版本、运行日志各留一份,结题或出问题时能还原当时跑了什么。
算力环境的选型也会影响安全面。租卡、自建、用单位集群,数据流向和权限模型完全不同。想弄清这几类的口径差别,到 /compute 看一眼类型说明再决定,别只看谁快谁便宜。
结果出来之后:幻觉、编造引用与过度自信
这一环是科研里翻车最多的地方。模型不会告诉你它在猜,它会用很确定的语气给出一个不存在的文献、一个算错的统计量。判断标准不是它语气多自信,而是这个结论有没有独立来源。
- 引用必须回原库核对:模型给的文献条目、作者、年份都可能不存在。凡是要写进正文的引用,回到原始数据库查一遍,不能只信它的二次转述。
- 数值与统计必须能独立重算:把模型当解释器而不是计算器。关键统计过程要求它给出可复现的步骤,你自己再跑一遍,对不上就以你的为准。
- 区分探索和定稿:思路发散阶段可以让模型放开跑,一旦进入要写进材料、交给别人看的阶段,就切换成核实模式。
- 警惕「看起来对」:格式工整、术语正确的段落最容易让人跳过核实,反而是危险区。
什么时候可以不这么严?个人做文献泛读、给自己列提纲、整理思路这类不进入正式产出、不涉及项目数据的场景,约束可以松一些。但只要结论要写进论文、报告、评审回复,就按上面的来。
团队协作时的分工与告知
安全边界一个人守得住,一队人就容易漏。小团队最常见的坑是:每个人都以为别人打过招呼,结果数据就这么发出去了。解决方式不是靠自觉,是把责任和动作落到具体的人和流程上。
- 对外数据审批人
- 明确一个人负责审批把数据发给外部服务,其余人只提交申请,不直接操作。
- 披露口径
- 合作方、期刊、资助方对 AI 使用的披露要求不一样,写材料前到对方说明页确认当前口径,别凭印象。
- 人员流动
- 科研人员流动频繁,账号、密钥、集群权限要跟着人走,参照最小权限那篇的做法,离职即回收。
- 交接清单
- 交接时把数据档位、用过的工具、留痕位置一并移交,别只交接代码。
什么情况下可以放宽?纯个人的、与项目无关的文献阅读和写作,约束会松一些。但只要涉及项目数据、合作方材料、投稿内容,就按团队规矩来,没有例外。
一张可照着走的复核清单
把前面的判断收成一张清单,每次提交前过一遍,花不了几分钟,能挡住大部分常规问题。清单不用背,放在课题文档里就行。
| 检查项 | 通过标准 | 不过怎么办 |
|---|---|---|
| 数据档位 | 能明确说出属于公开/内部/受控哪一档 | 说不清就按最高档处理 |
| 流向 | 走的是内网还是外网,事先定好 | 跨档就补审批,别临时决定 |
| 结论来源 | 模型给的结论有独立第二来源 | 没有就回原库核实后再用 |
| 代码外联 | 脚本里没有向外部地址发送的动作 | 有就逐行看,确认无误再跑 |
| 留痕 | 提示词、输出、人工修改记录都存了 | 没存就补,别等出问题再找 |
留痕不是为了追责,是为了日后能解释清楚某个结论怎么来的。粒度参照举证与留证那篇的做法,把关键节点存下来即可,不用把每次对话都存档。出了问题时的处理顺序也建议固定:先停外发通道、再查影响范围、最后补流程,别一上来就先找谁的责任。
这些做法挡不住什么
说清楚这套做法的边界,比把它吹成万能更有用。以下几点是它拦不住的,心里要有数。
- 挡不住人为绕过:流程再好,有人图省事直接贴数据一样出事。所以审批和留痕的成本要足够低,低到大家愿意走。
- 挡不住模型自身的未知行为:新版本、新接口的行为可能变化,敏感链条上应固定版本并观察,版本一变先小范围试,判断口径可参考站点的质量检测与监控工具。
- 挡不住合规口径的变化:数据出境、深度合成、AI 披露的规则一直在动,写材料前到 /safety 看当前整理,别用几个月前的印象。
- 一句话:这套是降低概率、缩小影响面,不是保证零风险。
常见问题
实验室的数据发给外部大模型,算不算数据泄露?
看两件事:数据本身属于哪一档,以及你和模型服务方之间的约定。已发表或完全公开的数据风险很低;未发表实验数据、临床或个人信息,即使做过脱敏也可能残留可识别信息。稳妥做法是涉密与受控数据不出内网,内部未发表数据先脱敏再评估,并且事先在项目层面约定好能不能发。
模型给的参考文献很多是假的,怎么快速发现?
把每一条引用当成待核实的线索,而不是事实。做法是拿着题目和作者去专业数据库检索原文,查不到的直接删;查得到也要看内容是否支持你引用的那句话。凡是模型总结出来的数字、结论、方法名,都要求它给出可追溯的来源,给不出就不能进正文。
用 AI 写论文或报告,要不要声明?
不同期刊、会议、资助机构的要求不一样,有的要求声明使用范围,有的明确不接受 AI 作为署名作者,有的对生成内容比例有说明。写投稿信和材料前,先去目标期刊或项目方的说明页查当前规定,按规定写。不要套用别的刊物的做法,也不要凭传闻决定。
代码是模型生成的,直接放到科研集群上跑可以吗?
不可以直接上。先看它有没有读本地敏感目录、有没有对外发请求、依赖包从哪来,再在隔离环境里小规模试跑。科研集群多是共用账号,一旦脚本出问题影响的是整组人。要长期留在关键流程里的代码,必须有人能读懂并维护,否则宁可重写。
团队里怎么管住「谁都可能把数据发出去」这件事?
把对外发送数据的权限收到一个人手上,其他人只提交申请和用途说明;同时在项目内部把数据分档写清楚,哪一档可以怎么用做成一张表贴在显眼位置。再配合定期的简单复盘,看看有没有人图省事绕过去。流程要短、要能一分钟走完,否则一定会被绕过。