»ChatGPT in der Industrie« – Teil 6

Dr. Hans Egermeier | Meinrad Happacher,

Unterstützung bei Architektur und Konzeption

Das Erzeugen und Verarbeiten natürlicher Sprache ist die Paradedisziplin von KI in Form von Large Language Models (LLMs). Wie geeignet sind LLMs aber für das generative Erzeugen nützlicher Ergebnisse in der Architektur- und Konzeptionsphase?

© Pixabay

Eine der wesentlichen Herausforderungen beim Architekturentwurf besteht darin, komplexe Systeme in Abhängigkeit der funktionalen und nicht funktionalen Anforderungen in klar definierte, modulare Komponenten zu zerlegen. Allgemein gesprochen können LLMs hierbei als intelligente Assistenten fungieren, indem sie textuelle Beschreibungen analysieren helfen, Anforderungen strukturieren und Vorschläge für die Modularisierung und Strukturierung der Architektur liefern. So können LLMs unterstützen, die initiale Architektur zu skizzieren und Architekturdokumente effizient zu erstellen.

>> Lesen Sie Teil 1 bis 5 der Artikelserie »ChatGPT in der Industrie«

Eine besondere Herausforderung ist, dass neben der textuellen Beschreibung auch meist Diagramme für die Architekturdarstellung und für die Dokumentation zum Einsatz kommen. Da die heute verfügbaren LLMs diese jedoch nicht direkt erzeugen können und auch von den bisherigen KI-Bildgeneratoren außer hübschen Bildern keine verwertbaren Ergebnisse zu erwarten sind, muss ein kleiner Trick helfen: Durch die Verwendung von textbasierten Diagrammen wie ‚PlantUML‘, ‚Mermaid‘ oder ähnliche sind LLMs in der Lage, auch in dieser Hinsicht zu unterstützen. Sie sind somit nicht nur auf reine Textinformationen angewiesen.

Anzeige

Generelle Prompt Engineering Regeln

Damit der Einsatz generativer KI für die Konzeption und den Architekturentwurf erfolgreich sein kann, gelten auch hier die in den vorherigen Artikeln beschriebenen Regeln für das Prompt Engineering. Zusammengefasst:

  • Verwenden von allgemein guten Prompt Formulierungen: klare und spezifische Anweisungen, Trennzeichen und strukturierte Ausgabeformate.
  • Einsetzen von Prompt-Techniken, die helfen die »Denktiefe« und »Schlussfolgerung« von LLMs zu erhöhen: Beispielsweise Chain-of-Thought, Tree-of-Thought oder Step-Back-Prompt-Techniken.
  • Einsetzen von Prompt-Techniken mit Format-Templates und inhaltlichen Beispielen wie der Few-Shot-Prompt-Technik.
  • Zusammenstellen der entscheidenden lokalen Kontexte entweder manuell oder mit der Unterstützung eines intelligenten lokalen Suchsystems genannt RAG (Retrieval Augmented Generation), was auch bei Chatbots häufig zum Einsatz kommt.

Bewährte Prozesse des Architekturentwurfs

Es gibt viele Wege, um zu einer guten Software-Architektur zu kommen. Zwei bekannte und bewährte Ansätze sind die Methoden ‚arc42‘ und ‚C4‘ zur Dokumentation und Visualisierung von Softwarearchitekturen, die wir uns auch für die Unterstützung mit generativen KIs zunutze machen können.

arc42 ist ein frei verfügbares, sehr gut strukturiertes Template und damit im eigentlichen Sinn keine reine Methode. Dieses Template ist ein Rahmenwerk zur Dokumentation von Software-Architekturen, das in zwölf Abschnitte unterteilt ist, um möglichst alle architekturrelevanten Aspekte abzudecken. Es beginnt mit einer Einführung und Zielen, gefolgt von Randbedingungen und einer Kontextabgrenzung. Die Abschnitte wie Bausteinsicht, Laufzeitsicht und Verteilungssicht ermöglichen es den Entwicklern, die Architektur umfassend zu beschreiben und nachvollziehbar zu machen. Die Perspektive auf die Risiken und technischen Schulden sowie ein Glossar, schließen das Template ab.

>> Lesen Sie Teil 1 bis 5 der Artikelserie »ChatGPT in der Industrie«

Durch die gute Gliederung und die unterschiedlichen gut beschriebenen vorgegebenen Sichten bietet das arc42 einen hervorragenden Ausgangspunkt, um mit generativer KI die einzelnen Abschnitte in Verbindung mit den eigenen gegebenen Informationen und Absichten vorformulieren zu lassen.
Im Gegensatz zu arc42 ist die C4-Modellierungsmethode kein Dokumenten-Template, sondern ein Ansatz zur Darstellung der Architektur von Software-Systemen, der auf der Visualisierung verschiedener Abstraktionsebenen basiert. Sie umfasst vier Ebenen, die jeweils einen spezifischen Aspekt der Softwarearchitektur detaillierter betrachten: Context, Container, Components und Code. Beginnend auf der höchsten Ebene (Context) wird das System im Verhältnis zu externen Systemen und Nutzern gezeigt, gefolgt von einer detaillierteren Darstellung der Hauptanwendungen und Datenspeicher im Containers-Diagramm. Die dritte Ebene (Components) zerlegt die Container weiter in ihre Hauptkomponenten und deren Interaktionen, während die Code-Ebene schließlich die Implementierungsdetails aufzeigt, beispielsweise Klassen oder Schnittstellen.

Bild 1. Die ChatGPT-Aufgabe: Ein Retrofit-fähiges IIoT-Kit für die Temperaturüberwachung von Produktionsanlagen soll entstehen. Dabei sind zusätzliche Sensoren, Datenlogger, eine Übertragungseinheit und ein SPS-fähiges unabhängiges Dashboard mit im Spiel.

© talsen team

Die systematische Zerlegung größerer Probleme in die jeweiligen unterschiedlichen Abstraktionsebenen ist eine bewährte Taktik, um produktiv mit generativen KIs zu arbeiten. Das Prinzip vom „Groben zum Feinen“ hat sich – wie im vorherigen Artikel beschrieben – auch schon bei der Unterstützung der Formulierung von Anforderungen gemäß der Abstraktionsebenen aus der verhaltensgetriebenen Software-Entwicklung (BDD) als sehr nützlich erwiesen. Damit ist die erforderliche Denktiefe der LLMs gut zu regulieren. Wenn die Ergebnisse zu unscharf werden und die Formulierungen der LLMs nicht mehr nützlich sind, ist das ein starker Hinweis auf entweder den fehlenden relevanten Kontext oder einen zu großen Sprung zwischen den Abstraktionsebenen, der zu viele unsichtbare und unbekannte Annahmen auf LLM-Seite zur Folge hat. Dies wiederum hat sehr wahrscheinlich einen höheren manuellen Korrekturaufwand der LLM-Antworten zur Folge.

Wie nützlich die Taktik vom „Groben zum Feinen“ oder „Teile und Herrsche“ für den Einsatz generativer KI ist, betrachten wir konkret am Beispiel das aktuellen Topmodells gpt-4o von OpenAI (erreichbar über den kostenpflichtigen Account von ChatGPT) anhand der Architekturbeschreibung eines einfachen IIoT-Beispiels (Bild 1):

Das Beispiel der verketteten Produktionsanlagen lässt sich mit zwei Architekturbeschreibungen angehen:

  • Variante 1: Die Erstellung eines Architekturbildes oder -diagramms anhand einer einfachen Text- und Bildbeschreibung.
  • Variante 2: Die systematische Erstellung mit C4 anhand einer einfachen Text- und Bildbeschreibung.

Variante 1 – eine zu einfache Methode

Der Anwendungsfall demonstriert, dass LLMs je nach Prompt ganz unterschiedliche Ergebnisqualitäten erzeugen können. Verwenden wir das Bild des IIoT-Beispiels – kann per Drag&Drop oder Copy&Paste eingefügt werden – mit dem Prompt »Erstelle basierend auf der gegebenen Beschreibung das Komponenten-Diagramm der erforderlichen Applikation«, ist das für das LLM im wahrsten Sinne des Wortes zu kurz gesprungen. Die Ergebnisse werden ohne weitere Angaben in den meisten Fällen enttäuschend und unbrauchbar sein.

Variante 2 mit der C4-Methode

Bild 2: Robuste IIoT-Anwendung - System Context Diagram. Das C4-System und das Kontextdiagramm.

© talsen team

Verwenden wir im Gegensatz dazu einen etwas aufwendigeren Prompt und die C4-Methode als roten Faden für einen Architekturentwurf, können wir mit deutlich nützlicheren Ergebnissen rechnen. Für das folgende Beispiel arbeiten wir in einem einzigen Chat, um die Inhalte der vorhergehenden Antwort gleich für den nächsten Prompt verwenden zu können. Im Rahmen einer produktiven Arbeit würde jedes Ergebnis einem gesonderten Review-Prozess standhalten müssen, korrigiert und dann erst die nächste Stufe mit dem verbesserten Kontext in einem frischen Chat angefragt werden. Unser verkürztes Prompt-Rezept für das Beispiel lautet wie folgt:

Prompt 1 – erste Analyse und Extraktion der im Bild enthaltenen Informationen:

IIoT Bild + Text: »Analysiere die Skizze. Erstelle mir eine Liste an funktionalen Anforderungen, die du aus dem Bild ableiten kannst. Erstelle mir eine Liste aus nicht funktionalen Anforderungen die du aus dem Bild ableiten kannst. Erstelle mir basierend auf den funktionalen und nicht funktionalen Anforderungen einen Architekturvorschlag für eine modulare, erweiterbare und gut wartbare Softwareanwendung.«

Ergebnis: Enthält die Beschreibung der angefragten inhaltlichen Punkte. Auflistung entfällt aus Platzgründen.

Prompt 2 – Darstellung der höchsten Abstraktionsebene; C4-System und Kontext-Diagramm (Bild 2):

»Bitte erstelle mir basierend auf den Analyseergebnissen ein C4 System Context Diagram. Bitte generiere das C4 Context Diagram mit PlantUML.«

Das Ergebnis ist ein erstaunlich gut und detailliert ausgearbeiteter Vorschlag. Man beachte: es wurden initial die selben Informationen verwendet wie in unserem einfachen Prompt. Wer das Experiment nachvollziehen will, kann die in der LLM Antwort enthaltenen PlantUML-Anweisungen anhand eines kostenfreien PlantUML-Servers online selbst visualisieren und überprüfen.

Bild 3. Robuste IIOT-Anwendung – Backend API Komponentendiagramm. Die Komponentenansicht der Backend API der IIoT-Anwendung.

© talsen team

Prompt 3 – erste Detaillierung in C4 als Container-Diagramm:

»Bitte erstelle nun basierend auf den bisherigen Ergebnissen das C4 Container Diagram für die IIoT Applikation.«

Ergebnis: Darstellung der großen technischen Bausteine der Applikation (entfällt aus Platzgründen). Ist in der praktischen Architekturbeschreibung aber ein wichtiger Schritt, der nicht entfallen darf.

Prompt 4 – zweite Detaillierung in C4 als Komponentendiagramm (Bild 3):

Wichtig ist, spätestens ab dieser Ebene immer einen speziellen Fokus zu setzen, damit die Ergebnisse nicht verwässern. Hier mit Fokus auf das Backend der IIoT-Anwendung.

»Bitte erstelle nun basierend auf den bisherigen Ergebnissen das C4 Component Diagram des Backend API Containers.«

Ergebnis: Durch die gut gesteuerte Schrittweite zwischen den Abstraktionsebnen ist auch dieses Ergebnis ein erstaunlich gut und detailliert ausgearbeiteter Vorschlag. Die durch das LLM getroffenen technischen Entscheidungen sind ungestützte Annahmen. Hätten wir in den Prompt technische Randbedingungen als Kontext eingebracht, würden diese im Komponentendiagramm Berücksichtigung finden.

Bild 4. Die robuste IIoT-Anwendung, dargestellt als Code Diagramm des Alert Service.

© talsen team

Prompt 5 – dritte Detaillierung in C4 als Code-Diagramm (Bild 4):

Wichtig ist auch bei diesem Schritt einen Fokus zu setzen.

»Bitte erstelle nun basierend auf den bisherigen Ergebnissen das C4 Code Diagram. Wähle für das Diagramm die Alert Service-Komponente des Backend API-Containers, um ein Beispiel für eine tiefere Code-Ebene zu generieren.«

Ergebnis: Wie auch bei den vorangegangenen Schritten ist zu beachten, dass dieses Ergebnis ohne weitere Information von außen erzeugt werden konnte. Die einzige inhaltliche Vorgabe ist nach wie vor die initiale Skizze, die durch die gezielte Zerlegung nützliche Ergebnisse sogar bis auf die Code-Ebene ermöglicht.

Die Quintessenz

Die Nutzung generativer KI-Methoden im vorwärts gerichteten Architekturentwurf und der Konzeption von Software bietet interessante Vorteile. An dem hier gezeigten Beispiel kann durch den Einsatz vergleichsweise einfacher Prompts in Kombination mit der bewährten C4-Methode und zudem mit relativ wenig Eingangsinformationen ein erster Architekturentwurf abgeleitet werden.

Der Autor: Dr. Hans Egermeier ist Geschäftsführer der talsen team.

© talsen team

In unserem nächsten Beitrag werden wir betrachten, wie LLMs bei bestehender Software helfen können, Architekturmuster zu erkennen und rückwärtsgerichtet Architekturen zu dokumentieren und zu verbessern.

  • Xing Icon
  • LinkedIn Icon
Anzeige
zurück zur Themenseite
Anzeige

Das könnte Sie auch interessieren

Anzeige

Deutsche Messe

Streik zum Auftakt der Hannover Messe

Anlässlich des angekündigten Streiks der ver.di an den ersten beiden Tagen der Hannover Messe 2026 (20. und 21. April), der den öffentlichen Nahverkehr in Hannover lahmlegt, äußert sich der Veranstalter, die Deutsche Messe, mit deutlicher Kritik und...

mehr...
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Siemens

Strategische Investition in Emerald AI

Steigende KI-Lasten treffen auf begrenzte Netzkapazitäten: Siemens erweitert sein Rechenzentren-Ökosystem, um Flexibilität zwischen Rechenleistung und Energieversorgung zu schaffen. Partnerschaften und neue Technologien sollen den Ausbau...

mehr...
Jetzt Newsletter abonnieren