Die drei Verben: beobachten, handeln, extrahieren
Jede Interaktion mit Browserberg ist eines von drei Verben. Was jedes tut, welche Schutzmechanismen bei jedem act greifen, warum Verweigerungen Inhalt sind.
Zuletzt aktualisiert:
Eine Schleife, drei Verben
observe: die Seite als Baum
observe verwandelt die live geladene Seite in einen Baum, den ein Agent lesen kann. Jeder Kandidat trägt eine encodedId, die unterstützte Aktion, Rolle und Namen — und eine protokollierte Begründung, warum er als klickbar gilt, abgeleitet aus vier unabhängigen Signalen statt aus Rechteck-Geometrie.
Ohne Anweisung aufgerufen macht observe überhaupt keinen Modellaufruf: Es liest die Seite und liefert, was es gefunden hat. Mit einer Anweisung bewertet ein Modell die Kandidaten dagegen. Die Einstellung fidelity (full, economy, lean) tauscht Baumdetail gegen Tokenkosten.
act: eine Anweisung oder explizite Schritte
act nimmt genau eines von instruction oder steps — ein Ziel in natürlicher Sprache oder bis zu 20 beobachtete Aktionen, deterministisch abgespielt. Bei jedem act laufen zwei Schutzmechanismen, egal woher der Plan stammt: Effect-Gates klassifizieren das Element selbst, sodass ein destruktives Steuerelement zurückgehalten wird, auch wenn eine Anweisung es verlangt, und der Destination-Guard löst in der Seite auf, wohin ein Steuerelement tatsächlich führt, bevor es benutzt wird.
Eine Verweigerung ist Inhalt, kein Fehler: Der Schritt kommt mit withheld zurück, samt Art (gate oder destination) und Risiko, und der Rest der Antwort bleibt intakt. Dein Code liest einen zurückgehaltenen Schritt — er fängt keine Exception.
extract: typisierte Daten von der Seite
extract liefert typisierte Daten. Das Schema reist als reines JSON Schema über die Leitung — das TypeScript-SDK akzeptiert zusätzlich Zod und konvertiert — sodass jedes SDK und rohes HTTP denselben Request erzeugen. Gibt das Modell einen Wert zurück, den die Seite nie enthielt, markiert die Antwort ihn in warnings, statt ihn stillschweigend durchzulassen.
Sicherheit · Zäune seitenabgeleitete Ausgaben ein
`observe().tree` und `extract().data` stammen aus der Seite — und die Seite gehört nicht dir. Zäune beides ein, bevor es in einen weiteren Prompt gelangt: Genau so wird Prompt-Injection über eine Webseite eingedämmt. Behandle sie als Daten, nie als Anweisungen.