Artikel

Forschung mit Originaldaten, technische Untersuchungen, Engineering-Notizen und Build-Logs aus Systemen, die ich baue oder untersuche.

Deine Agent-Konfiguration ist jetzt Infrastruktur

Dev

Sobald du ein paar Agents betreibst, hören ihre Definitionen auf, Konfiguration zu sein, die du bearbeitest, und werden zu Infrastruktur. Das Problem mit Infrastruktur ist: Sobald du sie nicht mehr im Kopf behalten kannst, driften ihr deklarierter Zustand und ihr laufender Zustand von selbst auseinander, und nichts meldet es. Die Lösung ist die Disziplin, die wir bei Servern gelernt haben: Deklariere die Menge als Dateien, vergleiche sie mit der Realität, halte fest, was du angewandt hast, und verweigere das Anwenden über eine hinter deinem Rücken passierte Änderung hinweg, statt einfach darüber hinweg zu konvergieren. Mit einem Haken, der leicht zu übersehen ist. Ein Reconciler erfasst immer nur das, was du zu deklarieren daran gedacht hast.

Der Connector ist ein nicht vertrauenswürdiger Autor

Dev

Wer einen Span geschrieben hat, ist eine Tatsache, die der Harness schon hält. Ob dieser Span sicher zu befolgen ist, ist es nicht. Die Lösung ist also kein clevererer Leser: Es geht darum, dem Tool und dem Peer den Rang des fremden Dings zu geben, das sie sind, statt den Rang der Leitung, durch die sie ankamen.

Der Agent greift zum Werkzeug, das er lesen kann

Dev

Du optimierst ein Werkzeug danach, was es kann. Ein Agent wählt ein Werkzeug danach, ob er das Ergebnis vorhersagen und die Antwort lesen kann, wenn sie leer zurückkommt. Das sind verschiedene Eigenschaften, und der Abstand zwischen ihnen ist der Grund, warum gerade das mächtigere Werkzeug so oft unangetastet bleibt.

Ein Exit ist kein Urteil

Dev

Ein Monitor, der auf die Abwesenheit eines Prozesses hin alarmiert, beantwortet eine Frage, deren Antwort du längst siehst. Ob ein Job weg ist, lässt sich billig feststellen und ist fast nie das, worauf es ankommt. Ob er fehlgeschlagen ist oder absichtlich beendet wurde, durch ein Deploy, einen Neustart, einen Operator, das ist es, woran ein Alarm hängt, und ein bloßer Exit trägt davon nur einen Bruchteil.

Ein Modell ist eine Abhängigkeit, die nicht stillhält

Dev

Eine gepinnte Software-Bibliothek ist ein Artefakt, das du inspizieren und erneut ausführen kannst: Wenn sich die Ausgabe geändert hat und du nichts geändert hast, dann hat sich etwas Lesbares geändert, und du kannst herausfinden, was. Ein Modell durchbricht das. Es verschiebt sich hinter einem unveränderten Namen, verliert ohne Vorwarnung Kapazität und driftet in seiner Disposition, also kommt eine Regression ohne Ursache, auf die du zeigen kannst, und du verschwendest eine Woche damit, deinen eigenen Prompt zu beschuldigen. Behandle es als eine Abhängigkeit, die du misst, nicht als ein Fundament, dem du vertraust: Pinne die Version, damit dir der Moment gehört, in dem sie sich ändert, und lege vorab ein kleines Set billiger Metriken fest, damit du die Drift des Anbieters von deiner eigenen unterscheiden kannst.

Dein Freigabe-Gate ist jetzt eine Vermutung

Dev

Eine Sicherheitsgrenze wird an der einen Aktion gemessen, die gebaut wurde, um sie zu überschreiten, und genau dort ist ein Modell, das nach Ähnlichkeit urteilt, am schwächsten. Die unbeaufsichtigte Freigabe gehört an die Reichweite, die der Harness selbst vergibt, den Schreibbereich, das Netzwerk, das Credential, und verweigert, was sie nicht verantworten kann. Vertrau dem Modell als Grenze, und du baust genau die Naht wieder auf, die Prompt-Injection-Erkennung nie schließen konnte.

Dein Watchdog killt den beschäftigten Agenten und vertraut dem festgefahrenen

Dev

Ein Health-Check, der nur beobachtet, ob ein langlaufender Agent noch existiert, liegt in beiden schweren Fällen falsch: Er killt einen gesunden Agenten in dem Moment, in dem der still genug wird, um abwesend zu wirken, und winkt einen eingefrorenen durch, dessen Prozess weiter läuft. Die Reparatur ist keine schärfere Probe, sondern ein anderes Signal, die dauerhafte Spur, die ein Agent nur durch das Tun der Arbeit hinterlässt und die ein festgefahrener nicht weiter verlängert, weil das Verlängern die Arbeit ist.

Dein geforkter Subagent weiß bereits zu viel

Dev

Die Historie eines Agenten enthält jede Sackgasse, in die er gelaufen ist, und nichts darin markiert, welche davon er inzwischen aufgegeben hat. Delegiere diese Historie an eine Teilaufgabe, und die verworfenen Vermutungen kommen mit demselben Gesicht an wie die gesicherten Fakten. Warum ein sauberer Start meist gewinnt, wann ein geschriebener Auftrag die Vererbung schlägt, und wann die Arbeit ein lebendiges Ding ist, das kein Auftrag fassen kann.

Deine Instruktionsdateien sind Adressierung, keine Fragmentierung

Dev

Jede Agent-Instruktionsdatei in einen gemeinsamen Standard zu verschmelzen sieht aus, als würde man überflüssige Wiederholung löschen, und fürs Projekt-Setup ist es das auch wirklich. Aber das meiste, was diese Dokumente enthalten, ist keine verstreute Kopie einer Sache; es sind getrennte Adressen, sortiert danach, für wen eine Zeile gilt und wer sie schreiben darf. Eine dieser Grenzen ist zugleich eine Vertrauensgrenze, weshalb die aufgeräumte Lösung einer universellen Datei stillschweigend Repository-Text die Autorität deiner eigenen stehenden Regeln verleiht.

Dein Multi-Agenten-System ist ein verteiltes System

Dev

Die Fehler, die man den Agenten anlastet (viele laufen auf dieselbe falsche Antwort zusammen, eine Meinungsverschiedenheit verhärtet sich zu Sabotage, ein Erfolg wird für Arbeit gemeldet, die nie lief), sind keine Lücken, die ein stärkeres Modell schließt. Es sind die ältesten Fehler im verteilten Rechnen, und sie lösen sich, indem man die Schicht zwischen den Agenten baut, nicht durch mehr Intelligenz in jedem einzelnen.

Die Token-Steuer auf Tools, die du nie aufrufst

Dev

Jede Fähigkeit, die du einem Agenten gibst, verbraucht vorab Kontext für ihr Schema. Der Preis seiner Fähigkeiten richtet sich also nach der Größe deines Katalogs, nicht nach der Größe der Aufgabe. Die Lösung ist nicht, CLIs gegenüber Servern zu wählen, sondern die gesamte Tool-Oberfläche als Budget zu behandeln, das du nur ausgibst, wenn die Arbeit nach einer Definition greift.

Weck mich für die Entscheidung, nicht für den Tastendruck

Dev

Genehmigungsabfragen pro Befehl trainieren die Person am Steuer darauf, im Reflex zuzustimmen, und ungefähr eine von drei absichtlich gefährlichen Anfragen wird einfach durchgewunken. Die Unterbrechungen, die sich noch lohnen, sind die seltenen, lesbaren: eine Aktion, die sich nicht rückgängig machen lässt, eine, die aus der Sandbox hinausreicht, oder ein Ansatz, der schon dreimal gescheitert ist.

Die Injection, gegen die kein Review hilft

Dev

Code-Injection wird an der Naht gestoppt, an der Daten zu Code werden, indem man eine ganze syntaktische Klasse ablehnt statt jeden Einzelfall abzuwägen. Das trägt überall dort, wo diese Grenze entscheidbar ist, also genau die Eigenschaft, die Prompt-Injection in natürlicher Sprache nie besitzt.

Setz das agentischere Modell auf den Review-Platz

Dev

Die Eigenschaften, die ein Modell agentischer machen (es erweitert den Scope, prüft sich ungefragt, schreibt länger), sind in einem eng begrenzten unbeaufsichtigten Worker ein Nachteil und in einem Reviewer ein Vorteil. Also laufen die Worker der Flotte auf Claude Opus 4.8, während Opus 5 das Review macht. Eine Notiz darüber, die Disposition eines Modells auf seine Rolle abzustimmen, nicht auf den Benchmark.

Die Pizza-Day-Bitcoins verfolgen

Research

Jedes Jahr dieselben Artikel. Kontrafaktische Bewertungen, das Roadtrip-Gerücht, die Mann-beißt-Pizza-Schlagzeile. Niemand verfolgt die echten Coins. Also habe ich es gemacht. Hier ist, was die Chain zeigt und was 'jene spezifischen Bitcoins' überhaupt bedeutet.

Claude hat mir um 10:47 Uhr morgens gesagt, ich soll schlafen gehen

Dev

Anthropic nennt es einen Character-Tic. Ich habe geschaut, was es tatsächlich produziert, und am Ende den veröffentlichten System-Prompt, das Character-Training-Paper und das Emotion-Concepts-Paper gelesen. Das Verhalten ist das, was der Stack wahrscheinlich macht.

Anthropic hängt auch den Rest des Agenten an den Zähler

Dev

Ab dem 15. Juni läuft programmatische Claude-Nutzung über ein eigenes Guthaben von 20–200 $ zu API-Preisen. Die E-Mail kam heute Morgen. Hier ist, was sie wirklich bedeutet und was sie über das Bauen auf fremder Rechenkapazität lehrt.

Beetroot v1.6.6: Der Office-Fix

Beetroot

Excel- und Word-Zellen wurden als Screenshots statt als Werte erfasst. Microsoft-Store-Autostart war still kaputt. Bild-Thumbnails fraßen Gigabytes RAM. v1.6.6 behebt alle drei, plus eine Reihe Security- und Reliability-Arbeiten nach dem großen 1.6.5-AI-Vision-Release.

Beetroot v1.6.3: Copied-Overlay, Explorer-Bilder, GPT-5.4

Beetroot

Systemweites 'Copied'-Overlay bestätigt jeden Clipboard-Capture. Bilder, die aus dem Explorer kopiert werden, behoben. OpenAI-Modelle auf GPT-5.4 aktualisiert. Security-Hardening.

Beetroot v1.6.2: Der Truncation-Bug

Beetroot

Ein Hotfix für die Content-Truncation in v1.6.1. KI-Transforms, Vorschau und Copy arbeiteten still mit gekürztem Text. Plus Alt+T-Toggle und Fixes für Filter-Counts.

Beetroot v1.6.0: Rust-Suchengine, Fenster ohne Fokus

Beetroot

Beetroots Suchengine zog nach Rust um: Akzent-Folding, Tippfehler-Toleranz, Prefix-Matching. Plus ein Fenster ohne Fokus, das deinen Workflow nicht unterbricht.