Blog

Notizen zum Harness, zu den Modellen darunter und dazu, was sich ändert, wenn ein neues erscheint.

Memory-Sync ohne „Last Write Wins“

Zwei Rechner, ein Satz Notizen, einer davon bearbeitet, während der andere schlief. Jedes Sync-System beantwortet das, und die meisten mit einem Zeitstempelvergleich, der stillschweigend eine Seite verwirft. Für einen Entwurf, den man neu tippen kann, ist das in Ordnung. Nicht in Ordnung ist es für die Datei, die ein Agent vor jeder Runde liest, denn was dabei verworfen wird, ist die Zeile, die Sie geschrieben haben, damit etwas nicht noch einmal passiert.

Modell-IDs gehören nicht in TypeScript

Eine Modell-ID ist die sich am schnellsten ändernde Tatsache in diesem ganzen System. Anbieter benennen sie um, stellen sie ein, liefern eine datierte Variante, ändern still, worauf der undatierte Alias zeigt, und machen die Hälfte davon davon abhängig, welches Konto fragt. Kompiliert man das in ein Paket, ist garantiert, dass das Paket binnen Wochen falsch ist – nicht auf offensichtliche Weise kaputt, was wenigstens einen Bug-Report ergäbe, sondern auf genau die Weise falsch, bei der eine Auswahlliste jemandem ein Modell anbietet, das sein Schlüssel nicht aufrufen darf.

Eine Deny-Regel ist die einzige echte Grenze

Alles andere, was ein Agent-Harness als Berechtigung bezeichnet, ist eine Abwägung von Kosten. Das sollte man klar sagen, weil die Oberfläche es nicht tut: eine Freigabe-Rückfrage, ein Modus namens Auto und eine Einstellung für beschreibbare Wurzelverzeichnisse sehen alle gleichartig aus, und nur eines davon ist eine Linie, die das System in jedem Fall hält.

Modellwechsel mitten in der Sitzung kostet nichts

Und das ist eine Designentscheidung, kein Feature. Die meisten Agent-Tools werden gegen einen Anbieter geschrieben und erst danach an andere angepasst. Die Reihenfolge klingt nach einem Implementierungsdetail. Sie ist der Kern der Sache.