Der KI-Helfer im Editor: vom Chat zur Plattform

Betrifft: ForgeIEC Studio anvild

Warum das wichtig ist

KI-Code-Assistenz ist im Software-Bereich angekommen — in der Industrieautomatisierung bisher nicht. Der Grund: SPS-Code wirkt auf reale Hardware, jede falsche Variable bewegt einen Motor oder oeffnet ein Ventil. Cloud-LLMs als „Code-completion auf SPS" funktioniert ohne strenge Sicherheits-Schicht nicht.

ForgeIEC Studio loest das mit MCP (Model Context Protocol) als Schnittstelle zwischen LLM und Editor. Das LLM ruft typisierte Werkzeuge — keine freien Shell-Befehle — und jeder Schritt der Aenderungen verursacht laeuft durch eine Operator-Bestaetigung.

Damit ist ForgeIEC der erste IEC-61131-3-Editor mit einer ernsthaft tragfaehigen KI-Integration.


Was die KI praktisch tut

Sechs Tool-Familien decken die Editor-Bedienung ab:

FamilieWas die KI sieht / tut
project.*POU-Inventur lesen, Variablen anlegen, POU-Body schreiben, Bus-Topologie inspizieren
codegen.*Kompilieren, generieren, deployen, Status-Pollen mit g++-stderr-Tail
monitor.*Live-Snapshot + Einzel-Werte + Cycle-Stats + Code-State
oscilloscope.*Zeitreihen-Aufnahme mit Trigger, Stream-API, CSV-Export
tasks.*Resource/Task/Programm-Instance lesen + schreiben
library.*Standard-FB-Bausteine (TON, CTU, R_TRIG, …) lookup mit ST-Beispielen
bellows.*, anvil.*HMI-Gateway + Anvil-Topics inspizieren
editor.*Sauberer Quit, Logs, Confirm-Antworten
forge.helpSelbst-Doku — die KI fragt sich selber aus

Gesamt ueber 80 Tools, alle JSON-Schema-getypt und durch forge.help_for(name) mit Beispielen + Fehlerklassen selbstbeschreibend.


Fuenf Personas, ein Chat-Reiter

Statt einer einzigen statischen Sitzung gibt es rollenbasierte Personas im AI-Reiter:

  • Blacksmith Master — der Vorarbeiter, darf alles
  • Reviewer — read-only, kann nichts kaputt machen
  • Doc — schreibt Variablen-Kommentare + Doku
  • Monitor — beobachtet Live-Anlagen, nichts veraendert
  • Trainee — wie Vorarbeiter, aber jede Aktion einzeln bestaetigt — ideal fuer Einarbeitung

Jede Persona hat eigenen API-Endpoint + Modell — so kann GPT-4o den Code schreiben und Claude-Opus dazu den Review machen.

Mehr: Personas im Einzelnen.


Offen — kein Vendor-Lock-in

Der Editor implementiert die Server-Seite von MCP. Jeder MCP-konforme Client kann sich verbinden — der eingebaute Chat- Reiter ist nur einer davon:

  • Claude Desktop (Mac, Windows, Linux)
  • VS Code mit MCP-Extension
  • Claude Code (CLI)
  • ChatGPT mit MCP-Connector
  • mcp-inspector als Debug-Tool
  • Eigene Skripte per curl + JSON-RPC

Sie tragen URL + Bearer-Token aus ForgeIEC Studio in den jeweiligen Client ein — fertig. Anbindung an ChatGPT / Claude / lokal ist dokumentiert.


Sicherheit: Drei Schichten, sichtbar

Die KI ist secure-by-default. Drei aufeinander aufbauende Schichten muessen passiert werden:

  1. Build-time Gate — die Standard-Distribution aus dem APT-Repo ist read-only. Schreibende Aktionen erfordern einen separat gebauten Editor. Das ist eine echte Trennung, kein Hakchen.
  2. Confirmation State Machine — jede schreibende Aktion liefert FORGE_ERR_CONFIRMATION_REQUIRED zurueck, der Operator bestaetigt per editor.confirm. Keine stille Hintergrund- Aenderung.
  3. Operator-Sichtbarkeit — jede Aktion im Chat-Verlauf sichtbar, Audit-Log mit Zeitstempel.

Force-Setzungen (Hardware-Output pinnen) sind explizit nicht ueber MCP zugaenglich — das bleibt Operator-Hoheit ueber die GUI.

Mehr: Sicherheits-Modell und Architektur-Tiefe.


Anti-Loop-Hilfen — weil LLMs nicht perfekt sind

LLMs verirren sich in Endlos-Schleifen wenn sie einen Fehler nicht verstehen. ForgeIEC Studio adressiert das mit actionable Error-Messages: jeder Compile-Fehler liefert nicht nur „Expected := or ("-Mathematik, sondern den konkreten MCP-Call zum Beheben. Beispiel:

„X is a Function Block — declare instance first. Action: project.write.add_variable scope_kind=pou iecType=TON"

Plus konfigurierbare Tool-Schritte-Grenze (default 10 Schritte pro User-Anfrage) und ein Geschwindigkeits-Modus mit Notbremse-Knopf (roter Not-Aus-Knopf mit klassischer Pilzkopf-Form) wenn die KI trotzdem aus dem Ruder laeuft.


Was die Commits getragen haben

Die KI-Plattform ist nicht ein Big-Bang, sondern eine Reihe von Sprints die aufeinander aufbauen:

  • MCP-1: Prompts in QSettings + editierbarer System-Prompt
  • MCP-2: Confirmation State Machine + project lifecycle
  • MCP-3a..i: Tool-Familien gestaffelt — JSON-RPC, library, tasks, bellows, anvil, monitor, oscilloscope, catalog, codegen
  • MCP-3.5: Multi-Agent-Dock — 5 Default-Personas
  • MCP-3.6: Chat-Tab als interner MCP-Client (statt externem Tool)
  • MCP-4a: Remote-Bind + HTTPS + Bearer-Auth pro Profil
  • MCP-4b: Federation + Trust (siehe eigener Post)
  • MCP-6: project.write.* Phase-2 + runtime.* + state-machine- Integration
  • MCP-8: Namespace-aware writes (pou/gvl/bellows/anvil-Triplet)
  • MCP-9: Persistence + diagnostics + triplet convention

Source: documentation/architecture/mcp-platform-v1.md (~2300 LOC formale Spec, RFC-2119-Sprache).


Wo Sie das nutzen

SetupWofuer
Lokales CodingCloud-LLM oder lokales Modell, Personas im AI-Reiter
Code-ReviewReviewer-Persona, read-only — keine Gefahr
InbetriebnahmeMonitor-Persona auf Produktions-SPS — nur Beobachtung
EinarbeitungTrainee-Persona, jede Aktion einzeln bestaetigen
CI-Build-ServerHeadless-Studio + curl + JSON-RPC aus dem Build-Skript
Multi-LLM-CooperationGPT als Kritiker, Claude als Coder, jeder mit eigener Persona

Wo es konkret nachzulesen ist