Zum Inhalt springen
Chandler Nguyen
KI8 Min. Lesezeit

Mein Mac ist gestorben. Ich habe ihn mit Chrome und DeepSeek wieder aufgebaut.

Mein Mac ist gestorben, also habe ich die Platte gelöscht und mit nichts als Chrome und einem einzigen Agenten-Harness neu angefangen. Die Maschine hat jetzt rund 60 GB mehr freien Speicher als vorher, und ich habe aufgehört, in Anwendungen zu denken.

Mein Mac mini ist gestorben. Nicht dramatisch — er hörte einfach auf, eine Maschine zu sein, der ich vertrauen konnte, und das Vernünftigste war, die Platte zu löschen und alles neu zu installieren.

Diesen Tanz habe ich schon oft getanzt. Das Ritual ändert sich nie: Betriebssystem neu installieren, dann einen Abend damit verbringen, alles wieder zu installieren. Homebrew. Node. Python. Ein Dutzend Kommandozeilen-Tools, von denen du nicht mehr weißt, dass du sie je installiert hast. Und drei Wochen später entdeckst du das eine, das du vergessen hast, weil etwas, das vorher funktioniert hat, es nicht mehr tut.

Diesmal habe ich etwas anderes versucht.

Ich habe Chrome installiert und dann im Terminal einen einzigen Befehl ausgeführt, um das Harness selbst zu installieren. Das war die ganze Liste. Den Rest habe ich es einrichten lassen.

Chrome ist in dieser Geschichte keine Dekoration. Es ist die einzige GUI-Anwendung, die ich wirklich will, und es ist zugleich der Browser, den der Agent steuert, wenn eine Aufgabe einen braucht. Die Browser-Tools stehen in der Harness-Konfiguration wie alles andere und werden nicht von Hand installiert.

Das Harness ist der Teil, den ich ignoriert hatte

In den letzten zwei Jahren habe ich bei KI-Coding-Tools vor allem an das Modell gedacht. Welches Modell ist am klügsten, welches am günstigsten, welches schreibt besseren Frontend-Code. Wegen dieser Frage habe ich Abos gekündigt und mehr als einmal darüber geschrieben.

Was ich unterschätzt hatte, ist das Harness — das Ding, das tatsächlich zwischen mir und der Maschine sitzt. Das Modell liefert die Intelligenz. Das Harness liefert die Hände, die Erinnerung daran, wie ich arbeite, und die Schnittstelle.

Bei diesem Neuaufbau war OpenCode das Harness und DeepSeek V4.1 Flash das Modell. Aber ich glaube inzwischen nicht mehr, dass eine der beiden Ebenen auf eine einzige Wahl festgelegt sein sollte, denn die beiden werden nach völlig unterschiedlichen Kriterien gewählt.

Modelle wähle ich nach vier Dingen aus: wie intelligent es ist, wie schnell es generiert (Tokens pro Sekunde, was ich viel stärker spüre, als ich erwartet hätte), was es kostet und was mit den Daten passiert, die ich ihm schicke.

Kosten sind mehr als der Listenpreis, denn der Listenpreis ist nicht das, was du zahlst. Die Zahl, auf die es ankommt, ist die Cache-Trefferrate. Wenn das Harness einen stabilen Kontext halten kann, kommt der größte Teil des Inputs aus dem Cache und die Rechnung fällt zusammen — meine DeepSeek-Cache-Trefferrate liegt routinemäßig über 99 %. Zwei Modelle zum selben Preis pro Token können sich enorm darin unterscheiden, was du tatsächlich ausgibst, je nachdem, ob dein Harness einen Cache halten kann.

Deshalb lasse ich auch nicht mehr alles über ein einziges Modell laufen. Verschiedene Aufgaben passen zu verschiedenen Modellen, und ein kostenloses ist für eine mechanische Arbeit oft gut genug — dafür ein Frontier-Modell einzusetzen, ist schlicht Verschwendung.

Harnesses wähle ich nach Vorliebe. Schnittstelle und Gewohnheit. Ich nutze OpenCode, weil meine Gewohnheiten dort leben, und ich betreibe DeepSeeks eigenes Harness daneben, weil ich gern in beiden arbeite. Auf der Arbeit nutze ich wieder ein anderes — Antigravity CLI mit Gemini 4 Argon oder 3.8 Flash — weil diese Arbeit anders geformt ist: Ich gebe ihm einen Plan, und es arbeitet ihn stundenlang ab.

Kein Benchmark entscheidet das, so wie einer ein Modell entscheidet. Du musst wissen, was du brauchst, und danach auswählen.

Ich habe im August über den Wechsel zu einem einzigen Modell und einem einzigen Harness geschrieben, ohne das zu benennen, was sich für mich tatsächlich verändert hat. Dieser Beitrag endete mit dem Hinweis, dass ich Flash künftig mehr nutzen würde, weil es bei diesem Preis keinen Grund dagegen gab. Das hier ist das Ergebnis, mit einer Korrektur: ein einziger war der falsche Instinkt.

Diese Unterscheidung klingt akademisch, bis man mit ihr einen Computer neu aufbaut. Dann hört sie sehr schnell auf, akademisch zu sein. Ein Harness, das Befehle ausführen, Dateien lesen und schreiben, Pakete installieren und versuchen kann, die eigene Arbeit zu prüfen, ist keine Autocomplete-Box. Es ist eher eine Betriebsschicht — und wenn man einmal eine hat, wird die Liste der Dinge, die man selbst installiert, sehr kurz.

Der Workflow, Schritt für Schritt

Das Muster war jedes Mal dasselbe, und so habe ich früher nicht gearbeitet:

  1. Beschreibe das Ergebnis, nicht die Schritte. Nicht „hier ist der brew-Befehl", sondern „ich muss diese Art von Skript lokal ausführen können — richte das ein."
  2. Lass den Agenten installieren und konfigurieren, inklusive der Reparatur dessen, was er gerade kaputt gemacht hat.
  3. Verifizieren — dieser Teil bleibt meiner. Der Agent kann dir genau zeigen, was er ausgeführt hat, und genau das macht das Verifizieren günstig.
  4. Wenn ich etwas nicht verifizieren kann, mache ich es selbst. Dienstschlüssel und SSH-Zugangsdaten sind die zwei Dinge, die ich von Hand angelegt und nicht aus der Hand gegeben habe.
  5. Lies, was er tatsächlich getan hat — und rechne irgendwann mit einer plausiblen falschen Antwort. Nicht jede Zeile — genug, um zu wissen, was sich auf meiner Maschine verändert hat, und genug, um die eine Änderung zu bemerken, die richtig aussieht und es nicht ist.

Der Unterschied zu meinen alten Neuaufbauten lässt sich leichter zeigen als beschreiben:

Meine alten NeuaufbautenDieser hier
Von Hand installiertDas Betriebssystem, dann ein Abend mit Homebrew, Node, Python und einem Dutzend CLI-ToolsChrome, plus ein Befehl für das Harness
Alles andereIch, über einen Abend verteiltDer Agent, auf Anfrage
Wo der Zustand lebtLokale Dienste, Runtimes, Container-ImagesEine Konfigurationsdatei und eine Verbindung, die ich einmal autorisiert habe
Was sich ansammeltEine Ablagerung aus jedem ExperimentNichts, was „nur für den Fall" installiert wird

Zwei Dinge machen das möglich. Erstens behält ein Harness seine Konfiguration in Dateien, die ich lesen und bearbeiten kann — ich sehe genau, was verdrahtet ist, und kann es ändern. Zweitens ist eine wachsende Zahl meiner MCP-Server remote. Supabase, Resend und Vercel sind URLs, die ich einmal autorisiert habe, keine Dienste auf meiner Festplatte. Die lokalen laufen bei Bedarf über npx, sie sind also erst in dem Moment installiert, in dem ich sie nutze.

Auf meiner Maschine liefen früher Dienste. Jetzt liegen dort eine Konfigurationsdatei und ein Token, und die Dienste leben woanders.

Die Festplatte blieb leer

Ich hatte nicht vor, das zu vermessen, also behandle es als Beobachtung und nicht als Messung. Aber die Zahl lässt sich schwer ignorieren: Verglichen mit meinem alten Setup habe ich jetzt auf derselben Maschine rund 60 GB mehr freien Speicherplatz.

Bei einer Maschine mit fest verlöteter SSD ist das kein Rundungsfehler. Speicher ist eines der wenigen Dinge, die man bei einem modernen Mac später nicht aufrüsten kann, und er ist entsprechend bepreist. Sechzig Gigabyte zurück sind ein ordentlicher Anteil dessen, was die nächsthöhere Stufe gekostet hätte.

Wohin das gegangen ist, lässt sich leichter erklären als beweisen. Einige Tools laufen jetzt bei Bedarf, statt dauerhaft auf der Festplatte zu liegen, und die Gewohnheit, Dinge im Voraus zu installieren, ist verblasst, weil es billig ist, sie später anzufordern.

Von anwendungsförmig zu absichtsförmig

Hier ist der Wandel, und ich arbeite noch heraus, wie weit er reicht.

Der größte Teil meines Computerlebens war anwendungsförmig. Ich will etwas tun, also suche ich die Anwendung, die das tut, installiere sie, lerne ihre Oberfläche und lebe in ihrer Weltsicht. Die Anwendung ist die Einheit der Arbeit.

So zu arbeiten ist absichtsförmig. Ich beschreibe, was ich brauche. Etwas, das auf der Maschine handeln kann, findet heraus, welche Teile nötig sind, richtet sie ein und erledigt es. Die Anwendung wird zum Implementierungsdetail, und manchmal zu einem, das ich nie bewusst installiere.

Es ist eine größere Veränderung als „die KI schreibt meinen Code". Programmieren war nie mein Engpass; der Engpass war die Distanz zwischen etwas zu wollen und es zu haben. Diese Distanz ist jetzt viel kürzer.

Deshalb sage ich auch weiterhin halb im Scherz, dass ich am Ende vielleicht bei Linux lande. Der Grund, warum ich jahrelang bei macOS geblieben bin, war nie das Betriebssystem — es war das angesammelte Setup, das ich hätte neu aufbauen müssen. Wenn deine Umgebung überwiegend aus einer Konfigurationsdatei und einem fähigen Agenten besteht, zählt die Plattform darunter weniger als früher. Ich wechsle diese Woche nicht. Ich bin nur nicht mehr sicher, was mich davon abhalten würde.

Ich muss zugeben, dass ich das nicht habe kommen sehen. Hätte man mir vor fünf Jahren gesagt, dass ein frischer Mac plus ein Browser plus ein Agent reichen, um wieder arbeitsfähig zu sein, hätte ich angenommen, du würdest eine Demo beschreiben und nicht einen ruhigen Dienstagabend.

Was ich nicht behaupte

Ein paar ehrliche Vorbehalte, weil ich genug Begeisterung darüber gelesen habe, um meiner eigenen zu misstrauen.

  • Das Harness ist jetzt der Lock-in. Die Modellwahl lässt sich immer leichter ändern, aber meine Gewohnheiten, meine Konfiguration und mein Workflow leben im Harness. Das ist eine echte Abhängigkeit, und ich beobachte sie.
  • „Es hat alles installiert" ist nicht dasselbe wie „ich verstehe meine Maschine". Ich kenne mein Setup weniger gut als damals, als ich es von Hand zusammengebaut habe. Es ist ein echter Preis, und genau deshalb gibt es Schritt fünf oben.
  • Das ist nicht kostenlos. Etwa $60 in den letzten 30 Tagen, und diese Zahl umfasst nicht nur mein Programmieren — sie deckt die DeepSeek-API hinter einigen meiner Produkte in Produktion ab. Zum Vergleich: Dieselbe Gewohnheit kostete mich vor einem Jahr rund $200 im Monat. (Diesen Wandel habe ich im August beschrieben.)

Häufig gestellte Fragen

Was ist ein Harness beim KI-gestützten Programmieren?

Ein Harness ist das Programm, das ein Modell mit einer echten Umgebung verbindet. Das Modell denkt; das Harness gibt ihm Werkzeuge — Befehle ausführen, Dateien lesen und schreiben, externe Dienste aufrufen — und verwaltet die Konversation und die Berechtigungen dazu. OpenCode ist bewusst modellagnostisch, weshalb ich darunter die Modelle wechseln konnte, ohne etwas anderes zu ändern. Claude Code und Codex sind ebenfalls Harnesses, allerdings ist jedes um die Modelle des eigenen Anbieters herum gebaut. Meine Faustregel: Wähle ein Modell nach Fähigkeit, Geschwindigkeit, Kosten und Umgang mit Daten; wähle ein Harness danach, ob du tatsächlich gern darin arbeitest.

Kann man einen neuen Computer wirklich nur mit einem Browser und einem KI-Agenten einrichten?

Für mein Setup — einen Entwickler, der hauptsächlich im Terminal und im Browser arbeitet — weitgehend ja, und mit einem Befehl, nicht mit null. Du brauchst einen Browser, um das Modell und das Internet zu erreichen, und einen Weg, das Harness selbst zu installieren. Und du musst bereit sein zu verifizieren, was der Agent getan hat. Für die Maschine einer Designerin oder eines Buchhalters würde ich das nicht annehmen.

Warum braucht dieses Setup so viel weniger Speicherplatz?

Rund 60 GB weniger als mein altes Setup, aus drei Gründen. Einige Dienste laufen jetzt remote und werden über eine URL erreicht, statt lokal installiert zu sein. Einige Tools laufen bei Bedarf, statt dauerhaft auf der Festplatte zu liegen. Und die Gewohnheit, Dinge „nur für den Fall" vorzuinstallieren, verschwindet, wenn es billig ist, sie später anzufordern.


Immer noch überrascht, dass aus „installier Chrome und schau, was passiert" ein funktionierender Computer geworden ist.

Cheers, Chandler :P