>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Shell

Wie man aufhört, Code von Hand zu schreiben, und anfängt, Harnes für neuronale Netze zu entwerfen

Neulich erwischte ich mich dabei, wie mir seltsam zumute war. Du sitzt in einem Editor, startest einen Agenten wie Claude Code oder Cursor, gibst ihm eine Aufgabe, und zehn Minuten später sortierst du einen Haufen erfundener Funktionen und kaputter Typen. Zu versuchen, eine fünfseitige System-Prompt zu diktieren, macht die Sache meistens noch schlimmer: Das Modell vergisst den Anfang der Anweisung bis zum dritten Schritt.

Es stellt sich heraus, dass dieses Problem in der Engineering-Community rund um OpenAI, Anthropic und Cursor bereits als eigenständige Disziplin formalisiert wurde. Sie nennt sich Harness Engineering, was sich als das Entwerfen von Harnes oder Zügeln für Agenten übersetzen lässt.

Repository deusyu/harness-engineering hat eine umfangreiche Wissensbasis zu diesem Thema an einem Ort gesammelt: Analysen von Konzepten, Übersetzungen dutzender englischsprachiger Artikel von Engineers wie Martin Fowler, LangChain und den Erstellern von Bun, sowie fertige Templates zur Implementierung dieses Ansatzes in eigenen Projekten.

Harness Engineering

Woher die Idee kam

Wenn in der klassischen Entwicklung ein Mensch Code schreibt und die Maschine ihn ausführt, dann ändert sich mit dem Aufkommen autonomer Agenten die Kette. Ein Mensch formuliert Einschränkungen und Spielregeln, das neuronale Netz schreibt den Code, und die Umgebung führt Prüfungen durch und gibt Feedback an den Agenten zurück.

Der Punkt ist, dass der Engineer aufhört, der Autor jeder einzelnen Zeile zu sein. Das Hauptprodukt des Engineers wird ein System von Einschränkungen: Konfigurationsdateien AGENTS.md, Custom-Linter, strukturelle Tests und strikte Gates in der CI.

Das Repository zitiert Daten aus einem echten Experiment eines der Teams: Über 5 Monate hat ein Team von 3-7 Personen etwa 15.000 Pull Requests mit insgesamt fast einer Million Codezeilen gemergt und dabei durchschnittlich 3,5 PRs pro Person pro Tag geschlossen. Der Großteil der Generierung lief über Nacht in sechsstündigen Sessions.

Hauptprinzipien des Harness Engineering

Der Autor des Repositories deconstructs den Ansatz in mehrere angewandte Konzepte.

Repository als einzige Quelle der Wahrheit

Alles, was sich nicht in einem Git-Repository befindet, existiert für den Agenten nicht. Deine Zoom-Calls, Architekturdiskussionen in Slack oder Entwürfe in Google Docs gelangen nicht in den Kontext des Modells.

Wenn du dich entschieden hast, eine API-Signatur zu ändern oder dich auf eine Ordnerstruktur geeinigt hast, sollte dies als versionierte Dateien im Repository leben. Alle Spezifikationen und Aufgabenpläne werden sofort in einen Branch committed.

Eine Karte statt einer Enzyklopädie

Ein häufiger Fehler beim Setup von agentic Development ist das Erstellen einer massiven System-Datei mit allen Projektanweisungen. Modelle werden von langen Prompts überfordert.

Stattdessen wird eine AGENTS.md-Datei von etwa 100 Zeilen verwendet. Sie funktioniert als Inhaltsverzeichnis oder als Karte des Geländes und weist den Agenten an, welche Unterverzeichnisse er je nach Aufgabe für Details aufrufen soll. Jedes Unterverzeichnis enthält seine eigene lokale AGENTS.md. Dieses Prinzip nennt sich progressive Kontext-Offenlegung.

Mechanische Kontrolle statt mündlicher Überzeugung

Textbasierte Regeln in der Dokumentation werden schnell veraltet, und Agenten neigen dazu, sie zu ignorieren oder falsch zu interpretieren. Linter und Unit-Tests werden nicht veraltet.

Statt langer Architektur-Stil-Beschreibungen werden Custom-Linter geschrieben. Der interessanteste Teil: Fehlermeldungen in solchen Lintern enthalten sofort klare Anweisungen zur Behebung des Problems. Der Agent führt die Prüfung durch, fängt den Linter-Fehler ab, liest den Hinweistext und schreibt den problematischen Codeabschnitt selbst um.

Lesbarkeit von Code für Agenten und Entropie-Management

Bei der Auswahl von Bibliotheken wird Priorität auf stabile, gut dokumentierte Technologien mit vorhersehbarem Verhalten gelegt. Wenn eine Bibliothek zu komplex ist oder dunkle Metaprogrammierungs-Magie verwendet, wird der Agent ständig stolpern. Manchmal ist es einfacher, ein einfaches internes Modul von Grund auf zu implementieren, als das neuronale Netz das Verhalten eines undurchsichtigen externen Pakets erraten zu lassen.

Zusätzlich kopieren Agenten gerne schlechte Muster, wenn sie diese im bestehenden Codebase finden. Um zu verhindern, dass das Repository verrottet, laufen spezielle Refactoring-Agenten im Hintergrund, deren Aufgabe darauf reduziert ist, Abweichungen von Standards zu finden und korrigierende PRs zu erstellen.

Selbstreferenzielles Repository

Was Projekt deusyu/harness-engineering so überzeugend macht, ist, dass es auf genau den Prinzipien aufgebaut ist, die es beschreibt.

Im Repository läuft ein striktes scripts/check-consistency.sh-Script, ausgelöst über Pre-Commit-Hooks und GitHub Actions. Das Script prüft dreizehn Ebenen der Integrität:

  • Verifiziert die exakte Anzahl der in Badges und Dokumentation erwähnten Artikel
  • Überwacht, dass die Verzeichnisstruktur dem deklarierten Dateibaum entspricht
  • Validiert alle Links und Tabellen
  • Kontrolliert Bild-Audits in Artikelübersetzungen, damit keine Diagramme aus den Originalen verloren gehen

Der Prozess des Hinzufügens neuer Materialien ist durch ein spezialisiertes Claude-Skill automatisiert, wobei Agenten die initiale Parsing und Formatierung von Artikeln durchführen, während ein Mensch nur als finaler Censor fungiert.

Für wen dieses Projekt gedacht ist

Wenn du alleine Pet-Projects schreibst oder effizientes Arbeiten mit Cursor, Claude Code, Aider oder lokalen Modellen in deinem Team aufsetzen möchtest, lohnt es sich, dieses Repository zu bookmarken.

Es gibt hier keine magischen Knöpfe oder fertige Binaries. Dies ist ein Handbuch und eine Sammlung von Engineering-Erfahrung, die erklärt, warum deine Prompts über die Distanz aufhören zu funktionieren und wie du das Repository so konfigurierst, dass neuronale Netze Nutzen bringen, anstatt den Codebase in eine Müllhalde zu verwandeln.

Der einfachste Weg, um mit dem Lernen zu beginnen, sind die Dateien im concepts/-Verzeichnis, dann schau dir die Implementierung von AGENTS.md im Projekt-Root an und probiere eine ähnliche Struktur für deine eigenen Arbeits-Repositories aus.

Ähnliche Projekte