Ein Blockdiagramm auf dunklem Grund: drei Clients, eine Physikerin über eine GUI, ein KI-Agent über MCP und ein Skript über eine CLI, verbinden sich jeweils mit einer Engine, die jeden Befehl gegen Grenzen, Rolle, Anwesenheit und einen Not-Aus prüft und eine Schicht aus virtuellen Instrumenten über vier Geräten steuert: Temperatur, Magnet, Source-Meter sowie Kamera und Tisch.

Instrumentensoftware · seit 2026

I2AS: Instrument to Agentic Station

Laborgeräte, die eine Physikerin und ein KI-Agent nebeneinander bedienen können, wobei jeder Befehl dieselben Sicherheitsregeln durchläuft.

Kurz gesagt

Ein Laboraufbau ist ein Gestell voller Geräte verschiedener Hersteller, verbunden durch Skripte, die nur für die Person funktionieren, die sie geschrieben hat, und Sicherheitsgrenzen, Überwachung und Metadaten werden für jeden Aufbau neu geschrieben oder weggelassen. CryoSoft hat das für einen Kryostaten gelöst, ließ sich aber ohne Fork nicht anderswo wiederverwenden. Einen KI-Agenten darf man nur dann an ein laufendes Gerät lassen, wenn jede seiner Aktionen dieselben Prüfungen durchläuft wie die eines Menschen und protokolliert wird.

Rolle
Alleiniger Entwickler
Zeitraum
seit 2026
PythonPyQt6pyqtgraphPyVISApyserialh5pynumpyruamel.yamlMCPHDF5CI

Die Architektur von CryoSoft, unabhängig von einem einzelnen Messplatz gemacht und für KI-Agenten geöffnet. Sie ist der Gerätestrang der KI-Arbeit des Labors, neben der Suche in der Literatur und im Wiki.

Ein Blockdiagramm. Oben drei Clients, Physicist über eine GUI, AI agent über MCP und Script über eine Kommandozeile, jeweils mit einem Doppelpfeil verbunden mit einem breiten Engine-Block mit der Aufschrift „One engine: every command checked“, darunter „limits, role, attendance, kill switch“ und rechts ein roter Not-Aus-Knopf. Die Engine verbindet sich nach unten mit einer Schicht Virtual instruments, „each reading and action declared once“, die mit vier Geräten unten verbunden ist: Temperatur, Magnet, Source-Meter sowie Kamera und Tisch. Drei Arten von Clients, eine Engine, die jeden Befehl prüft, eine Deklaration pro Gerät.

Wie

  • Jedes Gerät einmal deklariert, in einer Schicht aus Virtual Instruments: Messwerte mit Einheiten, Aktionen mit typisierten Parametern, Grenzen und Aktionsklassen. Die GUI mit PyQt6 und pyqtgraph, die MCP-Tools, das Python-Gateway und der Kommandozeilen-Client werden daraus erzeugt, und Konformitätstests halten die vier Oberflächen identisch.
  • Jeden Befehl durch eine Engine geschickt. Ein Klick auf eine Schaltfläche, ein MCP-Aufruf und eine abgelegte JSON-Datei werden zum selben Command, geprüft gegen Grenzen des Aufbaus, Sitzungsrahmen, Anwesenheit, Not-Aus und Zuständigkeit für die Messung, und beantwortet mit einem Verdict in einem Stream, den jeder Client sieht.
  • Agenten Befugnisse in Stufen gegeben: eine Rollenleiter vom Beobachter bis zum menschlichen Bediener, bei der Obergrenzen der Rolle, der Not-Aus und die Zuständigkeit für die Messung Rechte nur entziehen können. Entfernte Agenten verbinden sich über MCP mit benannten Zugangsschlüsseln.
  • Code nach Vertrauen platziert: die getestete Engine im Gerätethread, von Nutzern geschriebene Bausteine in einem beendbaren Hilfsprozess, von Agenten erzeugte Analysen in einem Container ohne Netzwerk.
  • Jede Messung zu einem Datensatz und jede Schicht testbar gemacht. Eine HDF5-Datei pro Messung mit Probe, Parametern und Deklarationen, ein Agentenprotokoll im Experimentordner, eine geprüfte YAML-Konfiguration, ein simulierter Zwilling für jeden PyVISA- und pyserial-Treiber und die Unabhängigkeit der Schichten, in der CI durch Import-Verträge durchgesetzt.

Ein Diagramm aus verschachtelten Kästen um einen Block mit der Aufschrift Instrument. Tier 0, User/vendor, enthält Treiber, Virtual Instruments und Abläufe. Tier 1, Shipped tested, enthält Engine, Sicherheit und Gateway im Gerätethread. Tier 2, User blocks that could be vibe coded, enthält Konnektoren zum Laborbuch und Renderer in einem beendbaren Hilfsprozess. Tier 3, Agent code generated on the fly, enthält Analyseskripte in einem Container ohne Netzwerk. Ein Pfeil unten trägt die Aufschrift „Less trust, further from the instrument“. Kein Code von Nutzern oder Agenten kann ein laufendes Experiment beeinflussen: Je weniger vertrauenswürdig der Code, desto weiter entfernt vom Gerät läuft er.

Vorgestellt auf der AI4Sci 2026. Der Code ist noch nicht öffentlich.