Über unsMediaKontaktImpressum
Ingo Eichhorst 18. Dezember 2025

Verstärkende Software-Architektur

Wie man die Prinzipien des Reinforcement Learning auf Software-Architektur anwenden kann

Dieser Artikel ist eine Reise von Software 1.0 bis 3.0 und zeigt, warum die Rolle von Architekt:innen vom Diagrammzeichner zum Kurator iterativer Optimierungsschleifen wechselt und wie die Prinzipien des Reinforcement Learning auf Architekturarbeit übertragen werden können, um das Generieren, Simulieren und Vergleichen mehrerer Architekturvarianten zu unterstützen.

Es wird ein klares methodisches Vorgehen anhand eines realen Beispiels gezeigt, welches aufzeigt, wie KI-Agenten in der Architekturarbeit eingebunden werden können, ohne die Kontrolle aus der Hand zu geben. Sie lernen, wie Sie LLMs (große Sprachmodelle) nicht als Ersatz, sondern als Verstärker einsetzen, um schneller zu belastbaren Entscheidungen zu kommen, Risiken zu reduzieren und Architekturen systematisch an Qualitätszielen auszurichten.

Warum Architektur im KI-Zeitalter wichtiger wird

Bevor wir uns der Frage widmen, wie wir Softwarearchitektur mit Hilfe von LLMs verbessern können, ist da noch ein Damoklesschwert, das es aus dem Weg zu räumen gilt. Brauchen wir in einer Welt mit Machine Learning und generativer KI überhaupt noch klassische Software (im folgenden Software 1.0) und Software-Architekturen?

Auch wenn KI-Systeme immer größere Teile des Codes ausmachen, gibt es Bereiche, die wir zumindest heute nicht einem probabilistischen System überlassen können: Physiksimulationen, Buchführung und überall dort, wo kein Platz für Halluzinationen ist, sondern exakte kalkulatorische Ergebnisse gefordert sind. Und für wenig komplexe Aufgaben ist Software 1.0 nach wie vor um Größenordnungen schneller als Software 2.0 (klassisches Machine Learning und große Sprachmodelle). "1+1" können beide, aber nicht in derselben Zeit: die Integer Addition in C dauert etwa 0,3 ns, eine lineare Regression liegt bei rund 100 ns und ein LLM mit sieben Milliarden Parametern benötigt dafür ungefähr 14 GFLOPs pro Token, auf einem 3 GHz Kern also fast eine Sekunde.

Sobald die Aufgabe komplexer wird, also mehr Dimensionen und Wechselwirkungen enthält, wandert das Optimum allerdings in Richtung Software 2.0. Rein regelbasiert ist vieles zwar theoretisch machbar, praktisch aber wegen des Entwicklungsaufwands und der Pflege oft nicht wirtschaftlich. Alle drei Softwarearten haben ihre Daseinsberechtigung, je nach Problemraum und Qualitätsanforderung.

Tatsächlich können KI-Systeme sogar Software 1.0 produzieren. Somit entsteht Software 3.0, die von großen Sprachmodellen erschaffen wurde und nicht mehr durch Menschen eingetippt werden muss [1].

Wenn Implementierung zunehmend von Systemen der dritten Kategorie unterstützt wird, stellt sich die Frage, worin der Wert von Architektur und Design liegt. Architektur und Design sind eine künstliche Abstraktionsebene über die eigentliche Logik. Der Computer braucht sie nicht, er führt Anweisungen aus. Wir Menschen brauchen sie allerdings, um Systeme und Teilsysteme zu verstehen und um innerhalb unserer kognitiven Grenzen gute Entscheidungen zu treffen [2].

Arbeiten auf einer Abstraktionsebene reduziert die geistige Last. Statt das gesamte System im Kopf zu halten, operieren wir analog der Fähigkeiten unseres Arbeitsgedächtnisses im Idealfall mit fünf oder weniger Elementen gleichzeitig [3].

Jetzt stellt sich die Frage: "Brauchen wir diese Beschreibung für Menschen noch, wenn künftig KI-Agenten große Teile der Implementierung übernehmen?" Ja, gerade dann. Ein künstlicher Architekt ist weit davon entfernt, unausgesprochene Annahmen oder Zwischentöne eines Kunden zuverlässig zu lesen. Was nicht gesagt wurde, was als selbstverständlich gilt, was im Kontext mitschwingt, muss herausgearbeitet und explizit gemacht werden. 

In einem Vergleichsexperiment entwarfen verschiedene LLMs zwar Architekturdiagramme, übersahen jedoch Randfälle, ignorierten reale Restriktionen und trafen keine bewussten Abwägungen. Die Kernerkenntnis: Automatische Entwürfe ohne Erfahrungswissen bleiben unvollständig. Architekturentscheidungen sind eng mit Domänen-Know-how, Geschäftskontext und Qualitätsanforderungen verknüpft. Hier bleiben menschliche Architekt:innen unverzichtbar [5].

KI-Agenten, die bei der Architekturarbeit unterstützen können, basieren auf textuellen Trainingsdaten. Sie werden dadurch zu Abbildern von Internetforen, Artikeln und Büchern und damit auch Abbildern der dahinterliegenden Denkhaltungen. Dadurch fungieren die menschlichen Abstraktionen als semantische Anker ebenfalls für LLMs und Agenten. [6].

Damit spannt Architektur die Brücke zwischen begrenzten kognitiven Fähigkeiten bei Menschen und begrenztem Kontext, "knowledge cut-off" und anderen Einschränkungen bei LLMs. Sie schafft eine gemeinsame, eindeutige Oberfläche, auf der Anforderungen, Qualitätsziele und Entwurfsentscheidungen greifbar werden.

Wie kann uns SW 3.0 helfen, bessere SW 1.0 zu erstellen?

Architekt:innen entwerfen immer komplexere und dynamische Systeme. Allein durch die Integration von KI-Komponenten entstehen neue Freiheitsgrade (und Risiken), die zusätzlich zu den bestehenden Herausforderungen beherrscht werden müssen. Qualitätsanforderungen und Software gehen dabei schon lange über Robustheit und Skalierung hinaus und berühren mehr und mehr regulatorische und ethische Aspekte.

Um diesen Herausforderungen Herr zu werden, werden immer mehr Tools eingesetzt, die als Validierung der Architektur und der Software dienen. Es verschieben sich die Rollen. Anstatt UML-Diagramme von Hand zu zeichnen, definieren Architekt:innen verstärkt Ziele, Leitplanken und Evaluationsmethoden. Diese können wiederum verwendet werden, um KI-Tools zu lenken und den Handlungskorridor bei der Erstellung von Software einzuschränken. Anforderungen verstehen und passende Lösungen entwerfen – dies bleibt bestehen [7].

LLMs entfalten ihre Stärke dort, wo Kreativität, Übersetzung und Variation gefragt sind. Sie können Ideen generieren, etwa für neue Qualitätsszenarien oder alternative Architekturansätze, und damit den Suchraum erweitern, ohne dass Architekt:innen jedes Detail selbst ausformulieren müssen. Ebenso lassen sie sich nutzen, um Fitnessfunktionen vorzuschlagen, also Metriken und Bewertungsmaßstäbe, die später in Simulationen und Optimierungsschleifen eingehen. Ein weiterer Vorteil liegt in der Fähigkeit, Beschreibungen von einer Repräsentation in eine andere zu übertragen: Ein Architekturtext lässt sich beispielsweise in eine DSL (domänenspezifische Sprache), einen DAG (gerichteten azyklischen Graph) oder ein IaC(Infrastruktur als Code)-Fragment umwandeln, wodurch die Konzepte direkt maschinell weiterverarbeitbar werden. Darüber hinaus sind LLMs in der Lage, menschenähnliches Verhalten zu simulieren, etwa in Stakeholder:innen-Szenarien oder in einem agentischen Loop gegen eine Validierungsfunktion, sodass unterschiedliche Nutzungspfade und Belastungen frühzeitig erkennbar werden. Schließlich können sie auch Implementierungen erzeugen – vorausgesetzt, die Spezifikationen sind so präzise, testbar und widerspruchsfrei formuliert, dass eine KI sie zuverlässig umsetzen kann.

Trotzdem behält das mentale Modell der verantwortlichen Person den Primat. Architektur hat nur den Wert, den jemand erklären, vertreten und gegen Gegenargumente verteidigen kann. Wer Ziele, Annahmen und Trade-offs nicht nachvollziehbar machen kann, verliert die Kontrolle an ein stochastisches System. Deshalb gehören Architecture Decision Records in den Kern des Prozesses: Entscheidungen werden als Hypothesen erfasst – mit Kontext, Konsequenzen und Evidenz in Form von Mess-Deltas gegenüber der definierten Zielgröße. So bleiben Varianten diskutier- und auditierbar, auch wenn viele Vorschläge maschinell entstanden sind.

Der Qualitätshebel entsteht nicht aus mehr Köpfen, sondern aus mehr Exploration bei gleicher Mannschaftsstärke. Weil Software 3.0 die Erzeugung und Transformation von Kandidaten beschleunigt, wird es praktikabel, mehrere Architekturentwürfe parallel zu verfolgen, sie gegen dieselben Szenarien zu simulieren und empirisch zu vergleichen. Qualität steigt über Breite der Suche und Tiefe der Messung, nicht über heroische Handarbeit. Arbeit verschwindet nicht; der Anspruch steigt. Teams liefern schneller belastbare Antworten auf die Frage: "Warum diese Architektur und nicht jene?"

Architektur als Optimierungsproblem

Sowohl bei Machine Learning (ML) als auch bei Softwarearchitektur handelt es sich um ein Optimierungsproblem. Während der Gradientenabspieg bei ML auf einen oder mehrere Parameter optimiert, optimieren wir auch unsere Architektur hin zu einem immer besser den aktuellen und möglichen künftigen Umwelteinflüssen angepassten Zustand. Können wir als Architekt:innen also etwas von den ML-Praktiken lernen?

Reinforcement Learning (RL) ist ein Lernparadigma, bei dem ein Agent durch wiederholte Interaktion mit einer Umgebung eine Strategie entwickelt, um ein Ziel zu erreichen. In jedem Zustand wählt der Agent eine Aktion, erhält daraufhin eine Belohnung (Reward) und beobachtet den neuen Zustand. Über viele solcher Schritte (sogenannte Episoden) optimiert der Agent sein Verhalten so, dass der langfristige kumulierte Reward maximiert wird. Da Optimierungsmethoden wie Gradientenabstieg leicht in lokale Optima geraten – also in Lösungen, die zwar besser sind als ihre Nachbarn, aber nicht global optimal – wählt man häufig mehrere unterschiedliche Startpunkte. So wird der Suchraum breiter abgedeckt, die Gefahr des "Festhängens" im lokalen Optima verringert und die Chance erhöht, ein wirklich besseres oder sogar globales Optimum zu finden [8].

Überträgt man diese Idee, landet man bei mehreren Start-Architektur-Entwürfen, die man nicht nur beschreibt, sondern systematisch testet. Jeder Entwurf wird simuliert, vermessen und verbessert. Damit vermeiden wir die Falle des lokalen Optimums, in das man rutscht, wenn man sich zu früh auf einen Ansatz festlegt und nur noch daran feilt. Mehrere Kandidaturen sind dabei kein Luxus, sondern eine Versicherung gegen Überraschungen in der Umwelt.

Mehrere Architekturen auszuarbeiten war lange zu teuer und zu langsam. Das ändert sich, wenn Implementierung und Analyse stärker automatisiert werden. Wenn ein Agent viele Teile der Ausarbeitung übernimmt, kippt die Kostenkurve. Dann ist es plötzlich realistisch, drei und mehr Kandidaten nebeneinander zu prüfen, anstatt einen zu idealisieren. Genau dort entsteht Wert. Nicht in der perfekten Vorhersage, sondern in der geregelten Schleife aus Erzeugen, Prüfen und Verbessern.

Die Schleife selbst ist überschaubar. Wir formulieren Anforderungen und Ziele. Wir erzeugen mehrere Entwürfe mit klaren Unterschieden. Wir messen entlang definierter Metriken und dokumentieren Entscheidungen. Danach beginnt die nächste Runde. Wer möchte, kann das in einem Diagramm als Landschaft mit Tälern und Hügeln sehen. Die meisten Wege führen zunächst in lokale Täler, wie im Diagramm verdeutlicht wird. Der Trick ist, die Erkundung breit zu starten und die Auswahl dann zu fokussieren.

Zur Verdeutlichung des Vorgehens wird im Folgenden die Methodik anhand eines Fallbeispiels, aus einem aktuellen Projekt verdeutlicht.

Methodik: RL-inspirierte Architekturoptimierung

Im folgenden werden drei mögliche Architekturen verglichen: Monolith, Microservice und Serverless.

Das Projekt dient der Erstellung eines Systems zur Unterstützung von Prozessen in Marketing-Agenturen mittels LLMs. Als eine der zentralen Qualitätskriterien wurde die Geschwindigkeit der Antworten bei der Konversation mit der KI festgelegt, welche wir mit einem Performance Script näher analysieren. Die Beispiele im GitHub Repository [9] zeigen nur einen kleinen Ausschnitt, um die Methodik besser veranschaulichen zu können.

Wir haben die beschriebene Methodik eingesetzt, da wir im Projekt wissen wollten, ob wir an der ursprünglichen Architektur-Entscheidung Serverless Architecture einsetzen, festhalten und optimieren sollen oder ob wir auf einen alternativen Ansatz wechseln sollten. 

Die Methodik, die wir zur Beurteilung herangezogen haben, lässt sich in sechs Schritte gliedern, die wir anhand eines konkreten Projekts illustrieren. Sämtliche Artefakte finden sich im GitHub Repository [9].

1. Kandidaten erzeugen

Beim Arbeiten mit LLMs ist es ein probates Mittel, nicht direkt die Aufgabe durch das LLM durchführen zu lassen, sondern das LLM zu nutzen, um eigene Ansätze und Domänenwissen explizit zu machen. Dies verringert die Gefahr, das Gehirn abzuschalten und sich blind auf das zu verlassen, was LLM als richtig ansieht [10].

Prompt-Beispiel:

Stelle mir zu meinen Produktanforderungen eine Frage nach der anderen. Die Fragen sollen divers sein und Themen wie Domänenwissen, Nutzer:innen-Gruppen und Anforderungen abdecken. Ziel ist es, Schritt für Schritt eine Spezifikation für meine Software zu erarbeiten. Nachdem dich der Benutzer dazu auffordert, speichere die Ergebnisse als prd.md.
[Ausgangsanforderungen hier einfügen]

Statt nur eine Architekturidee zu verfolgen, starten wir bewusst mit mehreren, klar unterscheidbaren Entwürfen. Das reduziert die Gefahr, sich in einem lokalen Optimum festzulegen.

Prompt-Beispiel:

Generiere drei alternative Architekturansätze für das folgende prd.md. Achte darauf, dass sich die Ansätze im Stil möglichst unterscheiden.

Die LLM-Ausgabe dient als Ausgangspunkt. Der "Human-in-the-Loop"-Review, also die Verifizierung durch Architekt:innen ist dabei unverzichtbar, um Plausibilität, Konsistenz und Domänenkontext sicherzustellen.

2. Nutzungsszenarien ableiten

Architekturen entfalten ihren Wert erst im Kontext realer Nutzung. Deshalb erzeugen wir aus Stakeholder:innen- und Nutzungsperspektive konkrete Szenarien.

Prompt-Beispiel:

Leite aus folgendem PRD drei Nutzungsszenarien ab, die kritisch für die Systemlatenz sind. Beschreibe pro Nutzergruppe je den wichtigsten latenzkritischen Workload bzw. Interaktion. Speichere den Performanz-relevantesten Use Case in use_case.md.

Auch hier kuratieren Architekt:innen die Ergebnisse: Was relevant ist, wird übernommen, was unplausibel erscheint, verworfen oder angepasst.

3. Architekturen in Simulation überführen

Damit die Entwürfe vergleichbar werden, übersetzen wir sie in eine standardisierte Darstellung – einen gerichteten azyklischen Graph (DAG) der Verarbeitungsschritte.

Prompt-Beispiel:

Transformiere die Architektur archs/arch_02.md und den use_case.md in einen DAG. 
Speichere das Ergebnis im JSON-Format unter dags/dag_02.json.

4. Latenz simulieren

Die DAGs werden in ein LQN-Modell (Layered Queueing Network) übersetzt [11]. Damit können wir Ankunftsraten, Bedienzeiten und Parallelität abbilden. Das Simulationstool berechnet Besuchshäufigkeiten, Auslastungen und Antwortzeiten (mittels Erlang-C-Formel [12] und Mean Value Analysis [13]). Das Ergebnis ist eine End-to-End-Latenzanalyse, die Aufschluss über die zu erwartenden Latenzen des Systems gibt.

Aufruf:

uv run python performance_simulation.py dag_02.json

5. Agentischer Loop: Architekturen verbessern

Im letzten Schritt werden die Simulationsergebnisse nun zurück an das LLM gegeben, mit der Aufforderung, diese zur Optimierung der Architektur heranzuziehen. Somit entsteht ein agentischer Loop, in dem LLMs gezielte Verbesserungen wie Caching-Strategien, Edge-Verlagerungen oder Entkopplung von Services vorschlagen. Aus diesen Vorschlägen können nun wieder DAGs generiert und analysiert werden, wie in den Schritten 3-5 beschrieben.

Prompt-Beispiel:

Verbessere die Architektur archs/arch_02.md mit den folgenden Simulationsergebnissen: [Hier Simulationsergebnisse einfügen].
Ziel: bessere Latenz bei gleicher Robustheit. 
Speichere die neue Version als archs/arch_02_v2.md.

6. Ergebnisse vergleichen

Im Projekt wurden drei grundlegende Architekturstile generiert. Microservices und Serverless wurden ein- bzw. zweimal optimiert. Die Tabelle zeigt die End-to-End-Latenzen und die Anzahl an Komponenten, die das System ausmachen.

ArchitekturansatzBeschreibungLatenz (ms)Komponenten
Monolithalle Komponenten in einer Anwendung, Fokus auf Einfachheit und schnelle Entwicklung11310
Microservicesunabhängige Services, maximale Skalierbarkeit und Technologie-Flexibilität9711
Microservices v2mit Streaming Support und Multi-Tier Caching4315
Serverlesseventgetriebene  Lambda-Architektur, automatische Skalierung112512
Serverless v2 (optimiert)mit LLM Caching und Cold Start Mitigation47912
Serverless v3 (Edge + Streaming)Edge Computing, Multi-Tier Caching , progressive LLM Response7418

Die Ergebnisse zeigen: Serverless in der heutigen Form ist unvereinbar mit der Latenz-kritischen Anwendung. Erst durch komplexe Optimierungen (Caching, Edge, Streaming) wird es konkurrenzfähig. Allerdings um den Preis deutlich erhöhter Komplexität. Microservices mit Caching erreichten im Vergleich die niedrigsten Latenzen bei moderater Komplexität.

Fazit

Die Ergebnisse zeigen, dass der gezielte Einsatz von LLMs und KI-Agenten bei der Erstellung von Architekturkandidaten helfen kann. Wo die Erstellung und Analyse von mehreren Entwürfen noch vor einem Jahr wirtschaftlich unsinnig erschien, können nun innerhalb weniger Stunden mehrere Architekturen gegeneinander abgeglichen werden.

Wer nur auf einen einzigen Parameter optimiert, läuft Gefahr, in das Paperclip-Maximizer-Problem zu geraten: Eine KI steigert ihre Effizienz in genau dieser einen Dimension, ignoriert aber alle Nebenwirkungen [14]. Wie wir bei der zweiten und dritten Version der Serverless-Architektur sehen, wird ein komplexes Gerüst aus Caching-Komponenten aufgebaut, nur um irgendwie die Latenz zu reduzieren, während dies mit einer einfacheren Architektur auch ohne Probleme anders möglich wäre. Die Optimierungsschleife lässt Aspekte wie Wartbarkeit oder Kosteneffizienz vollkommen außer Acht. Hier braucht es die Architekt:in, die das komplexe Anforderungsgerüst versteht und die simulierten Architekturvisionen kritisch beurteilen kann.

Der Schlüssel liegt in klar definierten Zielen, nachvollziehbaren Schritten und menschlicher Verantwortung. Architekt:innen bleiben die Kurator:innen, die Leitplanken setzen, Ergebnisse prüfen und Trade-offs verantworten. KI dient dabei als Verstärker, nicht als Ersatz. Wirklich spannend wird der Ansatz, wenn mehrere Qualitätsaspekte gleichzeitig simuliert und optimiert werden. Wie etwa Verfügbarkeit, Skalierbarkeit oder Stressoren im Sinne der Residuality Theory [15]. Dann kann Software 3.0 helfen, systematisch bessere Software 1.0 zu bauen.

Autor
Das könnte Sie auch interessieren
Kommentare (0)

Neuen Kommentar schreiben