Technische Entscheidungen
Acht Entscheidungen, die Diwall geprägt haben, jede mit ihrem Grund und ihrem Preis. Darunter die, die Ihren ersten Aufruf absichtlich scheitern lässt.
Jede der folgenden Entscheidungen hat einen Preis. Den Nutzen ohne den Preis aufzuzählen, würde diese Seite zu Werbung machen statt zu einem Dokument, das Sie beurteilen können.
Eine Nummer statt einer Beschreibung
Set-of-Mark nummeriert jedes interaktive Element und liefert diese Nummern
zusammen mit der Aufnahme. Handeln heißt, eine Nummer zu nennen: {"id": 7}.
Die Alternative – ein Modell das gewünschte Element beschreiben oder aus einem Bild einen CSS-Selektor erzeugen zu lassen – legt die Identifizierung auf das schwächste Glied. Eine Nummer ist konstruktionsbedingt eindeutig: Drei gleiche Schaltflächen erhalten drei verschiedene Nummern.
Der Preis. Die Nummern werden bei jeder Aufnahme berechnet und verschieben
sich, wenn sich das Dokument ändert. Eine Nummer gilt für den Zustand, in dem
sie gelesen wurde, nie über Sitzungen hinweg. Seit 1.24.0 hält die Auflösung
eine Nummer an ihrem Element fest, wenn sie kann: Nach einer Set-of-Mark-Aufnahme
weiter vorne im selben Szenario löst sie über die Markierung data-dw-som-id
auf, die diese Aufnahme hinterlassen hat; ohne eine solche fällt sie auf eine
Neuindizierung der aktuellen Seite zurück. Jede Abweichung zwischen beiden Wegen
wird in boussole.respect.som_derive_detectee gemeldet, und --som-brut stellt
die reine Neuindizierung wieder her. Das Rezept Es hat geklickt, aber nicht auf
das gemeinte Element zeigt
es in Aktion.
Standardmäßig lokal, extern nur auf Wunsch
Die Bildanalyse läuft auf Ihrem Rechner: --llm local, eine Ollama-Instanz auf
localhost. --llm claude schickt das Bild stattdessen an eine entfernte API –
die Option existiert, sie ist dokumentiert, und sie ist nie die Voreinstellung.
Das betrifft die Bildanalyse, die Diwall selbst vornimmt; das Modell, das
Diwall steuert, liest die Aufnahme in jedem Fall, und wohin sie danach geht,
steht unter Was Diwall nicht hinter Ihrem Rücken
tut.
Der Grund ist einfach: Der Screenshot einer authentifizierten Oberfläche gehört zu den sensibelsten Artefakten, die ein Werkzeug erzeugen kann. Wohin er geht, sollte eine Entscheidung sein, keine geerbte Einstellung.
Der Preis. Lokale Vision-Modelle sind kleiner als gehostete. Für das, was Diwall tatsächlich braucht – ein Element ohne semantische Entsprechung finden –, hat das gereicht. Für feinere visuelle Schlussfolgerungen ist es eine echte Grenze.
Erklärte Identität statt Verkleidung
Diwall gibt sich standardmäßig nicht als menschlicher Browser aus. --stealth
gibt es für die Fälle, in denen Sie anders entscheiden; es muss ausdrücklich
eingeschaltet werden, und die Entscheidung liegt bei Ihnen, denn Sie
verantworten den Verkehr, den Sie erzeugen.
Der Preis, und er ist nicht klein. Manche Websites weisen einen Agenten ab, der sich zu erkennen gibt, während sie einen Browser bedient hätten, der nichts gesagt hätte. Ein echtes Panel aus 23 Händlerseiten: 39 % von einer WAF blockiert. Das kostet diese Haltung – gemessen, nicht vermutet.
Signale, nie Urteile
Diwall meldet, was es bemerkt hat, und lässt Sie entscheiden.
etat.pret_a_agir: false heißt mir ist etwas aufgefallen – eine
WAF-Signatur, eine Sitzungsabweichung –, nicht ich verweigere die Arbeit. Die
WAF-Erkennung beruht auf Schlüsselwörtern und kann sich irren; sie erscheint als
Zähler, nie als Ausnahme, die den Lauf abbricht.
Die umgekehrte Bauweise – ein Werkzeug, das blockiert, sobald es etwas für falsch hält – macht aus jedem Fehlalarm einen Ausfall und bringt seinen Nutzern bei, die Prüfung abzuschalten.
Der Preis. Sie müssen die Antwort lesen. Ein Aufrufer, der nur auf
succes schaut, hat von keinem dieser Signale etwas.
Die Sperre, die Ihren ersten Aufruf scheitern lässt
Diwall verweigert die Ausführung, bis derjenige, der es steuert, den Leitfaden gelesen hat und dessen Versionsnummer nennen kann.
Diwall kommt in den Trainingsdaten keines Modells vor, und ein Modell, das den Leitfaden nicht gelesen hat, improvisiert. Das ist keine Hypothese: Es hat einen dokumentierten Sicherheitsvorfall verursacht, und diese Sperre ist die Antwort darauf. Wie Improvisation aussieht, und die zwei Regeln, die sie verhindern →
Der Preis. Ihr erster Aufruf schlägt fehl, absichtlich, mit
{"succes": false, "erreur": "guide_non_lu"}. Jeder dokumentierte Befehl trägt
--guide-version. Das ist Reibung, sie ist gewollt, und es ist die am
häufigsten hinterfragte Entscheidung des Projekts.
Der Leitfaden wird nie übersetzt
Die Dokumentation für Menschen gibt es in vier Sprachen. Die Leitfäden, die Modelle lesen, gibt es nur auf Englisch, und das ist kein Versehen.
Ein übersetzter Leitfaden kann unbemerkt auseinanderlaufen. Seine Versionsnummer wird mechanisch nachgezogen, während sein Inhalt noch der vorigen Version entspricht – und ein Agent passiert dann die Sperre, obwohl er veraltete Anweisungen gelesen hat. Genau dieses Versagen soll die Sperre verhindern, und die Übersetzung selbst würde es wieder einführen.
Ein Modell liest Englisch von Haus aus, und Englisch kostet weniger Tokens: Der Nutzen ist null, das Risiko real.
Der Preis. Ein Betreiber, der kein Englisch liest und verstehen will, was seinem Agenten gesagt wurde, muss Englisch lesen. Die Dokumentation für Menschen schließt diese Lücke; der Leitfaden nicht.
Die Reihenfolge wird einmal festgelegt
Das Referenz-PDF setzt mehrere Dokumente zusammen. Ihre Reihenfolge wird in einem Manifest festgelegt, ein einziges Mal, gemeinsam für alle Sprachen – nie aus dem Dateisystem abgeleitet.
Eine implizite Reihenfolge ist nie die didaktische. So kommt es, dass ein Handbuch die Deinstallation vor der Installation beschreibt. Und legte jede Übersetzung ihre eigene fest, hätten vier PDFs am Ende drei verschiedene Reihenfolgen, und niemand würde es merken, bis ein Leser der falschen folgt.
Jedes Dokument im Geltungsbereich, das weder in der Reihenfolge noch unter den begründeten Ausschlüssen steht, lässt den Build scheitern. Laut, statt stillschweigend aus dem PDF zu verschwinden.
Ein Prozess pro Aufruf, kein Server
Diwall ist ein Befehl, den das Modell bei jedem Schritt ausführt, kein Dienst, mit dem es sich verbindet. Zwischen zwei Aufrufen lauscht nichts. Die erste Frage eines Ingenieurs lautet: Warum kein Server – etwa einer, der ein Protokoll wie MCP spricht?
Was die Entscheidung bringt: kein Dienst, der an einem Port lauscht; ein
Aufruf, ein Eintrag im Operationsjournal; die Sperre --guide-version wird bei
jedem Aufruf geprüft; jedes Modell, das einen Shell-Befehl ausführen kann,
steuert Diwall, ohne einen Protokoll-Client zu installieren; ein Szenario
bleibt eine deklarative Datei, die vor dem Start des Browsers geprüft wird.
Der Preis. Der aktuelle Zustand der Seite bleibt zwischen zwei Aufrufen
nicht erhalten. Cookies und lokaler Speicher schon, über --sauver-session und
--reprendre-session; ein angekreuztes Kontrollkästchen oder ein halb
ausgefülltes Formular nicht. Daher die Regel: Eine Abfolge mit Zustand gehört
in ein einziges Szenario. → Die Sitzung bleibt zwischen zwei Aufrufen nicht
erhalten
Was die Entscheidung nicht ändert, weil die Frage dies oft mit sich bringt:
- Der Transport entscheidet nicht, wo Zugangsdaten aufgelöst werden. Eine
Referenz
depuis_secretsbliebe unter jedem Protokoll eine Referenz. - Ein Protokoll entscheidet nichts. Der Agent entscheidet, so oder so.
- Ein gehostetes Modell, das die Aufnahme liest, erhält sie, gleich auf welchem Weg.
Kurz gesagt
- Eine Nummer ist eindeutig; eine Beschreibung nicht.
- Standardmäßig lokal, weil der Screenshot einer authentifizierten Seite sensibel ist.
- Erklärte Identität, und 39 % eines echten Panels haben sie abgewiesen.
- Signale statt Urteile – Sie entscheiden, also müssen Sie lesen.
- Der erste Aufruf scheitert absichtlich, und genau darum geht es.
- Der Leitfaden wird nicht übersetzt, weil eine veraltete Übersetzung die Sperre aushebeln würde.
- Die Reihenfolge der Dokumente wird einmal festgelegt, und ein vergessenes lässt den Build scheitern.
- Ein Prozess pro Aufruf: Nichts lauscht, und der Zustand der Seite gehört in ein einziges Szenario.