StartseiteArtikel

Das gesamte Branchenumfeld ist wild auf Harness fixiert. Anthropic setzt noch stärker zu, während der Leiter von Codex behauptet, dass es aus dem Spiel geht.

极客邦科技InfoQ2026-03-30 21:49
Während einige gestärkt, andere geschwächt werden: Wird Harness von der Fähigkeit des Modells rückwärts verschlungen?

Anfang dieses Jahres haben die Architekten von OpenAI, Bill Chen und Brian Fioca, in einer Präsentation die Herausforderungen bei der Entwicklung von Codex detailliert beschrieben sowie einige neuartige Nutzungsmuster des Coding Agent. Bei der Erläuterung der Komponenten des Coding Agent wurde erwähnt, dass er aus drei Teilen besteht: der Benutzeroberfläche, dem Modell und Harness.

Die Benutzeroberfläche ist offensichtlich. Sie kann ein Befehlszeilentool, eine integrierte Entwicklungsumgebung oder ein Cloud- oder Hintergrund-Agent sein. Das Modell ist ebenfalls klar. Beispielsweise sind es die GPT-5.1-Serienmodelle von OpenAI oder Modelle anderer Anbieter. Bei Harness handelt es sich um einen etwas komplexeren Teil, der direkt mit dem Modell interagiert. Vereinfacht gesagt, kann man es als einen Kern-Agenten-Zyklus betrachten, der aus einer Reihe von Prompts und Tools besteht und dem Modell Eingaben und Ausgaben liefert.

Harness ist die Schnittstellenebene des Modells. Es ist das Medium für die Interaktion zwischen dem Modell, dem Benutzer und dem Code. Es umfasst alle Komponenten, die das Modell für die Arbeit in mehrfachen Dialogen, den Aufruf von Tools und schließlich die Codeerstellung und die Interpretation der Benutzeranforderungen benötigt. Für einige Produkte kann Harness der Schlüsselteil sein.

Anthropic hat vor ein paar Tagen einen Blogbeitrag mit dem Titel "Harness design for long-running application development" veröffentlicht. Darin wird erwähnt, dass Harness ein externes Framework, eine Steuerungsstruktur und ein Orchestrierungssystem zur Unterstützung des Betriebs komplexer künstlicher Intelligenz-Agenten (Agent) ist. Es ist keine einzelne Algorithmus, sondern ein ganzes Set an engineeringmäßigen "Gerüstwerken", um die Fähigkeiten der künstlichen Intelligenz zu verwalten und zu erweitern.

Es ist eine höhere Abstraktion über der Prompt Engineering. Der Prompt bestimmt die Qualität eines einzelnen Dialogs, während Harness den Ausführungsfluss und die Zuverlässigkeit von mehrfachen Dialogen, mehreren Agenten und langfristigen Aufgaben bestimmt.

Die zentrale Rolle von Harness besteht darin, das Problem der "Kontrollverlusts" (Go off the rails) der künstlichen Intelligenz bei der Erledigung komplexer und zeitaufwändiger Aufgaben zu lösen und die inneren Mängel des Modells (z. B. Kontextangst, Selbstaufwertung) durch externe Steuerungsmechanismen zu kompensieren.

Sowohl OpenAI als auch Anthropic sind sich einig, dass Harness der Schlüssel für die Umsetzung des Coding Agent ist. Der Unterschied zwischen den beiden Top-Unternehmen besteht darin, ob Harness stark und umfangreich oder dünn und leicht gestaltet werden sollte.

Soll Harness vergrößert oder verkleinert werden?

Es scheint, dass sich in der Branche ein neuer Konsens bildet: Die Obergrenze der künstlichen Intelligenz-Programmierung wird nicht mehr von der Einmalgenerierungsfähigkeit des Modells selbst, sondern von der Harness Engineering bestimmt.

In einem kürzlich veröffentlichten Engineering-Artikel von Anthropic wird ihre tiefe Erforschung des Long-running Agent (langfristig laufender Agent) gezeigt. Um das Problem des "Abgleitens" der künstlichen Intelligenz bei langfristigen Aufgaben zu lösen, haben sie ein äußerst strenges Harness aufgebaut:

  • Strukturierte Übergabe (Structured Handoff): Die künstliche Intelligenz wird gezwungen, vor dem Erschöpfen des Kontexts eine "Fortschrittsdatei" zu generieren und den Zustand extern zu speichern.
  • Zusammenarbeit mehrerer Agenten: Es werden ein Planner (Planer), ein Generator (Erzeuger) und ein Evaluator (Bewertungsagent) eingeführt, die unterschiedliche Aufgaben übernehmen.
  • Kontext-Reset-Mechanismus: Um "Kontextangst" zu vermeiden, wird der Dialogverlauf direkt gelöscht und nur die strukturierten Ergebnisse beibehalten, um einem neuen Agenten ein "leeres Blatt" zu geben.

Das Wesen dieses Ansatzes besteht darin, "Harness stark und umfangreich zu gestalten". Sie glauben, dass ein ausreichend robustes Framework die komplexesten Aufgaben bewältigen kann.

Neuerdings hat Michael Bolin, der Leiter der OpenAI Codex-Open-Source-Entwicklung, in einem Interview ein Signal gesendet, das dem Ansatz von Anthropic, Harness stark und umfangreich zu gestalten, entgegengesetzt ist.

Dieses Gespräch drehte sich um das Thema: "In der Ära der künstlichen Intelligenz-Programmierung ist es letztendlich das 'große Modell selbst' oder das um das Modell herum aufgebaute Harness, das das Softwareentwicklungsparadigma wirklich verändert?"

Im Interview meinte Michael, dass Harness nicht unbegrenzt wachsen sollte.

Michael hat anhand des Konstruktionskonzepts von Codex einen wichtigen Trend erläutert, den sie beobachten: Im Idealfall sollte Harness "so klein wie möglich" sein, während das Modell "so stark wie möglich" sein sollte. Das Designkonzept von Codex besteht darin, die Anzahl der Tools zu reduzieren und übermäßige Eingriffe zu vermeiden, damit das Modell in einem Raum, der näher an der realen Rechenumgebung (z. B. Terminal) ist, autonom nach Lösungen suchen kann. Dieser "AGI-orientierte" Ansatz besteht im Wesentlichen darin, die Bindungen der künstlichen Intelligenz durch menschliche Regeln zu reduzieren und mehr Entscheidungsgewalt an das Modell selbst zurückzugeben. Michael hat jedoch auch erwähnt, dass bei diesem Prozess die Sicherheit (Security) und die Isolation (Sandboxing) unkompromissable Grundsätze sind und die unverzichtbare Kernaufgabe von Harness darstellen.

Das Konzept von Codex neigt eher dazu, "Harness dünn und leicht zu gestalten", was sich in folgenden Punkten zeigt:

Minimierung der Tool-Abhängigkeit: Es werden sogar bewusst spezielle Tools reduziert, und anstatt dessen wird dem Modell ermöglicht, direkt das allgemeine Terminal zu verwenden.

Umgebung statt Framework: Harness bietet nur die erforderliche Sandbox-Sicherheitsumgebung und die grundlegenden Schnittstellen und übernimmt keine übermäßige Prozesssteuerung.

Zurückführung der Fähigkeiten auf das Modell: Die Logik des Explorierens, Entscheidens und Ausführens wird so weit wie möglich an das Modell selbst übergeben, anstatt von einem externen Orchestrierungsframework fest codiert zu werden.

Dieser Ansatz befürchtet, dass ein zu komplexes Harness das Modell eher "dumm machen" oder einen hohen Engineering-Aufwand verursachen und die Iterationsgeschwindigkeit verlangsamen würde.

Die beiden Wege von OpenAI und Anthropic stellen den AI-Praktikern eine Frage, die sie unbedingt bedenken müssen: Ist Harness das Endziel der künstlichen Intelligenz-Programmierung oder ein schnell wachsender Zwischenzustand?

Die Antwort auf diese Frage bestimmt die zukünftige Produktform:

Wenn Harness das Endziel ist: Dann wird der zukünftige Wettbewerb ein "Framework-Kampf" sein. Wer das stärkste und am besten allgemein verwendbare Harness (wie das von Anthropic gezeigte Mehr-Agenten-Architektur) hat, wird den Entwicklungsprozess dominieren. Die künstliche Intelligenz-Programmierung wird sich zu "Systemengineering + künstliche Intelligenz" entwickeln.

Wenn Harness ein Zwischenzustand ist: Dann dienen die gegenwärtig komplexen Frameworks nur dazu, die Schwächen der aktuellen Modelle zu kompensieren. Mit dem exponentiellen Anstieg der Modellfähigkeiten (z. B. stärkere Gedächtnisleistung, längere Kontextlänge, bessere Inferenzfähigkeiten) werden diese komplexen externen Orchestrierungen schließlich vom Modell internalisiert. Dann wird Harness zu einer einfachen Laufzeitumgebung (Sandbox) zurückfallen, und die Kernkompetenz wird wieder auf die Fähigkeiten des Basismodells selbst zurückkehren.

Michael Bolin ist kein traditioneller "AI-Praktiker". Bevor er sich bei OpenAI engagierte, war er lange Zeit bei Google und Meta tätig, wo er an der Entwicklung von Entwicklertools und Infrastrukturen beteiligt war und an Projekten wie Buck, Nuclide und DotSlash leitend oder mitwirkend war.

Das Gespräch wurde von InfoQ übersetzt und zusammengestellt, mit leichten Kürzungen:

Über künstliche Intelligenz-Programmierung und Harness Engineering

Moderator: Wir freuen uns, heute Michael Bolin begrüßen zu können. Er ist der Leiter von Codex. Meistens wird angenommen, dass der Kern der künstlichen Intelligenz-Programmierung darin besteht, dass das Modell Code schreibt. Viele Teams, die an der Entwicklung von Agenten arbeiten, sind der Meinung, dass sich die echten Veränderungen in der Gestaltung der Umgebung um das Modell herum abspielen. Welche Ansicht stimmen Sie eher zu?

Michael: Das Modell wird natürlich die Gesamterfahrung bestimmen. Aber wir haben festgestellt, dass es immer noch viel Raum für Innovationen auf der Harness-Ebene gibt. Dies ist nicht nur ein Forschungsfrage. Für unser Team ist der Schlüssel die Zusammenarbeit zwischen Engineering und Forschung - die gemeinsame Entwicklung von Agenten und die Sicherstellung, dass Harness den Agenten die besten Fähigkeiten entfalten lässt. Gleichzeitig müssen wir dem Agenten die geeigneten Tools zur Verfügung stellen und sicherstellen, dass diese Tools, die der Agent verwendet, bereits während der Trainingsphase vom Modell "gesehen und geübt" wurden, damit das Modell bei der Verwendung dieser Tools in der realen Produktumgebung nicht "fremd" oder "fehlerhaft" reagiert.

Moderator: Lassen Sie uns Harness definieren und erklären, warum es so wichtig geworden ist.

Michael: Harness wird manchmal auch als Agenten-Zyklus (Agent loop) bezeichnet - es ist für den Aufruf des Modells, die Stichprobenahme und die Bereitstellung des Kontexts verantwortlich: Was ich tun möchte, welche Tools zur Verfügung stehen und was als nächstes zu tun ist. Dann gibt das Modell eine Antwort zurück - normalerweise ein Tool-Aufruf, wie "Ich möchte dieses Tool mit diesen Parametern aufrufen, bitte geben Sie mir das Ergebnis zurück".

Einige Tools sind einfach, wie das Ausführen einer ausführbaren Datei und das Zurückgeben von stdout und dem Exit-Code. Wir haben auch viele Experimente mit komplexeren Tools durchgeführt, wie die Steuerung eines Computers, die Steuerung des Notebooks des Benutzers, eher wie ein interaktives Terminal als ein einfacher Befehlsausführung. Es können auch Netzwerksearches und andere Aktionen durchgeführt werden.

Für Codex, da es ein Coding-Agent ist und wir sehr auf Sicherheit und Sandbox-Mechanismen achten, ist eine der Kernaufgaben von Harness, Shell-Befehle oder Computerbetriebsinstruktionen vom Modell zu erhalten und sicherzustellen, dass sie in einer Sandbox ausgeführt werden oder den vom Benutzer festgelegten Strategien folgen. Dies ist tatsächlich sehr komplex. Der Schlüssel besteht darin, die vollen Fähigkeiten des Modells freizusetzen und gleichzeitig die sichere Ausführung auf dem Benutzercomputer zu gewährleisten.

Moderator: Wie haben Sie die Sicherheitsprobleme bei der Open-Source-Veröffentlichung von Codex behandelt?

Michael: Alle diese Implementierungen können in unserem Code-Repository gefunden werden. Wir haben für verschiedene Betriebssysteme unterschiedliche Lösungen entwickelt: Auf macOS haben wir eine Technologie namens Seatbelt verwendet. Auf Linux haben wir eine Reihe von Bibliotheken eingesetzt - einschließlich Bubblewrap, seccomp und Landlock. Auf Windows haben wir tatsächlich unsere eigene Sandbox entwickelt. Einige Komponenten, wie Seatbelt, sind Teil von macOS und befinden sich daher nicht im Open-Source-Code-Repository - so nennen wir es. Aber unser Windows-Sandbox-Code ist im Open-Source-Code-Repository. Wir koordinieren alle diese Aufrufe, um sicherzustellen, dass sie auf geeignete Weise durch die Sandbox gehen, um verschiedenen Tool-Aufrufen gerecht zu werden.

Moderator: Bedeutet das, dass diese Sicherheitsregeln auch enthalten sind, wenn jemand Codex forkt?

Michael: Ja, aber hier muss man zwischen "Sicherheit" (security) und "Gesicherheit" (safety) unterscheiden. Was ich gerade gesagt habe, betrifft eher die Sicherheit, z. B. dass Sie Tools ausführen können, aber nur auf bestimmte Ordner zugreifen können. Was die Branche mit "Gesicherheit" meint, passiert eher im Backend - ob das Modell selbst geeignete Tool-Aufrufe vorschlägt. Vom Harness-Sichtpunkt aus gesehen, handelt es sich eher um die Ausführung von Befehlen, und welche Befehle sicher sind, wird vom Modell entschieden.

Wenn Sie also Codex forken und weiterhin unser Modell verwenden, übernehmen Sie auch diesen Teil der Sicherheit. Wenn Sie jedoch ein anderes Modell verwenden, ist dies nicht unbedingt der Fall.

Wie hat sich Codex entwickelt?

Moderator: Wie hat sich Codex seit seiner Veröffentlichung entwickelt?

Michael: Die Resonanz war sehr gut, und die Nutzung hat sich im Vergleich zum Jahresanfang etwa vervierfacht. Wir haben es im April 2025 als Teil der Veröffentlichung von o3 und o4 mini eingeführt. Damals war das Modell bei der Tool-Aufrufung und Befehlsausführung noch nicht ideal. Nach der Veröffentlichung von GPT-5 im August haben wir die CLI aktualisiert, was ein entscheidender Wendepunkt war. Danach haben wir das VS Code-Plugin eingeführt, und die Anzahl der Benutzer hat sehr schnell zugenommen, sogar mehr als bei der CLI. Später wurde Anfang dieses Jahres die App veröffentlicht, die ebenfalls schnell populär wurde. Ich denke, es ist in vielerlei Hinsicht wirklich bahnbrechend.

Moderator: Was sind nach Ihrer Meinung die Innovationspunkte dieser App?

Michael: Entwickler verbringen in der Regel den größten Teil ihrer Zeit in der integrierten Entwicklungsumgebung (IDE). Dies sind offensichtliche und logische Wahlmöglichkeiten.

Entwickler arbeiten normalerweise in der IDE, daher war es ganz natürlich, dass wir in VS Code, JetBrains und Xcode eingestiegen sind. Mit der Codex-App haben wir tatsächlich eine neue Benutzeroberfläche geschaffen. Ich sehe es als "Aufgabensteuerungszentrum", das mehrere Dialoge gleichzeitig verwalten kann. Gleichzeitig behält es die Kernfunktionen der IDE bei, wie das Anzeigen von Diffs und das Öffnen des Terminals mit der Tastenkombination Command-J, ohne in ein anderes Fenster wechseln zu müssen. Es bricht wirklich mit der festen Vorstellung, dass man immer alle Codes im Blick haben muss. Für viele Menschen ist es wertvoller, mehrere Agenten gleichzeitig zu organisieren und zusammenzuarbeiten. Dies ist das Kernziel, das wir erreichen möchten.

Wie verändert ein Coding-Agent den Arbeitsablauf von Entwicklern?

Moderator: Wie wird ein Coding-Agent wie Codex den täglichen Arbeitsablauf von Entwicklern verändern?

Michael: Die größte Veränderung ist die Durchsatzleistung