Code verstehen mit KI: alte Formulare einfacher wiederverwenden
Der Weg zu einem digitalen Deutschland ist voller Herausforderungen. Eine davon: veraltete Software-Systeme und zugehörige Strukturen erschweren effizientes Handeln auf Verwaltungsebene. Denn über die Jahre wurden zwar viele Lösungen entwickelt und eingesetzt, diese sind nun aber teilweise überholt. Gleichzeitig entstehen ständig neue Werkzeuge, die die Digitalisierung vorantreiben und weiterbringen können. Was es jetzt benötigt, ist eine Modernisierung der Systeme – unter Anwendung moderner Werkzeuge, Methoden und mit Hilfsmitteln wie beispielsweise Künstlicher Intelligenz (KI).
Wie genau das funktionieren kann, zeigten wir im Rahmen eines unserer Projekte beim DigitalService. In diesem widmeten wir uns Formularen, die von Bürger:innen digital ausgefüllt werden können. Das Problem: Insbesondere auf der Verwaltungsseite konnten diese Formulare lange nicht nachhaltig genutzt werden, da sie in einem proprietären Format entwickelt wurden. Das führte zum sogenannten Vendor-Lock-In. Dadurch war die Arbeit mit den Formularen stark eingeschränkt, denn das Erstellen, Anzeigen sowie Verarbeiten waren nur mit der Software bestimmter Hersteller möglich und nicht öffentlich zugänglich. Diese Abhängigkeit von einem einzigen Anbieter erschwerte zudem die Pflege, Weiterentwicklung und Nachnutzbarkeit erheblich. Wollten Verwaltungsmitarbeitende im Formular etwa ein neues Feld hinzufügen, war das oft kompliziert.
Allerdings gibt es mittlerweile mit dem Formulardesigner auf dem OZG-HUB eine Alternative für die öffentliche Verwaltung. Dieser funktioniert wie eine Art Baukasten, der auch ohne tiefgreifende Fachkenntnisse bedienbar ist – und mit dem Formulare für Online-Dienste einfach erstellt werden können. Unser Ziel war es, den notwendigen Aufwand abzuschätzen, um die Formulare aus dem bisherigen Format in eine moderne Umgebung zu überführen und sie damit zukunftssicher, kostengünstiger und flexibler zu machen.
Auf unserer Suche nach einem möglichst effizienten Weg, die Übertragung der Formulare sicherzustellen, verfolgten wir unter anderem zwei Ansätze für den Einsatz von KI – insbesondere, um deren Potenzial für solche Aufgaben zu prüfen. Denn dank der Fähigkeiten aktueller KI-Modelle kann eine große Datenmenge schneller analysiert, kategorisiert und migriert werden, als es von Hand in vergleichbarer Zeit möglich ist.
Das Problem: Fehlende Dokumentation und viel handgestrickter Code
Die Ausgangslage war zunächst komplex. Denn zahlreiche Formulare lagen in einem einzigartigen, proprietären JSON-Format vor, dessen Aufbau und Struktur nicht vollständig dokumentiert waren. Auch die schiere Masse an Dokumenten und die fehlende Dokumentation machten eine manuelle Analyse nahezu unmöglich.
Hinzu kam, dass für Validierungen (wie beispielsweise Prüfung auf Volljährigkeit) und Funktionen (beispielsweise Ausblenden nicht relevanter Teile) häufig manuelle JavaScript-Snippets in den Formularen hinterlegt waren. Das Problem: Diese Snippets waren nicht standardisiert, das heißt für ein und dasselbe Validierungsziel wurden oft unterschiedliche Code-Varianten verwendet.
Dabei ist die korrekte Validierung – etwa eines Datums – essenziell: Bürger:innen können dadurch Formulare einfacher ausfüllen, während für Verwaltungsmitarbeitende eine hochwertigere Datengrundlage geschaffen wird. Da im Zielformat keine solchen JavaScript-Snippets vorgesehen waren, kam es auch nicht infrage, diese direkt zu übernehmen. Wir standen also vor der Herausforderung, den alten Code inhaltlich so auszuwerten, dass das verfolgte Ziel klar und eine Übersetzung in das neue, standardisierte System möglich wird.
Unser Ansatz: KI-Agenten als Helfer
Dies war der Punkt, an dem wir zur KI griffen. Zunächst ließen wir einen KI-Agenten versuchen, eine vollständige Übersetzung der alten Formulare in das neue Format vorzunehmen. Die Idee dabei war, das KI-Modell die Vielzahl an unterschiedlichen JavaScript-Ausdrücken erkennen und in eine einheitliche Struktur bringen zu lassen. Tatsächlich war der Agent in der Lage, auch komplexere Formulare erfolgreich zu migrieren. Doch dieser Ansatz stieß schnell an die Grenzen des Context Windows – also der Datenmenge, die das Modell gleichzeitig verarbeiten kann. Denn um längere Formulare und gesammeltes Wissen einbeziehen zu können, wäre eine komplexere Architektur zur Verwaltung und Speicherung von Wissen über mehrere Schritte hinweg erforderlich. Ein Nachteil lag zudem darin, dass die Migration intransparent von der KI übernommen wurde und die Schritte nicht nachvollzogen werden konnten.
Der zweite Ansatz war dann, den KI-Agenten nicht für eine direkte Migration, sondern zur Entwicklung eines Migrationsalgorithmus zu verwenden – inklusive passender automatisierbarer Tests zur Validierung. Dazu erhielt der Agent eine nach Komplexität sortierte Liste der Formulare und erstellte iterativ eine Migrationslogik. Der Vorteil: In jedem Schritt konnte der Fokus auf einen Teilaspekt (etwa einzelne Formularkomponenten oder einzelne Attribute) gelegt werden. Das entlastete das Context Window. So entstand ein Programm, das erweitert, verändert und in der Zukunft für gleiche Formate ohne Hilfe von KI wiederverwendet werden kann. Die Tests schafften außerdem ein wichtiges Sicherheitsnetz und machten die generierte Logik für Menschen überprüf- und anpassbar, da der Programmcode analysiert und das Verhalten bewertet werden kann.
Erkenntnis: Mensch-Maschine-Kollaboration ist der Schlüssel zur Skalierung
Dank der KI konnten wir eine deutlich größere Datenmenge genauer beleuchten und die undokumentierten Teile der Formulare besser verstehen – ohne sie wären wir an vielen Stellen nur an der Oberfläche geblieben. Das semantische Verstehen unterschiedlicher Code-Teile ließ uns außerdem Strukturen erkennen, die im Zielformat sinnvoll eingesetzt werden können. Diese fassten wir in einer Liste mit notwendigen Entwicklungsschritten im Baukasten für eine erfolgreiche Migration zusammen.
Durch dieses Vorgehen waren wir am Ende des Projekts in der Lage eine Einschätzung darüber zu geben, welcher Aufwand für die Migration der Formulare vom proprietären Format in ein Baukastensystem zu erwarten ist: Aufgrund der vielen teilweise komplexen und unterschiedlichen Code-Teile wäre eine manuelle Migration mit sehr hohem Aufwand verbunden. Wird dabei jedoch KI eingesetzt, um Code auch semantisch zu verstehen und Kategorien zuzuordnen, ermöglicht dies eine automatisierte Übersetzung – mit reduziertem Aufwand für manuelle Prüfung und Nachbesserung.
Unser Fazit: Die Migration der alten Daten in das moderne System ist mit erheblichem Aufwand verbunden. Dabei macht der Einsatz von KI diesen Aufwand handhabbar und ist ein starker Faktor, um veraltete Systeme effizient und nachhaltig zu modernisieren. Allerdings braucht es den Menschen zur Kontrolle der KI – der Prozesse sowie der Ergebnisse – und auch, um die KI gezielt sowie tief in die Lösungsfindung zu schicken. Unabhängig von der Datenmigration könnten die Ergebnisse des KI-Agenten nun in dem bestehenden System genutzt werden: für eine einheitliche Struktur, sauberen sowie zukunftsfähigen Code – und um damit insbesondere das Risiko unerkannter Fehler zu verringern.
Baukasten und Low-Code: Moderne Hilfsmittel in der Software-Entwicklung
Der Umstieg auf eine moderne, modulare Baukastenplattform ist ein strategischer Schritt. Solche Systeme, oft als Low-Code-Plattform oder No-Code-Plattform bezeichnet, ermöglichen die Erstellung von Anwendungen und Prozessen über visuelle Schnittstellen und Konfigurationen. Das Schreiben von manuellem Quellcode ist damit nicht mehr unbedingt notwendig. Das Spektrum reicht dabei von Plattformen, die gar keinen Code erfordern (No-Code), bis zu solchen, die bei Bedarf die Integration von eigenem Code erlauben (Low-Code). Damit liegt der Vorteil dieser Plattformen hauptsächlich in der drastischen Beschleunigung der Entwicklung und der Reduzierung des Wartungsaufwands. Sie verringern die Abhängigkeit von spezifischen Programmiersprachen oder Frameworks und fördern eine agilere, kollaborativere Arbeitsweise. Die Migration auf eine solche Plattform soll es ermöglichen, die Formulare auch ohne Entwicklungsteam zu bearbeiten und neue Formulare nach gleichem Muster zu erstellen.
Mehr zum Thema lesen