NIMO Controller: 基于模型上下文协议的自动驾驶实验室编排器
摘要
本文提出了一种基于模型上下文协议(MCP)的自动驾驶实验室编排器NIMO Controller,该编排器通过可视化编程界面和基于MCP的工具发现,为人类用户和AI智能体提供了统一接口。
arXiv:2605.15227v1 Announce Type: new
摘要:自动驾驶实验室(SDLs)作为加速科学发现的手段受到了越来越多的关注;然而,开发SDL软件在技术上仍然具有挑战性。为了提高可访问性,已有研究提出了编排软件框架来协调SDL组件。然而,现有框架主要面向人类交互设计,并未提供适合AI智能体的标准化接口。本文提出了一种基于模型上下文协议(MCP)的SDL软件架构,其中所有SDL功能均通过MCP服务器暴露。遵循这一设计原则,我们引入了一个基于MCP的SDL编排器,命名为NIMO Controller。它通过基于MCP的工具发现自动生成可视化编程界面,使人类用户无需编写代码即可设计实验工作流。同一MCP后端也可供AI智能体访问,为人类用户和AI智能体提供了统一接口。我们通过一个颜色匹配SDL的案例研究演示了所提系统。结果验证了所提出的基于MCP的SDL架构的可用性。
查看缓存全文
缓存时间: 2026/05/18 06:31
# NIMO Controller:基于模型上下文协议的自驱动实验室编排器 来源:https://arxiv.org/html/2605.15227 Naruki Yoshikawa通讯作者:yoshikawa\.naruki@nims\.go\.jp国立材料科学研究所,茨城,日本Ryo Tamura国立材料科学研究所,茨城,日本东京大学新领域创成科学研究科,千叶,日本 ###### 摘要 自驱动实验室(SDLs)作为加速科学发现的手段受到越来越多的关注;然而,开发SDL软件在技术上仍然具有挑战性。为改善可访问性,已有编排软件框架被提出用于协调SDL组件。尽管如此,现有框架主要设计用于人机交互,并未提供适合AI代理使用的标准化接口。在本工作中,我们提出了一种基于模型上下文协议(MCP)的SDL软件架构,其中所有SDL功能都通过MCP服务器暴露。遵循这一设计原则,我们引入了一个基于MCP的SDL编排器,命名为NIMO Controller。它提供了一种通过MCP工具发现自动生成的视觉编程界面,允许人类用户无需编写代码即可设计实验工作流。相同的MCP后端也可以被AI代理访问,为人类用户和AI代理提供统一的接口。我们通过一个配色SDL的案例研究验证了所提系统。结果证实了所提出的基于MCP的SDL架构的实用性。 ## 1 引言 自驱动实验室(SDLs)结合了机器人自动化实验与数据驱动的实验设计,以加速科学发现[11 (https://arxiv.org/html/2605.15227#bib.bib1)]。尽管兴趣日益增长,SDL的实际部署仍面临若干挑战。其中,软件开发存在可及性问题:大多数SDL软件需要编程专业知识,这限制了设计实验但不编写代码的领域专家的采用。为解决此问题,已提出各种编排软件框架来支持SDL软件的开发[5 (https://arxiv.org/html/2605.15227#bib.bib5),7 (https://arxiv.org/html/2605.15227#bib.bib7),2 (https://arxiv.org/html/2605.15227#bib.bib18)]。我们之前曾报告过IvoryOS[13 (https://arxiv.org/html/2605.15227#bib.bib9)]与NIMO(前身为NIMS-OS[10 (https://arxiv.org/html/2605.15227#bib.bib8)])的集成,它提供了一个用于实验室工作流设计的图形用户界面,其中融入了算法决策[12 (https://arxiv.org/html/2605.15227#bib.bib2)]。尽管IvoryOS从Python代码自动生成了面向人类科学家的可访问界面,但SDL通常需要集成可能不支持Python的传统设备[9 (https://arxiv.org/html/2605.15227#bib.bib12)]。此外,鉴于对AI科学家的兴趣日益增长,SDL功能也应可供AI系统访问。 为了实现大型语言模型(LLMs)与外部工具之间的互操作性,最近提出了模型上下文协议(MCP)[8 (https://arxiv.org/html/2605.15227#bib.bib15)]。MCP标准化了外部工具和数据源向LLM暴露的接口,使其成为AI系统可访问的SDL抽象层的有前途的基础。在本文中,我们提出了一种以MCP为中心的SDL设计,其中实验室硬件和决策算法都作为MCP工具暴露。基于此设计,我们引入了一个新的SDL编排器——NIMO Controller。NIMO Controller的一个关键特性是能够通过基于MCP的工具发现,为人科学家自动生成视觉编程界面。本文的主要贡献如下: * 基于MCP的SDL组件抽象:NIMO Controller采用MCP来包装每个SDL组件,包括实验室硬件和NIMO提供的决策算法,实现了编排软件与底层组件之间的松耦合。通过这种统一抽象,硬件操作和NIMO的决策算法都可以通过LLM直接访问,从而允许实验通过人类用户或AI代理的自然语言进行控制。该设计还支持语言无关的开发以及即插即用的可扩展性,添加新设备或算法只需启动一个新的MCP服务器,无需更改客户端代码。此外,只需添加远程MCP服务器即可实现远程实验。 * 视觉编程界面的自动生成:为使SDL能够被没有编程经验的用户访问,NIMO Controller通过MCP的工具发现功能自动生成基于块的视觉编程界面。用户可以通过组合可拖拽的块来直观地设计实验工作流,无需编写代码。这降低了领域专家的入门门槛,也支持在学生的教育中使用SDL。 ## 2 系统架构 ### 2.1 概述 NIMO Controller作为一个MCP主机,位于用户和MCP服务器之间。它提供了一个前端界面,将视觉编程界面和自然语言界面集成在单个应用程序中。在后端,NIMO Controller与MCP服务器通信,以实现实验规划和自动化实验。NIMO Controller的架构如图1 (https://arxiv.org/html/2605.15227#S2.F1)所示。 ### 2.2 MCP服务器 NIMO Controller通过MCP服务器协调SDL组件。使用两种类型的MCP服务器:NIMO MCP服务器暴露决策算法,而组件MCP服务器暴露SDL组件的功能,例如实验室硬件或外部数据库。 #### 2.2.1 NIMO MCP服务器 NIMO MCP服务器是一个专用的MCP服务器,始终连接至NIMO Controller。它包装了实现材料探索决策算法的NIMO库。用户首先上传一个CSV文件(candidates.csv),其中列出了候选实验条件。然后,MCP服务器暴露参数名称及其当前选定的值,以及`nimo.selection()`工具(用于提出下一个实验条件)和`nimo.update()`工具(用于用最新的实验结果更新NIMO的内部状态)。还暴露了可视化工具;它们将实验结果以图像形式返回,并显示在用户界面中。 #### 2.2.2 组件MCP服务器 NIMO Controller可以连接任意数量的组件MCP服务器,每个服务器包装了与实验工作流相关的特定功能,例如实验室机器人或数据库服务。因此,只要在MCP服务器中实现了任何功能,都可以将其暴露给NIMO Controller。由于每个MCP服务器的实现由开发者负责,这些组件可以独立于前端进行开发,从而能够集成不支持Python的遗留系统。此外,由于MCP支持远程通信,组件MCP服务器可以托管在远程机器上,从而无需修改NIMO Controller即可实现远程实验。在撰写本文时,组件MCP服务器具有以下限制。在MCP定义的三种原语(工具、资源和提示)中,仅支持工具。MCP工具的输出显示为文本或图像。对于视觉编程界面,输入模式仅限于Blockly支持的基本类型,例如数字和字符串。 参考图注图 账户附图图 1:NIMO Controller的架构。控制器作为一个MCP主机,将自然语言界面(通过LLM)和基于视觉块的界面(基于Blockly)集成到一个统一的前端中。通过MCP客户端,这些界面与后端MCP服务器交互:一个NIMO MCP服务器暴露决策算法,以及组件MCP服务器暴露实验室硬件和其他资源。 ### 2.3 用户界面 NIMO Controller提供两种类型的用户界面,用户通过它们与MCP服务器交互:视觉编程界面和自然语言界面。 #### 2.3.1 视觉编程界面 该界面使用Blockly提供拖放式工作流编辑器。提供了几种类型的块工具箱。核心工具箱提供用于控制实验工作流的块,例如重复和条件块。NIMO工具箱提供用于访问NIMO决策功能(如第2.2.1 (https://arxiv.org/html/2605.15227#S2.SS2.SSS1)节所述)的块。此外,为每个连接的MCP服务器提供一个专用工具箱,其中包含执行该服务器暴露的SDL功能的块。这些块是根据从相应MCP服务器检索到的工具定义自动生成的。当页面加载时,前端查询在MCP初始化阶段注册的MCP服务器的能力。对于每个发现的工具,动态生成一个Blockly块定义,其输入字段(如数字或文本字段)源自工具的模式。然后用户可以通过将块拼接在一起来组合工作流。当用户单击“运行”按钮时,设计的工作流被发送至后端并通过调用相应的MCP服务器来执行。该界面实时高亮显示当前正在执行的块。 #### 2.3.2 自然语言界面 用户可以在聊天界面中输入自然语言指令。编排器将消息转发给一个可以访问后端MCP服务器的LLM代理。该LLM代理使用OpenAI Agent SDK实现。为确保安全,系统要求用户批准或拒绝来自代理的工具调用请求。用户可以通过打开“自动批准”开关来启用完全自主执行,该开关将激活工具调用的自动批准。 ## 3 案例研究:配色SDL 为在真实世界的闭环环境中演示NIMO Controller,我们开发了一个配色SDL作为概念验证系统。配色在之前的编排软件[5 (https://arxiv.org/html/2605.15227#bib.bib5)]和教育环境[1 (https://arxiv.org/html/2605.15227#bib.bib16)]中曾被用作入门问题,因此它是在代表性闭环场景中评估NIMO Controller的合适测试平台。 ### 3.1 实验设置 该SDL的硬件包括一个配备电子移液器(Picus 2, Sartorius)的机械臂(DOBOT Magician)和一个用于颜色测量的UVC相机(Shodensha)(图2 (https://arxiv.org/html/2605.15227#S3.F2))。准备三种对应于原色——红色、黄色和蓝色的食用色素染料(McCormick),放置在6孔板中,每种颜色分配两个孔,同时使用一个单独的12孔板作为混合工作区。提供一个装有自来水的培养皿,用于在移液步骤之间清洗移液器吸头。一个MCP服务器包装SDL硬件并暴露用于移液器控制、机械臂移动和基于相机的颜色测量的函数,NIMO Controller据此自动生成相应的Blockly块。 参考图注图 2:配色SDL的硬件设置。 ### 3.2 实验流程 本实验的目标是找到三种染料的混合比例,使得混合溶液与用户指定的目标颜色之间的色差最小化。搜索空间包括每种颜色的比例,从0%到100%以5%的增量离散化为20个水平,总分配体积固定为2.0 mL。混合后的颜色由相机捕捉,并使用CIEDE2000色差公式[6 (https://arxiv.org/html/2605.15227#bib.bib13)]与目标颜色进行比较,该公式提供了感知上均匀的色彩差异度量。 实验以闭环方式进行,使用一个12孔板:前四个孔用于随机探索以建立初始数据集,剩余八个孔用于由PHYSBO[3 (https://arxiv.org/html/2605.15227#bib.bib14),4 (https://arxiv.org/html/2605.15227#bib.bib17)](NIMO中可用的贝叶斯优化算法)指导的优化。在每次迭代中,NIMO根据之前的观测提出一组新的染料比例,机械臂相应地分配并混合染料,相机测量产生的颜色。由于PHYSBO默认执行最大化,因此使用色差的负值作为优化目标。 用户通过NIMO Controller视觉编程界面设计上述实验工作流。该工作流包括以下步骤:(1) NIMO提出下一组实验的染料比例;(2) 机械臂按指定量分配并混合染料;(3) 相机捕捉产生的颜色;(4) 计算混合物与目标之间的色差;(5) 将结果反馈给NIMO以更新其实验历史。无需编写任何代码即可构建此工作流。图3 (https://arxiv.org/html/2605.15227#S3.F3)显示了NIMO Controller的截图,其中包含设计的工作流和实验日志。 参考图注图 3:NIMO Controller的截图。左侧显示在Blockly中设计的实验工作流,右侧显示实验日志及每个块的输出。 ### 3.3 结果 我们使用两种传统日本颜色作为目标来验证系统:*kikyou-iro*(桔梗紫;#6A4C9C)和*ama-iro*(亚麻色;#D6C6AF)。在两个实验中,优化过程在色差的负值上均显示出随迭代次数一致的改进趋势(图4 (https://arxiv.org/html/2605.15227#S3.F4)),证明了NIMO Controller成功地将感知、决策和硬件控制集成到一个闭环中。该系统自主导航了一个三维离散参数空间,并逐步实现了更小的感知色差。每次实验迭代大约需要12分钟,主要由机器人液体处理决定。这些结果证实,NIMO Controller可以通过从MCP服务器自动生成的视觉编程界面来编排多步骤的闭环SDL工作流。 参考图注\(a\)实验1混合板的照片(目标颜色:#6A4C9C)。 参考图注\(b\)实验2混合板的照片(目标颜色:#D6C6AF)。 参考图注\(c\)实验1每个周期的最佳负色差。 参考图注\(d\)实验2每个周期的最佳负色差。 图 4:配色SDL实验结果。顶行:实验后12孔板的照片(孔1–4:随机探索;孔5–12:贝叶斯优化)。底行:每次迭代达到的最佳负CIEDE2000色差,其中值越高表示感知色差越小。两个实验均显示随迭代次数的一致改善。 ## 4 结论与未来展望 我们介绍了NIMO Controller,一个基于MCP的SDL编排器,通过视觉编程界面和自然语言界面提供了一个无代码的接口,用于算法决策和自动化实验。我们通过一个系统演示了
相似文章
MCP-Cosmos:基于世界模型增强智能体在 MCP 环境中执行复杂任务
本文介绍了 MCP-Cosmos,这是一个将生成式世界模型集成到 Model Context Protocol (MCP) 生态系统中的框架,旨在通过潜在空间中的预测性模拟来增强智能体的规划与执行能力。
Contextberg
Contextberg 能将你的工作转化为 AI 代理内存,并通过模型上下文协议(MCP)提供服务。
MCP 真的能减少智能体的集成工作量吗?
本文探讨了模型上下文协议(MCP)是否通过标准化智能体与工具的通信,有效减少了 AI 智能体的集成工作量,并将 Evose 中的原生 MCP 集成与 LangGraph、CrewAI 等其他技术栈中的手动连接进行了比较。
使用 MCP 进行代码执行:构建更高效的智能体
本文来自 Anthropic,探讨了如何将代码执行与 Model Context Protocol (MCP) 相结合,以提升 AI 智能体的效率。文章分析了工具定义和中间结果导致的 token 过载等挑战,并提出代码执行作为降低延迟和成本的解决方案。
agency-os:将Notion作为AI代理的调度面板 - 开源、MIT许可、原生MCP支持、兼容Claude Code、Cursor、Cline或任何MCP接口
agency-os是一款开源工具,可将Notion转变为AI代理的编排层,允许用户规划任务、审批任务树,并通过MCP调度代理。它支持模型路由和依赖解析,兼容Claude Code、Cursor、Cline及其他支持MCP的代理。