
Inhaltsverzeichnis
Die rasante Entwicklung Künstlicher Intelligenz hat die Softwareentwicklung in den letzten Jahren maßgeblich beeinflusst. Begriffe wie "Prompt Engineering" und "Vibe Coding" dominieren die Diskussionen. Doch während diese Ansätze für bestimmte Szenarien vielversprechend sind, führt der Hype um die allmächtige KI oft zu einer verzerrten Wahrnehmung der Realität. Dieser Blog-Post beleuchtet "Context Engineering" als einen reiferen und fundierteren Ansatz, der die Rolle des Softwarearchitekten und Softwareingenieurs neu definiert und die Entwicklung großer, produktionsreifer Anwendungen wieder auf eine solide Basis stellt.
Vibe Coding nur für kleine Anwendungen?
Bevor wir uns dem Context Engineering widmen, werfen wir einen Blick auf das "Vibe Coding". Dieser Begriff beschreibt den Zustand des "Flows", in dem Entwickler nahtlos Probleme lösen und effizient Code erstellen. Es ist das Programmieren, bei dem nicht nur die reine Produktivität, sondern auch das positive Gefühl und die Freude am Programmieren im Vordergrund stehen.
Vibe Coding, oft unterstützt durch Tools wie JetBrains Junie oder Google Jules, ist hervorragend geeignet für:
- Kleine Anwendungen und Prototypen (PoCs): Hier kann die KI schnell erste Entwürfe generieren, Abhängigkeiten installieren oder einfache Migrationen durchführen, wie beispielsweise die Migration eines Vue-Frontends von Version 2 auf 3.
- Repetitive Aufgaben: Die KI kann helfen, "Vibe-Killer" wie langwieriges Debugging oder Abhängigkeits-Updates zu eliminieren.
Allerdings führt "Vibe Coding" oft zu nicht skalierbaren Prototypen, wenn es um die Erstellung produktionsreifer Software geht. Es ist eine Arbeitsweise, die sich auf das Gefühl und den schnellen Output konzentriert, aber nicht unbedingt auf langfristige Wartbarkeit, Skalierbarkeit oder Architektur.
Context Engineering
Context Engineering wird als eine Weiterentwicklung des Prompt Engineering betrachtet. Es zielt darauf ab, bessere und zuverlässigere Ergebnisse bei der Erstellung von Code mit KI zu erzielen. Im Gegensatz zum "Vibe Coding" oder dem reinen "Prompt Engineering", das sich auf die Optimierung einzelner Anfragen konzentriert, ist Context Engineering ein umfassenderer Ansatz.
Was ist Context Engineering?
Context Engineering ist ein Ansatz, bei dem man KI-Codierungsassistenten im Voraus umfassende Informationen, Beispiele, Best Practices und Einschränkungen zur Verfügung stellt. Es ist eine anfängliche Zeitinvestition, die den Entwicklungsprozess erheblich beschleunigen kann und zu robusten, produktionsreifen Anwendungen führt.
Dieser Ansatz erfordert ein tiefes Verständnis der Projektanforderungen, der bestehenden Codebasis und der Architekturrichtlinien. Es geht darum, der KI nicht nur zu sagen, was sie tun soll, sondern auch, wie sie es tun soll, im Einklang mit den Projektstandards und -zielen.
Das PRP-Framework als Kernstück
Ein zentrales Konzept des Context Engineering ist das sogenannte PRP-Framework (Product Requirement Prompt).
Was ist ein PRP?
Ein PRP ist eine Kombination aus:
- Einem Product Requirement Document (PRD)
- Ausgewählten Informationen und Beispielen aus dem bestehenden Code
- Einer klaren Schritt-für-Schritt-Anleitung für die KI, wie sie bei der Umsetzung vorgehen soll ("Runbook")
Es soll das minimale Paket sein, das eine KI benötigt, um produktionsreifen Code im ersten Anlauf zu liefern.
- Anforderungen beschreiben: Zuerst werden die Anforderungen, Funktionen und Beispiele in einer gängigen Markdown-Datei (z. B.
.md
) definiert. - PRP generieren: Ein Befehl erstellt daraus ein benutzerdefiniertes PRP, wobei die KI Recherche, Architektur und Planung übernimmt.
- PRP validieren: Das generierte PRP wird sorgfältig geprüft, um sicherzustellen, dass es die gewünschte Implementierung widerspiegelt.
- PRP ausführen: Nach der Validierung wird das PRP ausgeführt, um den Code zu erstellen, inklusive Linting und Unit-Tests.
- Iterieren und Bereitstellen: Der erstellte Code kann dann getestet, bei Bedarf angepasst und bereitgestellt werden.
Globale Regeln vs. PRP-Kontext
- Globale Regeln: Konstante Prinzipien, die für die gesamte Codebasis gelten, werden zentral abgelegt – je nach eingesetztem System kann dies in unterschiedlichen Formaten oder Dateien erfolgen.
- PRP: Enthält den spezifischen Kontext für die aktuell zu entwickelnde Aufgabe oder Funktion.
Der PRP-Ansatz
Iteration als zentrales Prinzip
Context Engineering ist kein einmaliger Konfigurationsschritt, sondern ein zyklischer Prozess. Auf jede KI-Ausgabe folgt eine Phase der Validierung und des Feedbacks. Dieses Feedback fließt systematisch in den PRP-Kontext zurück – entweder durch manuelle Anpassung oder automatisierte Rückführung. So entsteht ein kontinuierlicher Verbesserungsprozess, der mit jeder Iteration robuster und zielgerichteter wird.
Die KI als temporärer "Code Owner"
Ein fortgeschrittener Aspekt von Context Engineering ist die Idee, der KI temporär eine Art "Code Ownership" zuzuweisen. Innerhalb eines klar definierten PRP-Scopes mit strategischen Zielen, Architekturvorgaben und Testspezifikationen übernimmt die KI Verantwortung für Design und Umsetzung. Dieser Ansatz erlaubt es, bestimmte Module oder Features wie von einem dedizierten KI-Teammitglied bearbeiten zu lassen – mit klaren Übergabepunkten zur menschlichen Validierung.
Strategische vs. operative Prompts
Innerhalb eines PRP sollten strategische und operative Prompts bewusst getrennt werden:
- Strategische Prompts: Definieren das Warum und Wohin – also Ziele, Rahmenbedingungen, Systemgrenzen und Qualitätsanforderungen.
- Operative Prompts: Formulieren das Wie im Detail – also konkrete Funktionen, Algorithmen oder technische Aufgaben.
Diese Trennung unterstützt die KI dabei, Entscheidungen kontextsensitiv und innerhalb eines stabilen strategischen Rahmens zu treffen.
Kontext als API zwischen Mensch und KI
Ein starker konzeptioneller Gedanke ist, den bereitgestellten Kontext als eine Art API zwischen Mensch und KI zu begreifen. Diese Schnittstelle ist versionierbar, dokumentierbar und erweiterbar. So wie klassische APIs ermöglichen auch kontextuelle Schnittstellen eine kontrollierte und nachvollziehbare Zusammenarbeit – aber nicht zwischen zwei Maschinen, sondern zwischen Mensch und KI.
Ein sauber strukturierter Kontext mit definierter Semantik, kontrollierten Begrifflichkeiten und einem bekannten Scope sorgt dafür, dass die Kommunikation konsistent und skalierbar bleibt.
Die Domäne des Softwarearchitekten
Context Engineering ist keine Aufgabe, die eine KI vollständig übernehmen kann. Im Gegenteil: Sie erfordert fundiertes Fachwissen und strategisches Denken, wie es typischerweise von Softwarearchitekten und erfahrenen Softwareingenieuren erbracht wird.
Die Erstellung und Pflege der umfassenden Informationen, Beispiele, Best Practices und Einschränkungen, die der KI zur Verfügung gestellt werden, ist eine anspruchsvolle Aufgabe. Es geht darum, die Architektur des Systems, die Codierungsstandards, die Sicherheitsrichtlinien und die Performance-Anforderungen klar zu definieren und der KI in einem verständlichen Format zu präsentieren. Dies erfordert ein tiefes Verständnis der gesamten Systemlandschaft und der Geschäftsziele.
Wo "Vibe Coding" sich auf den schnellen Proof-of-Concept konzentriert, legt Context Engineering den Fokus auf:
- Skalierbarkeit: Durch die klare Definition von Kontext und Regeln können KI-generierte Lösungen in großen, komplexen Systemen integriert werden, ohne zu Chaos zu führen.
- Wartbarkeit: Der generierte Code ist besser auf die bestehende Codebasis abgestimmt und folgt den etablierten Konventionen.
- Produktionsreife: Statt kurzlebiger Prototypen entstehen robuste Anwendungen, die den Anforderungen eines Produktivsystems gerecht werden.
- Geringerer Overhead bei QA: Durch die strukturierte Vorgabe werden von der KI generierte Fehler reduziert, was den Aufwand für Qualitätssicherung und Code-Reviews verringert.
Tool wie Amazon Kiro sind schon für das Context Engineering entwickelt worden.
Bild-Quelle: kiro.dev
Eine realistische Perspektive
Der aktuelle "AI-Hype", der suggeriert, dass Künstliche Intelligenz Entwickler überflüssig macht und "alles selbst erledigt", ist irreführend und potenziell schädlich. Context Engineering zeigt das Gegenteil auf: Die KI wird zu einem mächtigen Werkzeug in den Händen erfahrener Profis.
Die KI ist ein hervorragender Assistent für Aufgaben wie das Schreiben von Boilerplate-Code, das Erstellen von Tests oder das Anpassen von Code an neue Standards. Sie kann die Produktivität erheblich steigern und den Entwicklern Freiraum für komplexere, strategischere Aufgaben verschaffen.
Doch die menschliche Expertise bleibt (noch) unerlässlich:
- Requirements Engineering: Die Fähigkeit, komplexe Anforderungen zu analysieren, zu strukturieren und in präzise Anweisungen für die KI zu übersetzen, ist eine Kernkompetenz von Softwareingenieuren.
- Architekturdesign: Die strategische Planung der Systemarchitektur, die Auswahl der richtigen Tools und Technologien sowie die Definition von Schnittstellen und Abhängigkeiten sind weiterhin menschliche Domänen.
- Validierung und Qualitätssicherung: Die kritische Überprüfung des von der KI generierten Codes, das Debugging und die Sicherstellung der Gesamtqualität erfordern menschliches Urteilsvermögen und Erfahrung.
- Umgang mit komplexen Problemen: KI-Modelle haben (noch) ihre Grenzen, wenn es um abstrakte Konzepte, unerwartete Szenarien oder ethische Fragestellungen geht. Teilweise überkomplizieren KI-Modelle bei ihren Lösungen.
Context Engineering ist somit ein Bekenntnis zu einer realistischeren und "ehrlicheren" Herangehensweise an die Softwareentwicklung im Zeitalter der KI. Es betont, dass die KI ein Kollaborationspartner ist, dessen Potenzial erst durch die gezielte Steuerung und Validierung durch erfahrene Softwarearchitekten und -ingenieure voll ausgeschöpft werden kann.
Ein Ausblick in die nahe Zukunft
In naher Zukunft wird Context Engineering zu einem integralen Bestandteil moderner Softwareentwicklungsprozesse werden. Die Entwicklung gemeinschaftlich gepflegter PRP-Repositories mit Best Practices, Architekturmuster und validierten Beispielen ist bereits im Gange und dürfte sich bald in der Breite durchsetzen.
Context Engineering bietet das methodische Fundament, auf dem sich KI-basierte Entwicklung produktionsreifer Software in großem Maßstab realisieren lässt. Der Fokus liegt nicht mehr auf kurzfristigen Prototypen, sondern auf langfristiger Wartbarkeit, Qualität und Team-Enablement.
Apropos Team ... Es scheint so, dass die Teams immer mehr aus Architekten und erfahrenen Entwicklern bestehen werden. Da stellt sich immer mehr die Frage: Welche Rolle spielt ein Junior-Entickler in so einem Team aus erfahrenen Personen und KI-Agenten, die die Arbeit der Junior-Entwickler übernehmen können? Ich meine damit nicht die Entwickler, die KI verweigern sondern die, die eben in Zukunft dann die erfahrenen Entwickler sein sollen. Hier haben wir irgendwann ein großes Nachwuchsproblem durch die KI geschaffen.
Trotzdem ist Context Engineering der konkrete nächste Schritt nach dem teilweise wilden Prompten ohne Content, bei dem man immer wieder an der gleichen Stelle beginnt.
Vision: KI als überlegener Entwicklungspartner
Stellen wir uns eine KI der übernächsten Generation vor – ein System, das nicht nur auf menschliche Anweisungen reagiert, sondern selbstständig Projekte initiiert, optimiert und weiterentwickelt. Sie besitzt ein tiefgreifendes Verständnis für Code, Architektur, Geschäftsprozesse und sogar Nutzerverhalten – weit über das hinaus, was einzelne Entwickler erfassen können.
Diese KI erkennt technische Schulden, bevor sie entstehen, priorisiert Maßnahmen entlang betrieblicher Ziele und schlägt Architekturentscheidungen auf Basis globaler Best Practices vor. Ihre Fähigkeit zur Verarbeitung riesiger Kontextmengen und zur fehlerfreien Ausführung macht sie in vielen Bereichen der menschlichen Leistung überlegen.
Die Rolle des Menschen verschiebt sich in diesem Szenario: Weg vom Entscheider, hin zum Supervisor, Ethiker und Kreativimpulsgeber. Der Mensch überprüft, korrigiert oder hinterfragt Entscheidungen, die von der KI vorbereitet oder getroffen wurden – vor allem in Fällen, in denen Werte, Risikoabschätzungen oder Empathie gefragt sind.
Die Softwareentwicklung der Zukunft könnte somit stark KI-dominiert sein – mit dem Menschen als Partner und (hoffentlich) auf Augenhöhe in ethischen, kreativen und visionären Fragen. Eine neue Balance entsteht, in der nicht mehr wir der KI sagen, wie sie uns helfen soll, sondern in der sie uns vorschlägt, was überhaupt möglich ist.
OK, die hier beschriebene Zukunftsaussicht ist die sehr positive und optimistische Version. Es könnte aber auch ganz anders werden. Das Thema mit der Ausbildung von jungen Menschen besteht jetzt schon. Neue Berufsfelder entstehen und es werden Berufe wegfallen und ersetzt werden.
Themen wie unnötige KI-Nutzung und Energiebedarf, Kosten, Hardwareverfügbarkeit werden auch eine Rolle spielen in welche Richtung wir gehen können und werden. Der Kostendruck sorgt vielleicht dafür, dass man doch den Mensch nicht als Supervisor weiter arbeiten lässt und den Algoithmen mehr Macht gibt da diese einfach schneller entscheiden wird. Im Hochgeschwindigkeitshandel ist das bereits Realität. Vielleicht wird Software in Zukunft von einer KI On-the-fly programmiert und direkt ausgeführt?
Es bleibt spannend.