Was Sie lernen werden
Dieser Leitfaden deckt Harness Engineering von den ersten Prinzipien bis zur praktischen Umsetzung ab. Sie werden verstehen, was es ist, warum OpenAI ihr größtes internes Projekt darauf gesetzt hat, welche spezifischen Architekturmuster es ermöglichen und wie Sie diese Prinzipien auf Ihre eigenen AI-Agenten-Workflows anwenden können — unabhängig davon, ob Sie Codex, Claude Code, OpenCode oder ein anderes Agenten-System verwenden.
Harness Engineering: Der vollständige Leitfaden für die Entwicklung von AI-Agenten im Jahr 2026
Wenn 2025 das Jahr war, in dem AI-Agenten bewiesen, dass sie Code schreiben können, dann ist 2026 das Jahr, in dem wir gelernt haben, dass nicht der Agent der schwierige Teil ist — sondern das Harness.
Das Codex-Team von OpenAI veröffentlichte im Februar 2026 einen bahnbrechenden Blog-Beitrag, in dem beschrieben wurde, wie sie eine produktive Anwendung mit etwa einer Million Zeilen Code entwickelten, wobei null Zeilen von Menschenhand geschrieben wurden. Das Geheimnis war nicht ein besseres Modell oder ein klügerer Prompt. Es war das System, das sie um den Agenten herum bauten — das Harness. Quelle
Dieser Leitfaden schlüsselt jedes Prinzip, jedes Muster und jede praktische Technik aus diesem Experiment und der breiteren Harness-Engineering-Bewegung auf, die daraus entstanden ist.
Teil 1: Was ist Harness Engineering?
Die Definition
Harness Engineering ist die Disziplin des Entwurfs der gesamten Umgebung — Scaffolding, Feedback-Schleifen, Dokumentation, architektonische Einschränkungen und maschinenlesbare Artefakte —, die es AI-Coding-Agenten ermöglicht, zuverlässige, qualitativ hochwertige Arbeit in großem Maßstab mit minimalem menschlichem Eingreifen zu leisten.
Der Begriff „Harness“ (Geschirr/Zaumzeug) stammt aus der Pferderüstung: Zügel, Sattel, Gebiss — die komplette Ausrüstung, um ein kraftvolles, aber unvorhersehbares Tier in die richtige Richtung zu lenken. Ein unkontrolliertes Pferd ist gefährlich. Ein angeschirrtes Pferd hat Zivilisationen aufgebaut. Das Gleiche gilt für AI-Agenten. Quelle
Warum es jetzt entstanden ist
Der Übergang von Prompt Engineering zu Harness Engineering spiegelt eine Reifung der AI-Entwicklungslandschaft wider:
| Ära | Fokus | Kernfrage |
|---|---|---|
| Prompt Engineering (2023–2024) | Erstellung besserer Eingaben | „Wie stelle ich dem Modell die richtige Frage?“ |
| Agent Engineering (2025) | Bau autonomer Systeme | „Wie gebe ich dem Modell Tools und lasse es handeln?“ |
| Harness Engineering (2026) | Entwurf vollständiger Umgebungen | „Wie baue ich das System, das Agenten zuverlässig produktiv macht?“ |
Die wichtigste Erkenntnis, die diesen Übergang vorantrieb: Agenten wurden fähig genug, dass sich der Flaschenhals von der Modellqualität zur Umgebungsqualität verschob. Ein State-of-the-Art-Modell, das in einem schlecht strukturierten Repository arbeitet, liefert schlechtere Ergebnisse als ein mittelmäßiges Modell, das in einer gut ausgestatteten Harness-Umgebung agiert.
Teil 2: Das OpenAI Codex Experiment
Der Umfang
In einem fünfmonatigen internen Experiment bauten und veröffentlichten OpenAI-Ingenieure ein Beta-Produkt mit etwa einer Million Zeilen Code. Das Repository umfasst Applikationslogik, Infrastruktur, Tooling, Dokumentation und interne Entwickler-Utilities. Es gab keinen zuvor existierenden, von Menschen geschriebenen Code, an dem sich das System orientieren konnte. Quelle
Das Team
Das Projekt begann mit nur drei Ingenieuren, die Codex steuerten. Über den Zeitraum von fünf Monaten wurden etwa 1.500 Pull requests geöffnet und gemergt. Als das Team auf sieben Ingenieure anwuchs, stieg der Durchsatz — ein kontraintuitives Ergebnis, das darauf hindeutete, dass das Harness selbst der primäre Produktivitätsmultiplikator war, nicht die individuellen Fähigkeiten.
OpenAI schätzt, dass sie das System in etwa einem Zehntel der Zeit bauten, die man benötigt hätte, um den Code von Hand zu schreiben. Quelle
Das initiale Scaffold
Das Projekt begann damit, dass das Codex CLI das initiale Scaffold unter Verwendung von GPT-5 generierte, geleitet von einem kleinen Satz bestehender Vorlagen:
- Repository-Struktur und Verzeichniskonventionen
- CI/CD-Konfiguration
- Code-Formatierung und Linting-Regeln
- Setup des Package-Managers
- Boilerplate für das Anwendungs-Framework
Aus diesem Samen wuchs alles andere durch agentengesteuerte Entwicklung.
Das Freitags-Problem
Früh im Experiment entdeckte das Team ein kritisches Problem: Sie verbrachten jeden Freitag — 20% ihrer Engineering-Zeit — damit, das aufzuräumen, was sie als „AI-Slop“ bezeichneten. Dies beinhaltete inkonsistente Muster, duplizierte Logik, falsch benannte Variablen und architektonischen Drift.
Das war nicht skalierbar. Die Lösung bestand darin, ihre Standards direkt in das Harness selbst zu kodieren, damit die Agenten von Anfang an saubereren Output produzieren würden, und automatisierte Aufräum-Systeme für den verbleibenden Drift zu bauen.
Teil 3: Die fünf Kernprinzipien
Prinzip 1: Repository-First-Wissen
Aus der Sicht des Agenten existiert effektiv nichts, auf das er während des Betriebs nicht In-Context zugreifen kann. Wissen, das in Google Docs, Chat-Threads, Slack-Nachrichten oder in den Köpfen der Menschen lebt, ist für das System unsichtbar.
Das bedeutet, dass alles Wissen als Repository-lokale, versionierte Artefakte existieren muss:
- Code — das primäre Artefakt
- Markdown-Dokumentation — Architektur-Entscheidungen, Konventionen, Onboarding-Guides
- Schemas — API-Kontrakte, Datenbank-Schemas, Typ-Definitionen
- Ausführbare Pläne — Schritt-für-Schritt-Aufgabenlisten, denen der Agent folgen kann
- Konfiguration — Linter-Regeln, CI-Pipelines, Formatierungsstandards
Das Team lernte, dass sie mit der Zeit immer mehr Kontext in das Repo schieben mussten. Jedes Mal, wenn ein Agent einen Fehler machte, weil ihm der Kontext fehlte, war die Lösung kein besserer Prompt — sondern das Hinzufügen dieses Kontexts zum Repository. Quelle
Praktische Umsetzung:
# ARCHITECTURE.md (lebt im Repo-Root)
## Dependency Rules
- UI components may import from Service layer but never from Repo layer
- Service layer may not import from Runtime layer
- All cross-domain communication goes through typed event bus
## Naming Conventions
- React components: PascalCase, suffixed with purpose (UserListPage, UserCard)
- Services: camelCase, suffixed with Service (userService, authService)
- Types: PascalCase, prefixed with domain (UserProfile, OrderItem)
## Testing Requirements
- All Service functions require unit tests
- All API endpoints require integration tests
- Coverage threshold: 80% per package
Prinzip 2: Goldene Prinzipien
Goldene Prinzipien sind meinungsstarke, mechanische Regeln, die direkt im Repository kodiert sind und die Codebasis für zukünftige Agenten-Durchläufe lesbar und konsistent halten. Sie sind keine angestrebten Richtlinien — sie sind erzwungene Constraints.
Beispiele aus dem OpenAI-Experiment:
- Bevorzuge geteilte Utility-Packages gegenüber handgemachten Helfern — zentralisiert Invarianten, sodass sich bei einer Verhaltensänderung alles an einer Stelle ändert.
- Daten nicht im YOLO-Stil untersuchen — Validierung von Grenzen oder Verlass auf getypte SDKs, damit Agenten nicht versehentlich auf vermuteten Datenstrukturen aufbauen.
- Ein Konzept, eine Datei — jede Datei sollte ein einzelnes Konzept repräsentieren, was es für Agenten einfacher macht, den richtigen Ort zu finden und zu ändern.
- Explizit vor implizit — vermeide magisches Verhalten, für dessen Verständnis ein Agent implizites Wissen benötigen würde.
Diese Prinzipien sind nicht nur Dokumentation. Sie werden erzwungen durch:
- Linter-Regeln — benutzerdefinierte Linters (selbst von Codex generiert), die Verstöße markieren.
- Strukturtests — Tests, die die Einhaltung der Architektur validieren.
- CI-Gates — Pull requests, die gegen goldene Prinzipien verstoßen, werden automatisch abgelehnt.
Prinzip 3: Schichtenarchitektur mit mechanischer Erzwingung
Jeder Business-Bereich im OpenAI-Projekt ist in einen festen Satz von Schichten mit streng validierten Abhängigkeitsrichtungen unterteilt:
Types → Config → Repo → Service → Runtime → UI
Abhängigkeiten fließen nur in eine Richtung. Eine UI-Komponente darf von Runtime und Service abhängen, aber ein Service darf niemals von der UI importieren. Ein Repo darf von Config und Types abhängen, aber niemals vom Service. Quelle
Diese Constraints werden mechanisch erzwungen:
// structural-test.ts — erzwingt Abhängigkeitsgrenzen
import { analyzeImports } from './tools/import-analyzer';
describe('Dependency Layer Enforcement', () => {
it('Service layer must not import from Runtime', () => {
const violations = analyzeImports({
sourceLayer: 'service',
forbiddenLayers: ['runtime', 'ui'],
});
expect(violations).toEqual([]);
});
it('Repo layer must not import from Service', () => {
const violations = analyzeImports({
sourceLayer: 'repo',
forbiddenLayers: ['service', 'runtime', 'ui'],
});
expect(violations).toEqual([]);
});
});
Die Strukturtests validieren die Einhaltung und verhindern Verstöße gegen die modulare Schichtung. Dies ist kein Vorschlag — es wird durch die CI erzwungen. Jeder Pull request, egal ob von einem Menschen oder einem Agenten erstellt, muss diese Tests bestehen.
Prinzip 4: Automatische Garbage Collection
Selbst mit goldenen Prinzipien und struktureller Erzwingung driftet agentengenerierter Code mit der Zeit ab. Das OpenAI-Team löste dies durch die Implementierung einer automatischen Garbage Collection — wiederkehrende Hintergrundaufgaben, die:
- Die gesamte Codebasis nach Abweichungen von den goldenen Prinzipien scannen.
- Die Qualitätsbewertungen für jedes Modul basierend auf Compliance-Scores aktualisieren.
- Gezielte Refactoring-Pull-Requests eröffnen, die spezifische Kategorien von Drift beheben.
Dies ersetzte das manuelle „Freitags-Aufräumen“ durch ein System, das kontinuierlich läuft. Der Garbage Collector selbst wird von Codex-Agenten betrieben, was eine selbsterhaltende Schleife erzeugt. Quelle
# .github/workflows/garbage-collection.yml
name: Codebase Garbage Collection
on:
schedule:
- cron: '0 2 * * *' # Täglich um 2 Uhr morgens ausführen
jobs:
gc-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run golden principle scanner
run: npx codex-gc scan --principles ./GOLDEN_PRINCIPLES.md
- name: Generate refactoring PRs
run: npx codex-gc fix --auto-pr --max-prs 5
Prinzip 5: Ausführbare Pläne
Bevor Agenten Code schreiben, schreiben sie Pläne. Diese Pläne sind keine informellen Notizen — sie sind strukturierte, ausführbare Dokumente, die Folgendes spezifizieren:
- Ziel: Was die Aufgabe bewirkt.
- Zu ändernde Dateien: Explizite Liste der Dateien, die der Agent anfassen wird.
- Abhängigkeiten: Andere Aufgaben oder Module, von denen diese Arbeit abhängt.
- Akzeptanzkriterien: Wie verifiziert wird, dass die Arbeit abgeschlossen ist.
- Constraints: Architektonische Regeln, die nicht verletzt werden dürfen.
# Plan: Add user notification preferences
## Objective
Allow users to configure which notification channels (email, SMS, push) they
receive alerts on, with per-category granularity.
## Files to Modify
- src/types/user.ts — Add NotificationPreferences type
- src/repo/userRepo.ts — Add getPreferences/setPreferences methods
- src/service/notificationService.ts — Filter notifications by preferences
- src/ui/pages/SettingsPage.tsx — Add preferences UI section
## Constraints
- Must follow Types → Repo → Service → UI dependency flow
- NotificationPreferences type must be shared, not duplicated
- All new methods require unit tests
## Acceptance Criteria
- [ ] User can toggle email/SMS/push per notification category
- [ ] Preferences persist across sessions
- [ ] Toggling a channel off stops notifications on that channel within 30s
Pläne leben im Repository als Markdown-Dateien, sind versioniert und können vor der Ausführung überprüft werden — was Menschen einen Kontrollpunkt zwischen Absicht und Implementierung gibt.
Teil 4: Der Codex Agent Loop
Zu verstehen, wie der Codex Agent Loop innerhalb eines Harness arbeitet, ist entscheidend für effektives Harness Engineering.
Die Loop-Architektur
OpenAI veröffentlichte eine detaillierte Aufschlüsselung des Codex Agent Loops in ihrem Begleitartikel „Unrolling the Codex agent loop“. Quelle Der Loop folgt diesem Zyklus:
Kontext lesen → Planen → Ausführen → Validieren → Committen (oder Wiederholen)
Jede Iteration:
- Kontext lesen: Der Agent liest relevante Dateien, Dokumentationen, Schemas und den Aufgabenplan aus dem Repository.
- Planen: Basierend auf dem Kontext bestimmt der Agent, welche Änderungen vorzunehmen sind.
- Ausführen: Der Agent schreibt oder modifiziert Code.
- Validieren: Das Harness lässt Tests, Linters und Strukturprüfungen gegen die Änderungen laufen.
- Committen oder Wiederholen: Wenn die Validierung erfolgreich ist, committet der Agent. Wenn sie fehlschlägt, liest der Agent die Fehlerausgabe und versucht es erneut.
Die Rolle des Harness besteht darin, die Schritte 1 und 4 so informationsreich wie möglich zu gestalten. Je mehr Kontext der Agent liest, desto besser ist sein Plan. Je spezifischer das Validierungs-Feedback ist, desto schneller konvergiert er zu einer funktionierenden Lösung.
Das App Server Harness
In ihrem Post „Unlocking the Codex harness: how we built the App Server“ beschreibt OpenAI die konkrete Infrastruktur, die den Agent Loop antreibt. Quelle Der App Server bietet:
- Sandboxed Execution Environments für jede Agenten-Aufgabe.
- Vorkonfigurierten Tool-Zugriff (Dateisystem, Terminal, Browser).
- Automatische Kontext-Injektion aus Repository-Artefakten.
- Streaming Validierungs-Feedback, damit Agenten Testfehler in Echtzeit sehen können.
Teil 5: Harness Engineering in Ihrem Team anwenden
Erste Schritte: Das Minimum Viable Harness
Sie müssen nicht die gesamte Infrastruktur von OpenAI replizieren, um von Harness Engineering zu profitieren. Beginnen Sie mit diesen grundlegenden Elementen:
Schritt 1: Erstellen Sie eine ARCHITECTURE.md
Dokumentieren Sie die architektonischen Regeln Ihres Projekts in einem maschinenlesbaren Format im Root Ihres Repositorys. Fügen Sie hinzu:
- Modulgrenzen und erlaubte Abhängigkeiten
- Benennungskonventionen
- Regeln zur Dateiorganisation
- Testanforderungen
Diese einzelne Datei verbessert die Qualität des Agenten-Outputs dramatisch, da Agenten sie lesen, bevor sie Änderungen vornehmen.
Schritt 2: Strukturtests hinzufügen
Schreiben Sie Tests, die Ihre Architekturregeln validieren. Diese Tests prüfen keine Business-Logik — sie prüfen, ob der Code korrekt organisiert ist:
// Keine Service-Datei darf aus einem UI-Modul importieren
test('service layer isolation', () => {
const serviceFiles = glob('src/services/**/*.ts');
for (const file of serviceFiles) {
const imports = extractImports(file);
const uiImports = imports.filter(i => i.startsWith('../ui/'));
expect(uiImports).toHaveLength(0);
}
});
Schritt 3: CI-Validierung konfigurieren
Stellen Sie sicher, dass Ihre CI-Pipeline Strukturtests, Linters und Typ-Prüfungen bei jedem Pull request ausführt — auch bei denen, die von Agenten erstellt wurden. Der Agent sollte dieselbe Validierungsausgabe sehen wie ein menschlicher Entwickler.
Schritt 4: Aufgabenpläne vor der Agenten-Ausführung schreiben
Bevor Sie einen Agenten bitten, ein Feature zu implementieren, schreiben Sie ein strukturiertes Plandokument, das die zu ändernden Dateien, einzuhaltende Constraints und Akzeptanzkriterien spezifiziert. Speichern Sie diese Pläne in Ihrem Repository.
Schritt 5: Automatisches Aufräumen einrichten
Implementieren Sie einen wöchentlichen oder nächtlichen CI-Job, der Ihre Codebasis auf Abweichungen von Ihren dokumentierten Standards scannt und fokussierte Refactoring-PRs erstellt.
Wahl Ihres Agenten-Systems
Harness-Engineering-Prinzipien gelten unabhängig davon, welchen Agenten Sie verwenden:
| Agent | Bestens geeignet für | Harness-Integration |
|---|---|---|
| Codex | Große, parallelisierte Aufgaben | Native Harness-Unterstützung via App Server |
| Claude Code | Interaktive Terminal-Workflows | CLAUDE.md Datei für Kontext-Injektion |
| OpenCode | Flexibilität bei Multi-Providern | opencode.json + Regeldateien |
| Cursor/Windsurf | IDE-integrierte Entwicklung | .cursorrules / Projekt-Kontext |
Das Harness lebt in Ihrem Repository, nicht in Ihrem Agenten. Das bedeutet, dass Sie Agenten wechseln können, ohne Ihre Investition in das Harness zu verlieren.
Skalierung von einem Agenten auf viele
Das OpenAI-Experiment hat gezeigt, dass Harness Engineering die parallele Ausführung von Agenten ermöglicht. Da das Harness architektonische Grenzen erzwingt, können mehrere Agenten gleichzeitig an verschiedenen Teilen der Codebasis arbeiten, ohne Konflikte zu verursachen.
Wichtige Voraussetzungen für die parallele Agenten-Ausführung:
- Klare Modul-Verantwortlichkeit — jeder Agent arbeitet innerhalb einer definierten Grenze.
- Getypte Schnittstellen zwischen Modulen — Agenten können gegen Schnittstellen programmieren, ohne Implementierungsdetails zu kennen.
- Vermeidung von Merge-Konflikten — Aufgaben sind so zugeschnitten, dass Dateiüberschneidungen minimiert werden.
- Zentralisierte Validierung — alle Agenten liefern an dieselbe CI-Pipeline.
Teil 6: Häufige Fallstricke und Anti-Pattern
Anti-Pattern 1: Den Agenten als das Harness betrachten
Der Agent ist nicht das Harness. Das Harness ist die Umgebung, in der der Agent arbeitet. Ein schlaueres Modell zu bitten, ein schlecht strukturiertes Repository zu kompensieren, ist der falsche Ansatz. Reparieren Sie die Umgebung, nicht den Prompt.
Anti-Pattern 2: Dokumentation am falschen Ort
Wenn Ihre Architektur-Entscheidungen in Confluence, Notion oder Google Docs leben, können Agenten sie nicht sehen. Die Lösung ist einfach, erfordert aber Disziplin: Verschieben Sie alle entwicklungsrelevanten Dokumentationen in das Repository.
Anti-Pattern 3: Manuelles Aufräumen statt automatisierter Erzwingung
Wenn Sie viel Zeit damit verbringen, agentengenerierten Code aufzuräumen, benötigen Sie eine bessere Erzwingung, nicht mehr Aufräum-Sitzungen. Jede wiederkehrende Aufräumaufgabe sollte entweder zu einer Linter-Regel, einem Strukturtest oder einem automatisierten Refactoring-Job werden.
Anti-Pattern 4: Übermäßige Einschränkung
Ein Harness, das zu starr ist, verhindert, dass Agenten kreative Lösungen finden. Das Ziel ist es, die Architektur einzuschränken, nicht die Implementierung. Sagen Sie den Agenten, welche Module sie ändern dürfen und welche Abhängigkeiten erlaubt sind, aber lassen Sie sie entscheiden, wie sie die Logik innerhalb dieser Grenzen implementieren.
Anti-Pattern 5: Agenten-Feedback ignorieren
Wenn ein Agent bei bestimmten Aufgaben wiederholt scheitert, deutet das Scheitern meist auf eine Lücke im Harness hin, nicht auf eine Einschränkung des Agenten. Verfolgen Sie Fehlermuster und nutzen Sie diese, um Ihre Dokumentation, Strukturtests oder architektonischen Constraints zu verbessern.
Teil 7: Die Zukunft von Harness Engineering
Martin Fowlers Perspektive
Martin Fowler veröffentlichte eine Analyse von Harness Engineering auf seinem Blog und stellte fest, dass es einen fundamentalen Wandel in der Arbeitsweise von Softwareteams darstellt. Die Disziplin leiht sich jahrzehntelange Best Practices der Softwareentwicklung — Continuous Integration, Architecture Decision Records, Dependency Injection — aus, nutzt sie aber für eine agentengesteuerte Welt um. Quelle
Das HumanLayer Framework
Das Team von HumanLayer veröffentlichte eine Analyse, in der Harness Engineering als „Skill Issue“ bezeichnet wird — mit dem Argument, dass die Fähigkeit, effektive Harnesses zu entwerfen, zum primären Unterscheidungsmerkmal zwischen leistungsstarken und kämpfenden Engineering-Teams werden wird. Quelle
Was das für Entwickler bedeutet
Harness Engineering ersetzt nicht die Fähigkeiten von Entwicklern — es lenkt sie um. Anstatt Code zu schreiben, entwerfen Senior-Ingenieure die Systeme, die es Agenten ermöglichen, Code gut zu schreiben. Die Fähigkeiten, auf die es ankommt, verlagern sich von der Implementierung zur Architektur, vom Coden zum Systemdesign, vom Schreiben von Tests zum Entwurf von Test-Frameworks.
Für Teams, die Anwendungen bauen, integrieren Plattformen wie ZBuild bereits Harness-Engineering-Prinzipien in ihre App-Builder-Workflows. Anstatt dass Entwickler ihre eigenen Harnesses von Grund auf neu entwerfen müssen, bietet ZBuild vorkonfigurierte Architekturmuster, Abhängigkeitsmanagement und Validierungssysteme, die AI-Agenten zu qualitativ hochwertigem Output führen — so können sich Entwickler auf Produktentscheidungen statt auf die Infrastruktur konzentrieren.
Die drei Horizonte
Mit Blick auf die Zukunft wird sich Harness Engineering wahrscheinlich in drei Phasen entwickeln:
-
Kurzfristig (2026): Teams führen Repository-First-Dokumentation, Strukturtests und goldene Prinzipien ein. Agentengestützte Entwicklung wird zum Standard für gut ausgestattete Projekte.
-
Mittelfristig (2027): Die Erzeugung des Harness selbst wird agentengesteuert. Agenten analysieren bestehende Codebasen und schlagen Harness-Konfigurationen vor — Linter-Regeln, Strukturtests, Abhängigkeitsgrenzen — basierend auf den beobachteten Mustern.
-
Langfristig (2028+): Harnesses werden adaptiv. Anstelle statischer Regeln entwickeln sie sich basierend auf den Ergebnissen von agentengeneriertem Code weiter, indem sie Constraints in Bereichen automatisch verschärfen, in denen Agenten häufig Fehler produzieren, und sie dort lockern, wo sie konsistent erfolgreich sind.
Teil 8: Praktische Checkliste
Nutzen Sie diese Checkliste, um den Reifegrad Ihres Teams im Bereich Harness Engineering zu bewerten:
Grundlagen (Hier beginnen)
- ARCHITECTURE.md existiert im Repository-Root.
- Code-Formatierung ist automatisiert (Prettier, Black, gofmt).
- Linting läuft bei jedem Pull request.
- Typ-Prüfung wird erzwungen (TypeScript strict, mypy, etc.).
Fortgeschritten
- Strukturtests validieren Abhängigkeitsgrenzen.
- Goldene Prinzipien sind dokumentiert und maschinell erzwingbar.
- Aufgabenpläne werden vor der Agenten-Ausführung geschrieben.
- Agentengenerierte PRs durchlaufen dieselbe CI wie menschliche PRs.
Profi
- Automatische Garbage Collection läuft nach Zeitplan.
- Mehrere Agenten können parallel ohne Konflikte arbeiten.
- Agenten-Fehlermuster werden verfolgt und zur Verbesserung des Harness genutzt.
- Das Harness selbst ist versioniert und wird wie Code reviewed.
Experte
- Agenten generieren Teile des Harness (Linter-Regeln, Strukturtests).
- Qualitätsbewertungen werden jedem Modul automatisch zugewiesen.
- Harness-Verbesserungen sind datengesteuert basierend auf Agenten-Erfolgsraten.
- Das Team liefert mehr Code pro Ingenieur pro Woche als vor der Einführung von Agenten.
Fazit
Harness Engineering ist keine Modeerscheinung. Es ist die natürliche Evolution des Software Engineerings in einer Ära, in der AI-Agenten fähig genug sind, produktiven Code zu schreiben, aber strukturierte Umgebungen benötigen, um dies gut zu tun. Das Millionen-Zeilen-Experiment von OpenAI hat das Konzept in großem Maßstab bewiesen, und die von ihnen formulierten Prinzipien — Repository-First-Wissen, goldene Prinzipien, Schichtenarchitektur, automatische Garbage Collection und ausführbare Pläne — sind auf Teams jeder Größe anwendbar.
Die Teams, die Harness Engineering im Jahr 2026 meistern, werden schneller liefern, eine höhere Codequalität beibehalten und effektiver skalieren als diejenigen, die AI-Agenten als verherrlichtes Autocomplete betrachten. Der Agent ist das Pferd. Das Harness ist das, was ihn nützlich macht.
Quellen
- Harness Engineering: Leveraging Codex in an Agent-First World — OpenAI
- Unlocking the Codex Harness: How We Built the App Server — OpenAI
- Unrolling the Codex Agent Loop — OpenAI
- OpenAI Introduces Harness Engineering — InfoQ
- Harness Engineering — Martin Fowler
- Skill Issue: Harness Engineering for Coding Agents — HumanLayer
- From Prompt Engineering to Harness Engineering — SoftmaxData
- How to Build an Agent Harness — Study Notes
- Harness Engineering — GTCode
- OpenAI Harness Engineering: Ship 1M Lines of Code — The Neuron
- How OpenAI Built 1M Lines of Code Using Only Agents — TonyLee
- Harness Engineering — The New Discipline — CodeNote