定制科学仪器的创新速度经常受到软件工程复杂性的瓶颈限制。虽然硬件设计发展迅速,但开发强大且集成的控制系统仍然需要大量资源,并且往往超出了实验实验室中可用的软件专业知识。在这里,我们展示了一个由人工智能辅助的工作流程,用于构建和验证一个针对特定科学仪器的集成控制系统,该流程在扫描氦显微镜(SHeM)上得到了演示。我们强调,这项工作并不开发或训练新的AI模型;相反,我们使用公开可用的通用大型语言模型(LLMs)作为实用的工程工具。利用这些模型,我们共同开发了一个模块化的软件堆栈,涵盖了硬件接口、通信中间件、扫描控制和用户界面。为了降低将AI生成的代码部署到脆弱硬件上的风险,我们引入了一个数字沙箱,该沙箱可以模拟仪器行为并支持部署前的验证,同时使用第二个LLM进行交叉验证,并要求进行人工审核。我们在实际的SHeM上成功部署了该系统,用于2D成像和衍射测量,其表现与手动开发的控制系统一致。这项工作为定制科学仪器中的AI辅助软件工程提供了一个可复制且以安全为导向的模板。
1 引言
实验物理学的进步往往是由新仪器推动的。从扫描隧道显微镜到现代量子传感器,定制硬件使得能够进行商业工具无法实现的测量。然而,在硬件设计的快速进步与创建具有高效用户体验的集成控制系统之间存在持续的差距。现代仪器依赖于多个子系统的紧密同步控制,但构建这样的基础设施需要大学科学实验室中不常见的软件工程技能。因此,许多有前景的仪器仍然受到脆弱或不完整控制堆栈的限制。大型语言模型(LLMs)提供了一种潜在的途径来减少这一软件瓶颈。它们可以从自然语言生成功能代码,降低了仪器编程的门槛,并实现了自主实验室工作流程的演示。最近的研究已经展示了LLMs在控制多种材料科学仪器以及实现商业硬件与非商业定制组件的联合控制方面的能力。除了简单的脚本生成之外,这些系统还实现了与显微镜和用户设施工具的自然语言交互,最近,自主显微镜平台还将语言模型与计算机视觉集成,以实现基于内容的测量策略。这些发展显示出巨大的潜力,但对于定制仪器来说,实际挑战仍然存在:大多数报告都集中在单一设备、孤立脚本或通过成熟API的操作上,而定制系统通常需要一个涵盖硬件接口、通信、扫描逻辑和用户界面在内的控制系统。当直接将随机AI输出部署到硬件控制时,还会出现安全问题,特别是当同步或扫描逻辑错误可能损坏硬件或默默地破坏数据集时。在这项工作中,我们展示了一个用于开发和部署真实多子系统科学仪器——扫描氦显微镜(SHeM)的集成控制堆栈的人工智能辅助工作流程。我们的贡献不在于展示LLMs本身的新能力,而在于展示如何使用现有的通用模型作为实用工程工具,快速构建定制仪器的完整控制系统。我们并不声称这是LLMs在仪器控制中的首次使用;相反,我们的贡献是一种以安全为导向且可复制的工程方法,用于将实验意图转化为定制硬件的工作控制系统。为了清晰起见,我们将这里的“集成控制系统”定义为以下内容的组合:用于运动和检测子系统的硬件控制、用于命令和数据流的通信层、扫描控制逻辑(轨迹生成、位置验证和停留时间处理)以及用于操作和监控的用户界面。为了降低风险,我们开发了一个数字沙箱,该沙箱可以模拟类似仪器的响应,并通过相同的接口流式传输合成数据,从而在部署前验证AI生成的代码。我们进一步使用独立的LLM作为审核渠道进行交叉验证,并最终由人工审核接受,然后在实际的SHeM上使用实验数据验证了结果系统的性能,其性能与手动设计的控制系统相当。
2 方法
2.1 仪器
SHeM是一种新型显微镜,它利用电荷中性的热氦原子作为探测粒子。典型的SHeM由三个主要部分组成:光束生成、样品操作和信号检测。光束生成基于自由喷射膨胀,随后进行微准直,在当前的SHeM实现中,不需要软件控制。氦微探针照射到样品上,然后对其进行扫描以创建图像。样品操作是通过堆叠商用压电电机来实现的,以实现X、Y、Z方向的运动和方位角旋转。信号检测用于获取每个像素的强度,通过收集在给定方向上散射的氦束,然后在自制的探测器中将其电离,并使用皮安表读取电流。SHeM能够在较大的横向范围内生成亚微米分辨率的图像,并进行点轮廓衍射;它旨在进行高精度成像,而不会对样品造成任何损伤或侵入性准备,同时通过点轮廓衍射收集局部表面信息。这些功能需要一个复杂且紧密同步的控制系统。
2.2 人工智能辅助的开发路线
为了促进SHeM控制系统的开发,我们使用了两个前沿的大型语言模型(LLMs):ChatGPT-5(OpenAI)和Claude Opus 4.1(Anthropic)。这两个模型都是通过它们各自的官方网页界面访问的。虽然对LLM性能的正式定量评估超出了本研究的范围,但我们的开发经验揭示了它们互补的优势:ChatGPT-5在初始的概念头脑风暴和架构设计阶段特别有效,提供了结构化且有洞察力的高级框架。相比之下,Claude Opus 4.1在生成功能性低级源代码和实现特定硬件通信逻辑方面表现出更高的能力。通过利用这些不同的能力,我们建立了一个从概念化到部署的稳健工作流程。
2.2.1 与AI共同设计的概念系统架构
图1展示了利用AI开发扫描氦显微镜(SHeM)控制系统的流程,作为该方法论的演示。在项目开始时,通过与AI的迭代互动,确立了将控制系统模块化并将开发过程分为不同步骤的总体概念。第一个提示说明了我们如何与AI进行概念设计。我们提供了必要的背景信息和项目的总体目标,然后提出一个开放的想法请求。AI在这个概念设计中的结果是将控制系统分为四个主要模块:硬件控制层、通信层、扫描控制层和用户界面层。这些模块从低级硬件交互到前端用户界面形成了一个逻辑上的进展。
2.2.2 硬件控制层的生成
在第二个提示中,关于概念设计,我们要求AI开发用于样品操作(通过Attocube纳米定位器ECC100控制器)和信号检测(使用RBD 9103皮安表从自制氦探测器读取电流)的代码,同时说明我们想要实现的功能。在这个阶段,我们将制造商提供的API库提供给AI。我们还指明此时不应实现同步功能,因为AI倾向于根据概念设计构建未来的功能。结果是生成了两段分别用于控制纳米定位器和皮安表的代码。
2.2.3 通信层的生成
第三个提示专注于通信层的开发。我们向AI提供了它生成的硬件控制代码和概念设计,作为通信层的基础。在这个设计中,修改了硬件控制层生成的代码,使得皮安表和纳米定位器编码器能够在共享的MQTT(消息队列遥测传输,一种轻量级的发布/订阅网络协议)服务器上以不同的主题发布它们的信号和位置数据。服务器还接受来自后续扫描控制层的命令。
2.2.4 扫描控制层的生成
第四个提示描述了与AI的交互,用于开发整个系统中最核心的模块:扫描控制层。与提示1中的概念设计阶段类似,这个模块需要与AI进行广泛的迭代,以创建适合未来仪器开发的框架。这个特定层次的概念设计的结果是拥有四个组件:MQTT命令功能,通过MQTT通信层向硬件发出运动指令;扫描模式生成器,计算扫描中每个像素的坐标;位置验证和停留时间控制功能,检查纳米定位器是否到达目标位置,管理停留时间,并从连续发布的皮安表信号中提取数据点,同时考虑探测器延迟;高级扫描控制器,整合所有之前的组件并执行完整的扫描序列。图1展示了几种扫描模式,包括矩形和多边形几何形状中的“蛇形”和“栅格”轨迹。它还展示了点轮廓衍射模式,在这种模式下,样品在X和Z方向上移动以保持恒定的光束入射,使SHeM能够改变检测角度。这一阶段的结果是一组满足我们扫描控制要求的代码。然而,由于这一层包含复杂的几何变换和同步逻辑,即使是小的计算不准确也可能导致硬件碰撞或测量伪影,根据我们的经验,这并不是LLM AI模型的强项。因此,需要进一步的验证,下面将进行介绍。
2.2.5 用户界面层的生成
最后,第五个提示涉及跨平台系统兼容性。由于底层模块是用C++和Python编写的,这两种语言在各种操作系统上都有广泛的支持,因此可以实现图形用户界面(GUI)和命令行界面(CLI)作为前端客户端,访问相同的底层功能。大多数实验室科学家没有能力开发良好的用户界面,因为这通常不是他们的专长。然而,AI基于其来自前端编码社区的知识,擅长构建这样的界面。对于SHeM系统,AI帮助我们将操作工作流程从一系列碎片化和基于命令行的脚本转变为一个单一的仪表板,如图2所示。这个集成界面将复杂的控制堆栈组织成四个逻辑区域:连接性和系统元数据、运动控制画廊、实时显示和动态数据可视化。
2.3 沙箱模拟环境
鉴于纳米定位器和定制探测器的高成本和脆弱性,直接将未经验证的AI生成的代码部署到物理硬件上是有风险的。作为一种缓解措施,我们采用了“沙箱”方法。我们提示AI开发一个数字沙箱,如图3所示,这是一个旨在模拟物理仪器行为的模拟环境。模拟器连接到与真实硬件相同的MQTT服务器,订阅运动命令,并基于合成数据发布位置和信号。需要澄清的是,沙箱并不是为了作为高保真的物理模拟器而设计的。它的主要目的是隔离和验证控制系统的关键方面,包括MQTT通信的完整性、扫描序列、坐标处理以及用户界面的响应性。因此,沙箱的范围被有意限制在名义操作条件下的逻辑验证。这种方法使我们能够在物理实现之前,在虚拟环境中验证MQTT通信的完整性、扫描控制的准确性以及用户界面的响应性。为了减少控制代码和模拟环境之间相关错误的风险,作者根据SHeM仪器的已知几何形状和操作方式,明确定义了管理沙箱的基本规则。这些规则包括在全局参考框架内的坐标转换、定义方位运动的旋转中心(COR),以及Z轴平移和横向位移之间的几何耦合。人工智能的作用仅限于执行这些预定义的约束,而不是自主生成它们。此外,实施的转换还与分析预期和先前的实验观察结果进行了交叉验证。
图3展示了用于模拟真实SHeM中硬件行为的沙箱的示意图。使用合成数字图像作为样本,可以通过设置将其定位在任何位置、平移、旋转和插值,以模仿真实样本的行为。输出格式与真实硬件相同,以测试控制系统其他部分的鲁棒性。如图3所示,沙箱在作为虚拟样本表面的数字图像上操作。该图像被赋予一个全局参考框架内的初始位置,该区域之外的所有像素都被视为背景,为了简化处理,其强度被设置为零。然后可以对样本进行三维平移、旋转和插值,每个轴都有速度设置,以测试扫描控制层中的到位检查逻辑。在构建样本平面后,沙箱定义了一个探测点,该点读取该位置的位置和相应的强度值。强度值将乘以一个增益值,并带有偏移量,这个偏移量可以为每次读取随机生成,以模拟真实探测器中的泊松背景噪声。这些数据使用MQTT以物理硬件相同的格式进行流式传输。当前的实现不包括更高阶的物理效应,如机械滞后、热漂移或实时通信延迟。虽然这些因素对于定量性能预测和鲁棒性测试很重要,但它们对于验证逻辑正确性这一当前目标来说并不是必需的。在整个开发过程中,人工监督仍然是必不可少的。通过迭代检查和优化,可以识别出坐标转换、时间控制和数据处理中的逻辑不一致性。在这些约束条件下,沙箱为在物理硬件上部署之前验证控制架构提供了一个受控且安全的环境。
2.4 多个AI模型的交叉验证
除了“沙箱”方法外,我们还采用了上述两个独立的LLM(ChatGPT-5和Claude Opus 4.1)的交叉验证工作流程,因为不同的训练数据集可以减少相关的幻觉错误。这一过程在图4中有所说明。对于控制系统的每个模块,初始代码或设计建议由一个模型生成,然后由第二个模型进行审查。这种比较很有用,因为这两个模型经常对同一提示产生不同的解释,从而能够检测出由单个模型生成的幻觉、错误或漏洞。模型之间的差异由人工审核员解决:我们采用了满足接口约束并通过沙箱验证的最小修改。实际上,许多模型之间的分歧都可以追溯到提示中缺失的假设;因此,解决这些差异通常涉及通过明确的约束来细化提示并重新运行生成步骤。除非通过沙箱验证,否则不允许对扫描逻辑进行任何更改并进入监督下的硬件操作。
图4展示了两个AI模型输出交叉验证的工作流程。图中展示了在SHeM控制系统开发过程中遇到的不希望出现的行为的例子,以及整个交叉验证过程中使用的提示摘要。在开发过程中,除了编码环境容易检测到的语法错误外,还通过AI模型之间的交叉验证和人工审查沙箱行为发现了许多其他问题。沙箱在揭示AI在代码生成过程中引入的错误方面发挥了关键作用,包括幻觉、逻辑错误和数学错误。例如,生成未请求的额外实体或引用不存在的功能通常通过标准语法检查被发现,而大多数扫描控制层中的逻辑和数学错误只有在代码在沙箱中运行并经过人工审核时才会显现出来。尽管交叉验证和沙箱测试减轻了大部分风险,但在某些条件下,AI生成的代码仍然未经验证。特别是,如果没有中间验证层直接与硬件交互是危险的,因此对每个脚本的人工检查仍然是必不可少的。无声的逻辑不一致性,如设备时间戳不对齐或独立硬件组件之间的同步不正确,仍可能发生,并且无法通过AI交叉验证可靠地检测到。因此,所有AI生成的代码都经过了人工检查和离线测试。在没有首先通过沙箱验证的情况下,不允许任何模型直接发出硬件命令。
2.5 LLM交互协议和提示工程
我们首先总结了在AI辅助开发过程中使用的实际协议。控制系统是在一个迭代的提示-审查-测试周期中开发的。每个提示包括:目标和所需行为、相关的API约束和可用命令、所需的输入/输出签名,以及明确的排除项(例如,不生成用于未来开发的占位符代码)。生成的代码首先经过静态检查(语法、导入、函数一致性),然后在适用的情况下在数字沙箱中执行,最后由人工审查逻辑和安全性,然后再进行任何监督下的硬件部署。在长时间的交互中,我们观察到了反复出现的故障模式:在提供的API中不存在的幻觉函数或实体、坐标转换和扫描序列中的逻辑错误、扫描几何或停留时间中的数学不一致性,以及代码质量的退化,例如重复实现和过于复杂的抽象。据估计,这些故障模式在早期迭代中经常出现(例如,在复杂扫描逻辑的初始生成中),但通过描述的结构化工作流程得到了有效消除。我们通过强制使用稳定的模块接口、将提示和代码更改限制在每次迭代的单个模块内,并使用沙箱执行来验证扫描逻辑更改,从而缓解了这些问题。为了具体说明这些限制并过渡到我们提出的工作流程,表1展示了如何识别和解决一个常见的逻辑错误。补充材料中提供了额外的代表性提示-响应摘录和纠正周期。
表1:使用沙箱验证改进位置验证逻辑的代表性纠正周期
交互阶段
内容/代码片段
初始用户提示
“我需要一个位置检查函数,以确保在获取数据之前阶段已经到达目标。”
LLM响应
While current_position != target_position
通过
分析:等式检查假设数值完全匹配。实际上,由于噪声和有限的分辨率,阶段位置很少能精确匹配目标,导致循环无限期地停滞。
沙箱检查和人工反馈
在沙箱中(在位置读数中添加了人工噪声),阶段接近目标但从未达到完全匹配,导致扫描停滞。要求AI通过增加位置验证的容差来解决这个问题。
LLM响应
Tolerance = 5 × 10^-9 # 5纳米
While abs(current_position – target_position) > tolerance
通过
结果:修订后的条件允许在现实的噪声和分辨率限制下进行可靠的位置验证。
2.6 可维护性和可扩展性
控制系统可能需要随着时间的推移而变化,以适应仪器的未来发展。因此,控制系统对于人类或其他AI模型来说易于理解和修改是非常重要的。我们发现,高级设计导致了低级通信、控制逻辑和用户界面之间的清晰概念分离。这种逻辑模块化意味着新的更改通常只需要修改单个组件的逻辑,而且各个代码段通常都非常清晰,并附有全面的注释。然而,为了优先考虑即时操作能力和快速产生科学结果,最终部署被整合到一个Python脚本中。虽然这种单文件方法成功地驱动了实验硬件并促进了数据采集,但它显著增加了长期维护的成本和难度。将整个代码库放在一个庞大的文件中,使得人类开发者的导航、版本控制和隔离测试变得繁琐。此外,该模型倾向于依赖非结构化的数据类型在程序的内部层之间传递信息。这意味着未来的开发将严重依赖注释来解释数据流,使得自动化工具(如类型检查器)几乎无法识别简单的错误。当在这个单文件结构中实现额外功能时,模型经常优先考虑功能正确性的最短路径,往往以牺牲工程最佳实践为代价。这种方法导致了技术债务的逐渐积累,特别是通过代码重复和创建参数过多的过于复杂的函数。未来的维护,例如修复扫描逻辑中的错误,将需要跟踪大型文件中多个重复部分的变化。因此,尽管当前的架构足以用于概念验证实验工作,但强烈建议采用严格的多文件架构,以在未来迭代中物理上强制模块化并降低维护成本。尽管存在这些架构上的权衡,我们发现许多AI的结构问题可以通过额外的提示来解决,并且通常可以通过应用标准代码检查器来检测到。所有AI生成的代码都在仪器环境中完全离线运行,确保没有实验数据或硬件访问被传输到外部服务器。人工检查和基于沙箱的验证减轻了意外漏洞或隐藏依赖性的风险。
3 结果
在沙箱中验证了整个控制系统后,我们将AI生成的系统部署在物理SHeM上,以评估其在实际测量中的性能。在图5中,为了提供一个清晰的基准,我们比较了三种情况下的数据集:在图5(a)中,沙箱中的合成数字样本获取了一个参考2D图像和衍射测量结果,然后使用AI生成的控制系统获得了实验性的MoS2和生物膜数据集;在图5(b)中,使用原始的手动编写控制软件获得了相应的实验数据集。这些比较使我们能够在真实的实验环境中评估AI制作的控制系统。在图5(a)的左侧面板中,沙箱结果确认了扫描控制器的预期行为。图像再现了输入的数字样本,衍射测量产生了预期的直线,表明系统在整个Z范围内成功地将探针固定在同一像素上。
图5展示了使用AI生成的控制系统和手动开发的控制系统获得的结果的示意图比较。(a) 从左到右,数字图像被用作沙箱中的输入样本,其中2D扫描和Z依赖的衍射扫描都表现出预期的行为。直线的衍射线确认了扫描控制器在整个Z范围内将探针保持在同一像素上,这是衍射测量所要求的。在中间面板中,使用AI生成的控制系统对真实的MoS2样本进行了成像,产生了与使用手动开发的控制代码获得的空间图像和衍射轮廓非常匹配的结果。右侧面板展示了一张使用SHeM以250纳米分辨率获取的生物膜样本图像,代表了在最佳仪器条件下的操作结果。(b) 作为对比,左侧面板展示了参考文献40中的MoS2数据,其对比度和衍射特性与使用AI生成的控制系统获得的数据相似。右侧面板展示了参考文献41中的生物膜数据(经许可复制),同样以250纳米的分辨率获取。在实验不确定性范围内,没有观察到相对于手动控制的性能下降。当AI生成的控制系统应用于物理SHeM时,从SiO2基底上的MoS2薄片获得的空间图像和衍射测量结果(图5(a)的中间面板)与使用手动编写的控制系统在hBN/SiO2上的另一MoS2薄片样本上获得的数据表现出相同的行为(图5(b)的左侧面板)。这种一致性证明了AI生成的扫描逻辑在真实硬件上能够正确运行。两个MoS2空间图像都是使用相同的设置获取的(每像素2.5微米的分辨率和1秒的停留时间),而两个衍射测量都使用了每点3秒的停留时间和50微米的步长。为了进一步评估系统在最佳仪器条件下的性能,使用AI生成的控制系统以更高的250纳米分辨率对生物膜样本进行了成像(图5(a)的右侧面板)。将此与之前使用手动控制系统在同一分辨率下获取的生物膜数据(图5(b)的右侧面板)进行比较,在实验不确定性范围内没有观察到相对于手动控制的性能下降。在所有测试样本中,两种控制系统的整体图像质量和衍射特征保持一致。噪声水平的微小变化或细微对比度的差异归因于探测器波动和样本差异,而不是控制逻辑本身。该系统的成功部署凸显了实验工程的一个转变:这体现了从手动编码向AI辅助开发和验证的过渡。尽管图像质量与手动实现相当,但开发速度的差异是显著的。从概念设计到实验部署的完整开发周期,从手动编写控制系统的数月时间缩短到了大约三周。重要的是,这种加速并没有以牺牲可靠性为代价。沙箱环境确保了错误、AI的幻觉和漏洞在沙箱环境中得到解决,从而在物理部署期间实现了无故障运行。这证实了生成式AI用于代码生成和沙箱验证的结合构成了克服定制仪器软件瓶颈的流程。
结论与展望
我们提出了一个端到端的、由AI生成的控制系统,用于定制的仪器,以扫描氦显微镜作为该方法论的演示。通过仔细指导大型语言模型,我们成功地将不同的硬件子系统集成到了一个控制系统中。沙箱模拟环境弥合了生成式AI的随机性与在真实硬件中使用AI生成代码的操作需求之间的差距。由于该方法论不依赖于任何特定的硬件或探针物理特性,这项工作为将定制的实验室概念快速转化为多个科学领域的操作仪器提供了一条途径。展望未来,这种模块化控制系统能够扩展到自主仪器操作,因为控制堆栈是软件定义的,并且由API驱动,非常适合机器学习。未来的工作将集中在将强化学习算法集成到扫描控制层中,以实现自主校准和图像识别,以选择进行衍射测量的区域。总体而言,AI辅助的软件工程显著减少了实验科学中的瓶颈,使研究人员能够专注于他们科学领域的探索和创新,而不是专注于软件开发和维护。
作者贡献
王凯:撰写——原始草稿、审阅与编辑、概念化、方法论、软件、验证、形式分析、调查、资源管理、数据管理、可视化、项目管理。大卫·J·沃德:撰写——审阅与编辑、概念化、方法论、软件、项目管理。马修·奥德:撰写——审阅与编辑。刘博尧:撰写——审阅与编辑。安德鲁·P·贾丁:撰写——审阅与编辑、概念化、项目管理。
利益冲突
作者声明没有竞争利益。
数据可用性
“沙箱”模拟器和扫描控制系统可以在以下链接找到:https://github.com/Okarl96/shem_gui 和 https://doi.org/10.17863/CAM.129966(Apollo—剑桥大学存储库)。存储库中提供了一个最小的工作示例,包括示例输入数据和配置文件,以便复制沙箱验证工作流程。补充信息(SI):总结的提示示例。详见DOI:https://doi.org/10.1039/d6dd00177g。
致谢
王凯感谢中国国家留学基金委员会(CSC)和剑桥信托基金的财政支持。这项工作得到了EPSRC(授权号EP/R008272/1)和EPSRC(授权号EP/T00634X/1)的支持。部分工作在CORDE(合作研发环境)进行,该环境旨在提供对剑桥大学卡文迪许实验室物理相关设施的访问。注释和参考文献
打赏