Ich habe meiner KI einen Aufseher gegeben. Sie hat eine Bürokratie gebaut.

Zwei identische Schreiber an einem langen Tresen reichen ein einzelnes Blatt Papier hin und her, an einem Ende türmen sich Akten, hinter ihnen wartet neben der Tür eine unberührte Ablage, in flachen editorialen Formen.
Illustration mit KI erzeugt (Flux 1.1 Pro).

Seit ungefähr drei Monaten lasse ich zwei KIs absichtlich gegeneinander laufen.

Zuerst der Aufbau, weil sonst nichts davon Sinn ergibt. Ich bin eine Person mit rund einem Dutzend Softwareprodukten. Fast der gesamte Code kommt von Claude Code, eine Sitzung pro Projekt, jedes Projekt ein Ordner auf einem Mac Studio. Vor drei Monaten kam eine zweite KI dazu: ein Projekt in der Claude-Desktop-App, dessen einzige Aufgabe es war, der ersten über die Schulter zu schauen. Sie durfte alles lesen und nichts ändern. Ich nannte sie den Aufseher. Genau das war der ganze Fehler, aber ich greife vor.

Es hat funktioniert, und das will ich fair sagen, weil der Rest dieses Textes klingen wird, als hätte es das nicht. Ein Aufseher fängt das, was ein Bauer strukturell nicht fangen kann: die dumme Frage von außen. Ist das, was du gerade beschrieben hast, tatsächlich auf der Maschine, oder existiert es nur in deiner Beschreibung davon? Diese Frage hat mir ein paar schlechte Nächte erspart.

Dann, über ein paar Wochen, fingen die beiden an, sich in ihrer Gesellschaft ausgesprochen wohlzufühlen.

Das Gefecht, das niemand erklärt hat

Es gab nie einen Streit. Hätte es einen Streit gegeben, wäre es mir in einer Woche aufgefallen. Was passierte, war schlimmer und viel schwerer zu sehen: sie waren sich einig. Sie waren sich begeistert einig, ausführlich, in immer feineren Abstufungen, über immer kleinere Dinge.

Die eine lieferte ein Stück Arbeit. Die andere brachte einen Einwand. Der Einwand war meistens richtig, und genau das machte es so schwer, damit aufzuhören. Die erste antwortete, sorgfältig, und bemerkte beim Antworten eine zweite, kleinere Sache, die ihre eigene sorgfältige Antwort verdiente. Irgendwo in der dritten Runde untersuchten beide die Methode, mit der die Prüfung durchgeführt worden war. Nicht die Arbeit. Die Prüfung.

Niemand stritt. Beide waren gründlich, in dieselbe Richtung, mit echten Argumenten, und das Projekt stand still.

Ich habe es nur bemerkt, weil ich irgendwann direkt gefragt habe, und zwar auf die denkbar unfreundlichste Weise: ist diese Zusammenarbeit eigentlich produktiv, oder hackt ihr zwei aufeinander herum? Dann bat ich um eine ehrliche Antwort, was man von einer KI zu verlangen leicht absurd ist, aber diesmal kamen Zahlen zurück.

Der Tag, an dem ich gezählt habe

Fünf Einwände an diesem Nachmittag. Einer hatte das Ergebnis verändert. Nicht „einer war richtig”: vier davon waren richtig. Einer hätte zu einem anderen Ergebnis geführt, wäre er nie erhoben worden. Die anderen vier waren wahr, gut begründet und hätten nichts geändert.

Dieses Verhältnis war nicht einmal der unangenehme Teil. Der unangenehme Teil kam danach: der Bauer hatte an diesem Tag zwei eigene Fehler gemacht. Beide beim Prüfen, keinen beim Bauen. Er hatte eine Prüfung als bestanden gemeldet, obwohl ihr zentraler Schritt still fehlgeschlagen war. Er hatte das falsche Feld aus einer Tabelle gelesen und daraus eine selbstbewusste Schlussfolgerung gezogen. Die eigentliche Arbeit, die mehrere Millionen Zeilen einer Datenbank bewegte, ging ohne einen Kratzer durch.

Wenn deine Qualitätskontrolle mehr Fehler produziert als das, was sie kontrolliert, ist deine Qualitätskontrolle das größte bewegliche Teil der Maschine geworden.

Dann habe ich mir den Papierkram angesehen, und es war eine Menge Papierkram.

Das Statusdokument des Projekts hatte einen Kopf von 668 Zeilen. Einen Kopf. Der Teil ganz oben, der maschinenlesbar sein soll, sechs oder acht kurze Felder, Name, Zustand, nächster Schritt. 505 dieser 668 Zeilen waren Prosa. Aufsätze, mit Überschriften wie „Gegenhypothese”, mitten im Kopf. Und das schönste Detail, das mir bis heute nachgeht: er hat nicht geparst. Er hat nie geparst. Er gab wochenlang vor, ein maschinenlesbares Format zu sein, während jedes Skript, das ihn las, in Wahrheit leise per Textsuche arbeitete. Niemand las diese 505 Zeilen. Sie waren für ein Publikum geschrieben, das es nicht gab.

Der Rest der Bestandsaufnahme lag in derselben Tonart. 54 Dokumente in diesem Projekt. Vier davon waren an diesem Tag geöffnet worden. Dreizehn von zweiundzwanzig Projekten trugen ein Briefing-Dokument, das seit dem Tag seiner Einführung nicht mehr angefasst worden war, während genau diese Projekte weitere drei Wochen lang Code committeten. Ein einzelner Logeintrag über einen einzigen Vorgang kam auf rund sechstausend Zeichen, bequem länger als der Code, den er beschrieb. Und im Ordner mit den Dokumenten darüber, wie die beiden KIs zusammenarbeiten sollen, stand ein Abschnitt, dessen gesamter Inhalt die Erklärung war, warum dieser Abschnitt vorher zweimal darin gestanden hatte.

Über den habe ich eine Weile gelacht. Es ist das Reinste, was ich je gebaut habe.

Niemand wurde dafür bezahlt, „es reicht” zu sagen

Hier höre ich auf, den Maschinen die Schuld zu geben, denn sie haben sich vollkommen rational verhalten.

Beide werden für Gründlichkeit belohnt. Nicht von mir ausdrücklich, sondern durch alles daran, wie sie aufgesetzt und wie sie trainiert sind. Finde das Problem. Prüfe die Annahme. Sei sorgfältig. Beide taten genau das, und sie taten es in dieselbe Richtung, weshalb es nie nach Konflikt aussah und sich nie von selbst korrigierte.

Hätten sie gegeneinander gezogen, hätte die Reibung das Ganze gebremst. Zwei Kräfte, die in dieselbe Richtung zeigen, haben überhaupt keine Bremse.

Es gab genau eine Bremse im ganzen System, und das war ich, wenn ich müde wurde, Text zwischen zwei Fenstern hin- und herzukopieren. Das ist eine schlechte Bremse. Sie hängt an nichts Wirklichem. Sie funktioniert besser, wenn ich geschlafen habe, und schlechter, wenn nicht, und sie hat keine Ahnung, ob das Besprochene wichtig ist.

Aber es gab eine zweite Ursache, und ich habe sie erst gesehen, als der Aufseher sie mir nüchtern hinlegte, in seinem mit Abstand besten Beitrag in drei Monaten.

Dieses eine Projekt hat keine Nutzer, keinen Umsatz und keine Frist. Es ist ein Archiv, das korrekt sein muss, und Korrektheit ist tatsächlich das Produkt. Das heißt: „korrekt” ist die einzige Größe im ganzen System, die sich messen lässt. Und ein System optimiert das, was es messen kann. Zwei Agenten, die für Sorgfalt belohnt werden, in einem Projekt, in dem Sorgfalt die einzige messbare Dimension ist, produzieren einen Kontrollapparat, der größer ist als das Kontrollierte. Das ist kein Fehler in einem der beiden. Das ist Arithmetik.

Keine noch so gute Verdrahtung zwischen den beiden repariert das. Man muss dem System etwas anderes zu wollen geben.

Die Rollenbeschreibung war der Fehler

Ich habe also zwei Dinge geändert, und keines davon war technisch.

Erstens: Der Aufseher ist kein Aufseher mehr. Er ist ein Gegenleser mit Abschlussauftrag. Der Begriff klingt im Englischen wie aus dem Deutschen übersetzt, weil er das ist, und ich behalte ihn, weil jedes Wort darin trägt.

Wer beaufsichtigt, sucht Fehler. Und Fehler findet man immer. Es gibt kein Stück Arbeit, zu dem sich nichts mehr sagen ließe. Eine Rolle, die als „finde, was falsch ist” definiert ist, hat also keinen natürlichen Endpunkt und dehnt sich aus, bis etwas von außen sie stoppt. Sie zweiter Entwickler zu nennen wäre schlimmer: dann treten sich zwei auf demselben Code gegenseitig auf die Füße.

Ein Gegenleser mit Abschlussauftrag beantwortet eine andere Frage. Nicht „was ist daran falsch”, sondern: würdest du das so abschließen, und wenn nein, was ist der eine Punkt, der dagegen spricht?

Das eine ist der ganze Trick. Die Rolle zielt jetzt auf Fertigwerden statt auf Vollständigkeit, und sie kann ihren Einwand nur für das ausgeben, was sie selbst für das Wichtigste hält. Alles andere, was ihr auffällt, wird gesammelt und nicht geschickt.

Darum herum drei Regeln, alle aus den Fehlern oben gestohlen:

Jeder Einwand braucht den Satz „wenn ich recht habe, ändert sich am Ergebnis Folgendes”. Lässt sich der Satz nicht schreiben, ist die Beobachtung wahr, aber müßig, und sie geht nicht raus. Diese eine Regel hätte vier der fünf Einwände jenes Nachmittags entfernt.

Zwei Runden, dann ist Schluss. Nach der zweiten Runde entscheidet der Bauer und schreibt auf, warum. Denn ich hatte gerade die einzige Bremse im System entfernt (meine eigene Ungeduld), und eine Bremse auszubauen, ohne eine andere einzubauen, ist die Art, wie man aus einem teuren Problem ein billiges macht, was heißt: ein viel größeres.

Und: keine Prüfung einer Prüfung. An jenem Nachmittag haben wir drei Runden damit verbracht festzustellen, ob eine Prüfregel korrekt formuliert war, für ein Objekt, das es noch gar nicht gab.

Die zweite Änderung ist die, auf die es wirklich ankommt. Das Projekt hat ein Ziel von außen bekommen: aufeinanderfolgende Tage Betrieb ohne menschlichen Eingriff. Jeder Eingriff setzt den Zähler auf null, auch ein gut gemeinter, auch ein schönes Refactoring, auch eine clevere Verbesserung am Prüfen. Es ist die erste Zahl in diesem Projekt, die Herumbasteln bestraft statt belohnt.

Die erste Runde unter den neuen Regeln

Ich würde nichts davon schreiben, hätte sich die neue Anordnung nicht sofort bewährt, und zwar auf eine Art, die mir nicht gefallen hat.

Ich habe einen Plan verlangt, um das alles auszurollen. Der Bauer schrieb einen guten: das gesamte Dokumentationsregime umbauen, die neue Rolle in allen zweiundzwanzig Projekten einrichten, eine solide Woche Arbeit. Ich habe ihn dem Gegenleser geschickt, in seiner neuen Rolle, mit der neuen Frage.

Zurück kam: ja, ich würde das abschließen, mit einer Änderung. Dann:

Du baust zweiundzwanzig Projekte um, bevor das Modell ein einziges Mal gelaufen ist. Der Plan, den Wildwuchs zu stoppen, beginnt mit dem größten Bauvorhaben der Woche. Das ist dieselbe Bewegung, nur grün angestrichen.

Und dann der Satz, der die Diskussion beendet hat:

Ein Plan für zweiundzwanzig Projekte ergibt heute Nacht ein Planungsdokument. Ein Ordner und ein Durchlauf ergeben eine Antwort.

Er hatte recht. Wir haben einen Ordner gebaut, eine echte Runde gefahren, und der Rest wartet, bis es etwas auszurollen gibt, das einmal tatsächlich funktioniert hat.

Nebenbei hat er auch meine neue Kennzahl korrigiert, auf die ich ziemlich stolz gewesen war. „Tage ohne Eingriff” misst die Abwesenheit von Tätigkeit, nicht die Anwesenheit von Funktion. Wenn das System still kaputtgeht und niemand hinsieht, zählt der Zähler fröhlich weiter, und die Kennzahl belohnt am Ende genau das Wegsehen. Es muss heißen: Tage ohne Eingriff an einem grünen Tag. Ein kaputter Tag setzt auf null, auch wenn niemand etwas angefasst hat.

Zwei Einwände, beide haben das Ergebnis verändert, beide darüber, wie gemessen wird, und nicht darüber, wie gebaut wird. Gegenüber einem von fünf, aus einer Rolle mit exakt denselben Informationen und einer anderen Berufsbezeichnung.

Der Teil, bei dem ich mir nicht sicher bin

Hier ist der Gedanke, den ich nicht ganz weglegen kann, und ich sage gleich dazu, dass ich ein Solo-Entwickler in Madrid bin, das Folgende also eine Vermutung ist und keine Theorie. Was ich aus Versehen gebaut habe, war eine Kontrollstruktur ohne Abschlussauftrag. Sorgfältig, korrekt, gut begründet und unfähig, fertig zu werden. Das ist die Karikatur eines Gremiums, und ich habe sie in acht Wochen zusammengesetzt, ohne es zu wollen, aus zwei Beteiligten, die sich in allem einig waren.

Was mich fragen lässt, ob die Langsamkeit, die wir der Aufsicht anlasten, der Aufsicht überhaupt eigen ist, oder ob sie nur eine schlecht beschriebene Rolle ist. Meine zwei KIs brauchten nicht weniger Prüfung. Sie brauchten eine Prüfung, die auf Abschluss zielt statt auf Vollständigkeit, die einen Einwand pro Runde zulässt, die sagen muss, was sich ändert, wenn sie recht hat, und die nach zwei Runden hart endet. Das ist nicht weniger streng. Wenn überhaupt, nimmt es den Einwand ernster, weil er seinen einen Schuss auf das verwenden muss, worauf es wirklich ankommt.

Der naheliegende Gegeneinwand, und ich halte ihn für gut: meine beiden Agenten wollten dasselbe. Setz Leute mit tatsächlich gegenläufigen Interessen in den Raum, und eine Regel wie „ein Einwand pro Runde” wird zum Geschenk an den, der den Hammer hält. Ein Abschlussauftrag in den falschen Händen ist nur ein höflicheres Wort dafür, die Debatte abzuwürgen. Was auch immer die Anordnung in meinem Terminal funktionieren lässt, es ist vermutlich der Teil, in dem niemand gewinnen will.

Ich werde also nicht so tun, als ließe sich das verallgemeinern. Was ich gefunden habe, ist etwas über Benennung. Ich habe drei Monate lang geglaubt, ich hätte ein Koordinationsproblem zwischen zwei Systemen, und die Lösung war kein besserer Kanal zwischen ihnen, kein schnellerer und kein klugerer. Die Lösung war zu ändern, wofür eines der beiden da ist.

Die Rolle, die ich geschrieben hatte, hieß „finde, was falsch ist”. Es ist immer etwas falsch. Diese Aufgabe endet nie, und jedes System, das sie ohne Abbruchbedingung vergibt, wird irgendwann seine gesamte Zeit damit verbringen und sich den ganzen Weg nach unten fleißig vorkommen.

Wer zwei KIs gegeneinander laufen lässt, oder zwei Menschen, oder ein Team und ein Prüfgremium, dem würde ich zuerst nicht die Frage stellen, ob die Aufsicht gut ist. Sondern ob irgendjemand in der Anordnung dafür belohnt wird zu sagen: es reicht, raus damit.

Bei mir war das niemand. Dafür habe ich drei Monate und 668 Kopfzeilen gebraucht.

← Alle Artikel