跳转到主内容
Logo

实验室自动化的三层楼:硬件、数据、决策——大多数团队卡在第二层

Published on
Authors

上一篇写了怎么把配方实验室从每天 5-10 个样品的手工作坊,改造成 45 个样品并行的自动化产线。发出去之后收到最多的追问是同一个问题:机器人和分液系统买回来之后呢?

答案是:买硬件只是打完了地基。我把实验室自动化拆成三层——硬件自动化、数据自动化、决策自动化——大多数团队(包括改造前的我们)会在第二层卡很久,卡到甚至没意识到自己卡住了,因为表面上"自动化"这个词已经用过了。这篇写的是第二层和第三层:数据管道怎么搭、AI 辅助报告和异常标记怎么做、踩过哪些坑,以及一个绕不开的问题——化学家到底要学多少编程才能干这些事。

方法论层面的分享,不涉及具体公司的数据和配方细节。

硬件自动化之后,人还在忙什么

设备到位、样品能并行跑之后,我们发现实验员的时间并没有像预期那样解放出来。追踪了几周实际工时,发现瓶颈整体往后挪了:

  • 排单:45 个样品并行跑没问题,但谁的样品先上机、哪个项目优先级更高,靠的是群里喊话和一张共享表格,经常撞车。
  • 抄数:每台仪器(流变仪、粒径仪、成像系统)都吐出自己格式的原始文件——CSV、专有二进制、甚至截图 PDF。人工把这些数字从五六个软件里搬进一张汇总表,是新的手工劳动,只是从"移液"换成了"复制粘贴"。
  • 报告:客户或内部评审要看的是一份带结论的报告,不是一堆原始曲线。写这份报告曾经要一个人翻半天历史数据、对比趋势、组织语言——数据自动化产生得越多,这一步反而越慢,因为可比的东西变多了。
  • 判断异常:一条流变曲线形状不对、一批样品析出得比历史基线快,靠的是某个资深实验员"一眼看出不对"。这个人不在,异常就漏掉。

这四件事有个共同点:设备厂商的自动化方案完全不覆盖它们。厂商卖给你的是"更快地产生数据",不是"更快地用数据做决定"。这道鸿沟,就是我说的第二层。

三层自动化模型

把"实验室自动化"拆开看,其实是三件独立的事,投资曲线完全不同:

层级解决什么典型形态谁在卖
硬件自动化手不用做重复动作分液机器人、自动进样、并行反应站仪器厂商,一次性采购
数据自动化数据不用人搬运、格式统一、可查询ETL 管道、统一数据库、自动报告生成几乎没人卖,得自己搭
决策自动化下一步实验怎么设计不完全靠人猜异常自动标记、基于历史数据的预测、AI 辅助配方建议更没人卖,处于早期

硬件自动化"好走"是因为它是一次性资本支出:签合同、付款、安装、培训,边界清楚,销售会主动找上门。数据自动化没有这层便利——它是持续的软件工程活,没有现成的"实验室数据中台"产品能装进你实际的仪器组合里(各家仪器软件版本、导出格式、更新频率都不一样),只能自己写胶水代码。这也是为什么很多挂着"AI 实验室"招牌的团队,一问数据到底存在哪、格式统不统一,答案往往支支吾吾——他们买的是第一层,讲的却是第三层的故事。

我做了什么:数据管道、AI 辅助报告、异常自动标记

讲思路,不讲专有配方或数据本身。

统一数据管道。核心决定和硬件层一样朴素:不管仪器多不同,落地格式必须统一。我写了一层适配脚本,把每台仪器的原始导出(不管是 CSV、专有二进制还是截图 PDF 里能提取的数字)解析成同一张打了时间戳的宽表。字段设计大致是这样一个骨架(具体数值和配方内容都是虚构示例):

字段说明示例
sample_id样品唯一编号LOT-20260709-032
instrument产生这条记录的仪器rheometer / imaging / psa
timestamp采集时间,不是录入时间2026-07-09T14:22:00
raw_path原始文件归档路径/raw/rheometer/...
metric_*解析出的关键指标(多列)viscosity_50s, onset_hr

关键设计不是这张表本身,而是 timestamp 用采集时间而不是人工录入时间——原始文件什么时候产生、什么时候被解析、什么时候被人看到,是三件事,混在一起会让后面的趋势分析全部失真。这张表是所有后续自动化的地基——没有它,AI 辅助什么都无从谈起。

AI 辅助报告草稿。报告需要的是"这批样品和历史基线比怎么样"这种叙述,而不是原始数字。管道把新一批的关键指标(析出时间、粘度曲线特征、粒径分布)和历史同类配方自动做对比,生成一份结构化的初稿——趋势描述、异常点标注、和历史批次的差异——交给实验员审核补充,而不是从空白页开始写。这一步没有让报告"自动生成",而是把从原始数据到初稿的这段体力活省掉了,人只做最后的专业判断。

异常结果自动标记。用历史批次的曲线和图像序列建一条基线(简单的统计边界,不是什么复杂模型),新样品的曲线一旦偏离基线超过阈值,系统标红并附上"哪里不对"的简要说明,进评审队列,而不是等季度汇总时才被人发现。这个阈值刻意设得保守——宁可多标记几个假阳性让人复核,也不要漏掉真的异常。异常标记的目标从来不是"替代判断",是"别让判断迟到"。

踩过的坑

实验室 IT 环境的现实。仪器电脑很多还在用出厂时装的系统版本,联网受限甚至物理隔离,数据导出经常只能靠 U 盘。设计数据管道之前,先设计好"怎么把数据从一台不联网的电脑上安全地弄出来",这件事听起来不体面,却决定了整个方案能不能落地。

数据孤岛不是技术问题,是组织问题。每台仪器的数据格式不同,本质是因为过去从没人要求过统一——各个课题组、各个项目按自己的习惯存数据,等你想做汇总的时候,格式的分裂已经积累了好几年。补救永远比一开始就统一贵得多。

"Excel 才是宇宙中心"。再干净的数据库,实验员最终还是想要一份 Excel。硬碰硬地不让用只会被绕过去,更现实的做法是让数据库能一键导出成 Excel 能打开的格式,把 Excel 当成消费端而不是数据源,原始数据永远只有一份权威版本,其余都是视图。

管道自己也会腐烂。仪器软件升级一个小版本,导出格式可能悄悄变了一个字段名或者一个日期格式,解析脚本不报错但解析出错误的数字——这比脚本直接崩溃更危险,因为没人会第一时间发现。后来给每条解析结果加了基本的合理性校验(数值范围、必填字段是否为空),报错要报得响亮,静默的错误数据远比停机更贵。

化学家要学多少编程

这是被问最多的问题,答案比想象的乐观。

真正用得上的,是很朴素的一层:Python 里的 pandas 用来读写和清洗表格数据,写几十行脚本把不同格式的导出文件解析成统一格式,SQL 的基本查询用来从数据库里把想看的东西取出来。不需要计算机科班的算法功底,也不需要会写复杂的软件架构——这些活的本质更接近"数据整理"而不是"软件工程"。

真正改变门槛的是这两年的 AI 编程助手。以前从空白文件写一个能跑的解析脚本,对没受过训练的人来说是一道真实的墙;现在拿着一段不规整的仪器导出文件问 Claude Code 或 Codex "帮我写个脚本把这个转成这样的表格",得到的东西大概率能直接跑,或者改几行就能跑。我自己就是这么从"看得懂 Python"变成"能独立搭数据管道"的——这条路径值得单独写一篇,这里先按下不表。

一个实际的建议:不用一步到位学"数据科学",从"把手头这一份仪器导出文件解析成能查询的表格"这个具体任务开始,用得上什么再学什么。倒推回去,路径大致是这几站:先学够用的 Python 语法和 pandas;拿自己实验室真实的一份导出文件练手,而不是教程里的示例数据集;学会用 AI 编程助手把"我要什么样的表格"说清楚,而不是自己抠每一行语法;最后补一点 SQL,让数据能被查询而不只是能被打开。四站走完,已经够搭一条能用的管道,不需要再往下学。

决策自动化,以及诚实的边界

三层里,决策自动化目前走得最浅。异常标记和历史对比已经在日常跑,但"根据历史数据直接给配方建议""设备状态实时监控联动实验设计"这些,还在验证阶段,离能信赖地替人做决定还有距离。

要泼一盆冷水:决策自动化能不能走通,完全取决于第二层的数据质量。历史数据里有多少是干净、格式统一、标注完整的,AI 辅助的判断就有多可信——数据管道搭得潦草,后面模型再花哨也是垃圾进垃圾出。这也是为什么我把这篇文章的重心放在数据层而不是急着讲"我们在用 AI 做什么":地基没打好,上层建筑都是演示文稿里的故事。

如果你是在招人建实验室数据团队,或者是实验室主管在评估要不要上"AI 实验室"项目,这套三层框架可以直接拿去做自查:先问自己的实验室现在卡在哪一层,而不是直接跳去问"能不能上 AI"。大概率答案是第二层——数据格式还没统一、历史数据还散落在各个课题组的电脑里。先把这一层做扎实,比买任何贴着"AI"标签的产品都更接近真正的自动化。

如果你也在做实验室数据自动化,尤其是怎么处理设备数据孤岛和实验室 IT 限制这两件事,欢迎邮件交流。我会把后续实践继续写在化学与实验室分类里。