AI-friendly Architektur: So bleiben KI-Coding-Agenten im Projekt steuerbar
15.09.2026
Ein KI-Agent soll ein neues Feature umsetzen. Doch er sucht lange in der Codebasis oder schreibt Funktionen neu, die es längst gibt. Woran liegt das, und was lässt sich dagegen tun?
Christoph Bergen und Robert Bauer erläutern, woran sich Architekturprobleme erkennen lassen und welche Abläufe bei der Weiterentwicklung helfen. Außerdem besprechen sie, wie sich der Harness, also die Arbeitsumgebung des Agenten, anhand abgeschlossener Aufgaben verbessern lässt.
Was macht eine Architektur AI-friendly?
Eine AI-friendly Architektur hilft Coding-Agenten, vorhandene Funktionen zu finden und Änderungen möglichst innerhalb des betroffenen Moduls umzusetzen und zu testen. Feste Entwicklungsabläufe helfen, diese Eigenschaften zu erhalten: Änderungen werden mit der Architektur abgeglichen, die Dokumentation bei Bedarf aktualisiert und vorgeschriebene Prüfungen automatisch ausgeführt. Der Ansatz „Advanced Harness“ sieht zusätzlich vor, abgeschlossene Aufgaben auszuwerten und die Anweisungen, Skills und Abläufe des Agenten anhand dieser Erfahrungen zu überarbeiten.
Das Gespräch wurde redaktionell gekürzt und thematisch geordnet.
Interview
1. Erkennen, wann eine Architektur nicht AI-friendly ist
Christoph: Robert, woran merkst du in der Praxis, dass eine Architektur nicht AI-friendly ist?
Robert: Am deutlichsten merke ich es, wenn ich dem Agenten das nächste Feature gebe und er sich im System nicht mehr zurechtfindet. Er durchsucht lange die Codebasis, weiß nicht, in welchem Subsystem er arbeiten soll, oder implementiert Funktionen, die es an anderer Stelle bereits gibt. Irgendwann liegt dieselbe Logik mehrfach im System. Dann lassen sich Dinge auch nicht mehr zentral ändern.
Die Entwicklung geht vielleicht noch weiter, aber jede neue Aufgabe wird mühsamer. Das ist für mich ein ziemlich greifbares Warnsignal.
Christoph: Hängt das davon ab, ob Menschen oder KI den Code geschrieben haben?
Robert: Das kann bei beidem passieren. Ich habe im Urlaub an älteren privaten Projekten weitergebaut und bewusst ausprobiert, wie weit ich komme, wenn ich dem Agenten einfach Aufgaben gebe und selbst kaum in den Code schaue. Nach drei, vier Tagen war ich an diesem Punkt: Das nächste Feature ließ sich nicht mehr so problemlos umsetzen wie am Anfang.
Ich hatte dabei auch günstigere Modelle im Einsatz. Trotzdem war ich überrascht, wie schnell sich Duplikate und Unordnung angesammelt hatten. Für mich war das eine gute Erinnerung daran, wie wichtig die Struktur und die Anleitung des Agenten sind.
Christoph: Was hilft dem Agenten, sich schneller zu orientieren?
Robert: Er braucht eine verständliche Beschreibung der Architektur. Welche Subsysteme gibt es? Welche Aufgaben haben sie? Welche Abhängigkeiten bestehen zwischen ihnen? Und warum haben wir bestimmte Architekturentscheidungen getroffen?
Nehmen wir ein neues Frontend-Feature. Der Agent sollte schnell erkennen können, wo es hingehört, wie dieser Bereich aufgebaut ist und welche Verbindung zum Backend besteht. Natürlich kann er sich vieles auch aus dem Code erschließen. Das kostet aber jedes Mal Zeit und Kontext.
In der Praxis lösen wir das dann üblicherweise so, dass wir den Agenten automatisch Verweise auf die Beschreibung der Architekturbausteine an die Hand geben. Der Agent schaut dort zu Beginn einer Aufgabe nach und bekommt eine kleine Übersicht über das System. Damit findet er bei gewöhnlichen Aufgaben recht schnell die relevanten Ordner und Komponenten. Der Einstieg ist dann ziemlich einfach.
Christoph: Wir sprechen viel über Dokumentation. Was bedeutet das für den Aufbau der Software selbst?
Robert: Möglichst klar abgegrenzte Module helfen enorm. Im besten Fall kann der Agent eine Aufgabe mit zwei oder drei Dateien als Kontext bearbeiten. Dann muss er wenig über den Rest des Systems wissen, und die Änderung lässt sich in diesem Bereich testen.
Dazu gehören klare Schnittstellen: Was geht in ein Modul hinein, was kommt heraus und welche Bedingungen müssen dabei gelten? Solche Grenzen machen die Arbeit überschaubar. Natürlich lässt sich nicht jede Änderung so sauber eingrenzen. Aber wo es möglich ist, würde ich genau darauf hinarbeiten.
Weiterlesen: Der Beitrag „Token-Effizienz bei KI-Coding-Assistenten: 10 Strategien zur Reduzierung von Kosten und Kontext“ vertieft, wie sich unnötige Suche und überladener Kontext in Coding-Workflows reduzieren lassen. (HMS Analytical Software)
Advanced Harness: Erfahrungen in die nächsten Aufgaben übernehmen
Christoph: Du hattest im Vorgespräch noch einen dritten Punkt „Advanced Harness“ genannt und der geht noch einen Schritt weiter. Was verstehst du unter einem Advanced Harness?
Robert: Mich interessiert besonders die Selbstreflexion des Systems. Wir haben einen Arbeitsprozess mit Anweisungen, Skills und Prüfungen definiert. Nun sollte es einen Schritt geben, der untersucht, ob dieser Prozess weiterhin passt und wo wir ihn verbessern müssen.
Das ist etwas anderes, als wenn wir prüfen, ob die Architekturdokumentation noch stimmt. Da stellen wir nur sicher das Code und Dokumentation zusammenpassen. Bei der Selbstreflektion schauen wir auf die Arbeitsweise des Agenten: Sind seine Skills aktuell? Passen die Anweisungen noch zu den verwendeten Bibliotheken? Fehlen Regeln, auf die wir ihn bei der Arbeit immer wieder hinweisen mussten in der Vergangenheit?
Ein Beispiel wäre eine Bibliothek, deren Verwendung sich geändert hat. Der Agent stößt auf eine Warnung und findet während der Aufgabe heraus, wie er damit umgehen muss. Diese Erkenntnis sollte anschließend in den passenden Skill einfließen. Sonst begegnet ihm beim nächsten Mal derselbe Fehler.
Ein anderes Beispiel wären neuen Style Guidelines, die wir definiert haben. Wenn ich nach einigen Wochen erneut erklären muss, wo sie liegen und dass sie zu berücksichtigen sind, haben wir die Erfahrung aus der vorherigen Aufgabe noch nicht ordentlich übernommen.
Christoph: Das wäre dann eine äußere Schleife im Sinne des Loop Engineerings?
Robert: Genau. Die innere Schleife bearbeitet eine konkrete Aufgabe und korrigiert das Ergebnis anhand von Feedback. Die äußere Schleife betrachtet die Arbeitsweise über mehrere Aufgaben hinweg.
Self-Correction und Self-Optimization betreffen damit zwei unterschiedliche Ebenen. Im einen Fall verbessern wir die aktuelle Änderung. Im anderen passen wir die Skills, Anweisungen oder Abläufe an, mit denen künftige Änderungen entstehen.
Christoph: Wie gehst du das heute praktisch an?
Robert: Mein bisheriger Ansatz ist ziemlich einfach, und ich wende ihn auch noch nicht konsequent überall an. Am Ende einer Aufgabe ist im Chat bereits viel Kontext vorhanden: welche Skills geladen wurden, welche Schritte der Agent ausgeführt hat und wo ich ihn korrigieren musste.
Darauf lasse ich einen weiteren Skill schauen. Der soll eine kurze Retrospektive schreiben: Was hat funktioniert? Wo gab es Schwierigkeiten? Sind Toolaufrufe gescheitert? Haben Skriptaufrufe aus den Anweisungen nicht funktioniert?
Diese Zusammenfassung wird separat abgelegt. Wenn solche Rückblicke regelmäßig entstehen, kann man darauf eine übergreifende Reflexionsschleife aufbauen. Wir haben dann konkrete Erfahrungen aus den Durchläufen, anhand derer sich die Arbeitsweise verbessern lässt. Das ist die Richtung, in die ich weitergehen möchte.
Weiterlesen: „Loop Engineering: So entstehen zuverlässige AI Coding Agents“ erläutert die verschiedenen Feedbackschleifen und unterscheidet unter anderem zwischen der Prüfung einzelner Ergebnisse und der Verbesserung des Systems über mehrere Läufe hinweg.
Auswahl zusätzlicher Tools und Skills
Christoph: Welche Rolle spielt dabei die Auswahl zusätzlicher Tools und Skills?
Robert: Die sollte zum Projekt passen. Dazu können Support-Tools, MCP-Server oder aufbereitete Informationen zu den verwendeten Bibliotheken gehören.
Ich bin allerdings kein Freund riesiger Skill-Sammlungen. Für eine Bibliothek gefällt mir ein kompakter Core Skill, der die wichtigsten Hinweise enthält und auf eine weiterführende, für Agenten gut lesbare Dokumentation verweist. Dann kann der Agent bei Bedarf nachschlagen. Eine große Menge einzelner Skills müssen wir schließlich auch pflegen und aktuell halten.
Christoph: Wie weit können wir uns dafür schon auf fertige Coding-Umgebungen verlassen?
Robert: Bei den Werkzeugen, die ich ausprobiert habe, habe ich Ansätze dafür gesehen. Teilweise behalten sie Informationen über Aufgaben hinweg oder reflektieren im Hintergrund. Ich konnte mich aber noch nicht darauf verlassen, dass daraus die Verbesserungen entstehen, die ich für mein Projekt brauche.
Außerdem wünsche ich mir mehr Einblick. Ich möchte sehen können, welche Informationen übernommen wurden und was das System an seiner Arbeitsweise verändert. Das ist für mich ein wichtiger Wunsch an die Weiterentwicklung der Harness-Werkzeuge.
Aber auch mit besseren Werkzeugen bleibt die Konfiguration für mich eine Engineering-Aufgabe, die ich nicht einfach der KI überlassen will. Für ein privates Projekt würde ich andere Abläufe wählen als für ein Kundenprojekt mit besonderen Qualitätsanforderungen. Welche Regeln gelten, welche Prüfungen verbindlich sind und wie wir mit der Codebasis arbeiten wollen, müssen wir weiterhin bewusst festlegen.
Das Wichtigste aus dem Gespräch
- Lange Suchläufe und doppelter Code sind Warnsignale. Wenn der Agent vorhandene Funktionen übersieht oder nicht weiß, in welchem Modul er arbeiten soll, lohnt sich ein Blick auf die Architektur und seine Anleitung. Solche Schwierigkeiten können sowohl bei von Menschen geschriebenem als auch bei KI-generiertem Code auftreten.
- Der Agent braucht einen Einstieg in die Architektur. Zu Beginn einer Aufgabe sollte er einen Verweis auf die Architekturbeschreibung erhalten. Sie erklärt, welche Aufgaben die Module übernehmen und wie sie voneinander abhängen. Für die Schnittstellen sollte feststehen, welche Eingaben sie erwarten, welche Ergebnisse sie liefern und welche Bedingungen gelten.
- Architekturprüfungen gehören in den Entwicklungsablauf. Robert schlägt vier Schritte vor: die Aufgabe mit der Architektur abgleichen, kurz planen, implementieren und abschließend prüfen. Dazu gehört auch, die Dokumentation bei Bedarf anzupassen. Verbindliche Prüfungen lassen sich in einer deterministischen Pipeline hinterlegen, sodass ihre Ausführung nicht vom Agenten abhängt.
- Rückblicke auf abgeschlossene Aufgaben können den Harness verbessern. Eine kurze Retrospektive hält fest, was funktioniert hat, wo Tool-Aufrufe gescheitert sind und welche Korrekturen nötig waren. Daraus lassen sich Anpassungen an den Prompts, Skills und Abläufen für künftige Aufgaben ableiten.
- Die Konfiguration bleibt eine Engineering-Aufgabe. Welche Regeln gelten und welche Prüfungen erforderlich sind, hängt vom jeweiligen Projekt ab. Auch mit besseren Coding-Werkzeugen müssen diese Anforderungen bewusst festgelegt und im Harness berücksichtigt werden.


