- Ein Leitfaden, der Entwicklungsweisen im Zeitalter von Coding-Agenten wie Claude Code und Codex zusammenfasst und neue Engineering-Patterns für die Zusammenarbeit mit Agenten vorstellt
- Erklärt anhand verschiedener Patterns, wie sich Entwicklungsgewohnheiten und Workflows ändern sollten in einer Umgebung, in der die Kosten für das Schreiben von Code stark gesunken sind
- Ordnet zentrale Bereiche agentenzentrierter Entwicklung wie Prinzipien, Tests, Codeverständnis und Prompt-Design strukturiert ein
- Jedes Pattern ist als praxisorientiertes Pattern-Dokument aufgebaut, inklusive realer Codebeispiele, Arbeitsweisen und Beispielen für den Einsatz von Prompts
- Praktisches Referenzmaterial für Entwickler im Zeitalter von Coding-Agenten, um agentenbasierte Coding-Umgebungen systematisch zu gestalten und die Qualität zu sichern
Überblick über Agentic Engineering Patterns
- Ein Leitfaden zu effektiven Engineering-Methoden für die Entwicklung zusammen mit Coding-Agenten (Claude Code, OpenAI Codex usw.)
- Siehe auch den Einführungsartikel Writing about Agentic Engineering Patterns
- Ein Dokument mit einer Struktur, in der fortlaufend mehrere Patterns (Kapitel) ergänzt werden – ähnlich wie bei klassischen „Design Patterns“
- Im Mittelpunkt steht, wie sich Workflows und Entscheidungsweisen von Entwicklern verändern, wenn die Kosten für das Schreiben von Code deutlich gesunken sind
- Es wird nicht als Blogpost, sondern als aktualisierbarer Guide geführt und soll kontinuierlich erweitert werden
1. Principles
-
- Durch das Aufkommen von AI-Coding-Agenten sind die Kosten für die anfängliche Codeerstellung fast auf null gesunken
- Früher war Codeerstellung teuer, daher war Entwicklung stärker auf Design und Planung ausgerichtet; heute ist ein Ansatz möglich, bei dem Ideen sofort im Code ausprobiert werden
- Auch wenn die Kosten für Codegenerierung gesunken sind, verursacht guter Code – etwa mit Tests und Wartbarkeit – weiterhin Aufwand
-
- Ein wichtiges Kapital von Entwicklern ist die Anhäufung von Wissen darüber, was möglich ist
- Betont wird die Gewohnheit, verschiedene Problemlösungen und kleine Codeexperimente zu speichern und in wiederverwendbarer Form zu sammeln
- Solche gesammelten Codes und Beispiele können als starke Eingaben für Coding-Agenten dienen, wenn man sie anweist, neue Funktionen zu erstellen
-
- Es ist ein Anti-Pattern, von Agenten erzeugten Code ohne Review zu teilen oder dafür PRs einzureichen
- Auch von Agenten verfasste PR-Beschreibungen müssen von Menschen direkt geprüft und überarbeitet werden
- Um die Zeit von Code-Reviewern nicht zu verschwenden, sollten Tests, Validierungsschritte und Gründe für Implementierungsentscheidungen mitgeliefert werden
2. Testing and QA
-
- Testgetriebene Entwicklung (TDD) ist ein besonders effektives Entwicklungsmuster, wenn sie zusammen mit Coding-Agenten eingesetzt wird
- Wenn Tests zuerst geschrieben werden, kann der Agent Code in Richtung der Testerfüllung erzeugen
- Schon mit minimalen Prompts hilft das, präzisen und verlässlichen Code zu erzeugen
-
- Bei der Arbeit mit Coding-Agenten sind automatisierte Tests keine Option, sondern ein Muss
- In einer Umgebung mit geringeren Kosten für das Schreiben von Tests kann der Agent Tests schnell erzeugen und anpassen
- Tests sind wichtig, weil nicht garantiert werden kann, dass Code funktioniert, bevor er tatsächlich ausgeführt wurde
3. Understanding code
-
- Ein Pattern, bei dem von Agenten erzeugter Code oder ein Projekt vom Anfang bis zum Ende in Reihenfolge gelesen wird, um die Struktur zu verstehen
- Selbst bei einfachen Projekten kann man durch das Nachvollziehen des Codeflusses neue Techniken und Strukturen lernen
- Als Antwort auf die Sorge, AI-Codegenerierung könne das Lerntempo verlangsamen, wird gezeigt, dass die Code-Erkundung selbst eine Lernchance sein kann
-
- Eine Methode, bei der man beim Verstehen von Code oder Systemen mit dem Agenten im Dialog Erklärungen anfordert
- Durch wiederholtes Fragen lassen sich Funktionsweise und Struktur des Codes schrittweise erfassen
- Ein Pattern, das den Prozess des Codeverständnisses zu einem dialogorientierten Lernansatz erweitert
4. Annotated prompts
-
- Enthält ein Prompt-Beispiel zum Erstellen eines GIF-Optimierungstools auf Basis von WebAssembly und Gifsicle
- Zeigt einen Implementierungsansatz für ein Single-Page-Tool mit HTML, JavaScript und CSS
- Erklärt anhand realer Prompts und Codebeispiele, wie Coding-Agenten genutzt werden können
5. Appendix
-
- Eine Sammlung von Prompt-Beispielen für Coding-Agenten, die tatsächlich verwendet werden
- Zusammenstellung praxisnaher Prompt-Patterns für unterschiedliche Aufgaben
- Bietet nützliche Templates für die Zusammenarbeit mit Agenten
1 Kommentare
Hacker-News-Kommentare
Es wirkt, als würden wir schon wieder dasselbe tun
Einfache und vernünftige Konzepte — zum Beispiel „Schreibe Tests zuerst“, „Baue kleine, kombinierbare Module“ — werden mit komplizierten Namen neu verpackt, und daraus entsteht dann vermutlich wieder eine Beraterindustrie.
Nur dass es diesmal um „sprechende Maschinen“ geht. Eine Welt, in der man einfach per Sprache Anweisungen gibt
Ich würde Simon gern fragen: Wie macht man Code-Review in einer Welt, in der Code billig ist?
Teammitglieder arbeiten nach dem Motto „Es läuft doch, also passt es“, ohne die Struktur zu verstehen. Reviews werden immer größer, und ich werde zum Flaschenhals. Ich habe auch überlegt, AI-Reviewer als Stellvertreter einzusetzen, aber ich mag nicht, dass dabei das menschliche Gespür verloren geht
Ich nutze AI hauptsächlich für Boilerplate-Code oder zur Lösung von Dokumentationsproblemen
Agentenartige Aufgaben habe ich auch ausprobiert, aber die Ergebnisse sind für mich noch nicht zuverlässig genug. Gleichzeitig sagen manche Leute, sie würden „inzwischen fast keinen Code mehr selbst schreiben“. Diese Diskrepanz finde ich interessant
Ich experimentiere gerade mit agentenartigen Coding-Loops
Zum Beispiel verfolge ich im fesh-Projekt das Ziel, „Linux-Binaries kleiner zu komprimieren“. Das war ein Problem mit klaren Tests und deshalb gut für einen AI-Loop geeignet
Ich habe dabei Folgendes gelernt:
rejections.mdwar wertvoller. Man muss festhalten, „warum dieser Ansatz verworfen wurde“, damit AI nicht dieselben Fehler wiederholt.md-Logs erhöhen die Qualität der nächsten Session starkIm Test-Abschnitt hätte ich gern das Problem der selbsterfüllenden Tests, die LLMs erzeugen, behandelt gesehen
Manchmal prüfen Tests in Wirklichkeit gar nichts, oder sie bestehen sogar mit hartkodierten Werten. Menschen müssen AI zu strengen Testgewohnheiten anleiten
Bei jeder neuen LLM-Generation fühlt es sich an, als würden alle bisherigen Lehren entwertet
Komplexe Konstruktionen wie LangChain, die gebaut wurden, um die Grenzen älterer Modelle zu umgehen, waren nach GPT-3.5 plötzlich nicht mehr nötig. Bald könnte vielleicht schon ein einzelner Agent für alles ausreichen
Dazugehörigen Artikel ansehen
In Diskussionen über Agent Engineering fehlt oft ein Punkt
Die meisten Lehren werden wie universelle Wahrheiten formuliert, hängen in Wirklichkeit aber von Teamgröße, Reife des Codebases, Testniveau und Risikotoleranz ab. Wichtig ist, klar zu benennen, „wann dieses Pattern funktioniert“
Im Moment tauchen jeden Tag Dutzende „Agent-Team-Frameworks“ auf
Das ist wie in der frühen Softwaretechnik eine chaotische Experimentierphase. Aber am Ende werden sich ein paar Patterns als Standard etablieren.
Für unser Team war es effektiv, wie ein menschliches Team vorzugehen — zuerst eine Produktspezifikation (Spec) schreiben, sie dann mit AI verfeinern und sie anschließend als Grundlage in einen Workflow mit getrennten Agentenrollen geben
Heute habe ich in einer Vorlesung für Studierende die Entwicklung der CPU- und GPU-Architektur erklärt
Früher hat Moore’s Law dank immer besserer Hardware vieles gelöst, aber heute ist Parallelität der Schlüssel.
Simons Gedanke, dass „Code billig ist“, ist ein ähnlicher Paradigmenwechsel.
So wie sich im Zeitalter paralleler Hardware grundlegend verändert hat, was effizienter Code ist, wird sich im AI-Zeitalter der Entwicklungsprozess selbst verändern. Wer das zuerst versteht, wird einen Vorteil um den Faktor 10 bis 100 haben
In unserem Team war ein Loop mit menschlicher Validierung an Zwischenpunkten am praktikabelsten
Vollautonome Agenten bestehen zwar Tests, verletzen aber oft implizite Invarianten.
Deshalb lassen wir Menschen kurz vor irreversiblen Entscheidungen eingreifen.
Allerdings ist es wiederum eine eigene Herausforderung, AI verständlich zu machen, „was irreversibel ist“.
Wir suchen neben Dokumenten wie
CLAUDE.mdnach einem systematischen Weg, implizite Regeln der Codebase zu vermitteln