Experiment ·
Ein Agent zeichnet ein Haus.
Ein Haus malen klingt einfach. Für einen Browser-Agenten bedeutet es, Werkzeuge und Farben zu erkennen, Flächen zu begrenzen und jeden Schritt am Bild zu kontrollieren. Dieser Versuch mit WerkWorker und Werk1112 endete nach rund 62 Minuten mit einer kleinen Landschaft in jsPaint.
Die Aufgabe
Ein Haus, eine Wiese, ein Himmel.
Der Originalprompt verlangt ein Haus mit brauner Füllung, blauen Fenstern und rotem Dach, dazu Wiese, Himmel, Wolken und Sonne. Ein Referenzbild wurde dem Agenten nicht mitgegeben. Die folgenden Screenshots entstanden während und nach dem Lauf.
Originalprompt des abgeschlossenen Laufs · Englisch
Open https://jspaint.app and draw a simple house in a colorful landscape:
- A house with a black rectangular outline, filled brown with blue windows and a fully filled red triangular roof.
- A fully filled green meadow beneath the house.
- A fully filled blue sky.
- White clouds and a fully filled yellow sun.
Work alone and exclusively through the browser interface. Keep planning and progress updates brief.
Select the appropriate tool and color for each step. Draw the house rectangle by dragging between opposite corners. Draw the roof with the pencil tool in one continuous, closed triangular drag path, then use the fill tool to fill it red.
Draw the sky and meadow first, then add the house, clouds, and sun. Ensure that the filled regions have no unintended gaps or color spills.
Use the screenshots returned by actions to check your work. Request additional observations only when needed. Correct visible mistakes and inspect the finished picture.
Leave the browser open and briefly report the result.
Browser-Einstellungen
/effort high
/browser limits 0 0 600
/browser perception auto
/browser onWorker-Konfiguration · neue Sitzung
{
"version": 1,
"model": "qwen3.8-27b-ud-q4_k_xl",
"profile": "coding-basic",
"context_tokens": 32768,
"output_tokens": 4096,
"reasoning_tier": "high",
"delegation_level": "off"
}Startbefehl für Werk1112
WERK_LLAMA_ARGS='' werk serve \
--backend cuda \
--host 127.0.0.1 --port 11434 \
--model qwen3.8-27b-ud-q4_k_xl \
--preload qwen3.8-27b-ud-q4_k_xl \
--parallel 1 --ctx-size 32768 \
--gpu-layers 999 --kv-offload true \
--flash-attn true --kv-cache-type q8-0 \
--batch-size 1024 --ubatch-size 256 \
--threads 24 --threads-batch 24
Über das Experiment
Der Versuchsaufbau.
- Agent
- WerkWorker v0.2.0 · coding-basic · keine Subagenten
- Inferenz
- Werk1112 · llama.cpp · CUDA · 1 Slot
- Modellkennung
- qwen3.8-27b-ud-q4_k_xl
- Budget
- 32.768 Kontext · 4.096 Ausgabe inkl. 2.048 Reasoning-Tokens
- Ergebnis
- Zeichnung in jsPaint · Original-Screenshots
Die Zeichnung entstand mit den Malwerkzeugen von jsPaint. Der Screenshot zeigt den unveränderten Endstand samt Oberfläche; es handelt sich nicht um ein nachträglich generiertes Illustrationsbild.
Technische Dokumentation
64 Modellanfragen bis zum Bild.
Die gespeicherte Sitzung liefert Ablauf, Tool-Ergebnisse und Token-Summen. Sechs Originalaufnahmen dokumentieren Zwischenstand und Abschluss. Die Werk-top-Werte sind Momentaufnahmen der lokalen Inferenz.
- Gesamtlaufzeit
- 62 min 1 s
- Vom Start bis zum Abschluss, inklusive Wartezeiten
- Modellanfragen
- 64
- 64 Agent-Schritte · kein Subagent
- Tool-Aufrufe
- 63
- Davon 54 browser.action-Aufrufe
- Kontextbudget
- 32.768
- Reasoning High · 2.048 Tokens innerhalb der Ausgabe
Aufbau und Ablauf
Eine Aufgabe ohne Referenzbild
Der englische Prompt beschreibt die Landschaft, die Reihenfolge und die Dach-Geste. Das Modell erhält Beobachtungen aus dem Browser. Die Sitzung startet ohne vom Nutzer angehängtes Bild.
Lokale Inferenz mit mehr Denkbudget
Qwen läuft über Werk1112, llama.cpp und CUDA mit einem Inferenz-Slot. Agent und Server nutzen 32.768 Kontext-Tokens. Von 4.096 reservierten Ausgabe-Tokens sind 2.048 für Reasoning High vorgesehen; das Denkbudget kommt nicht zusätzlich zur Ausgabe hinzu.
Formen, Grenzen und Füllungen
Eine gezogene Horizontlinie trennt Himmel und Wiese vor dem Füllen. Der Hauskörper entsteht mit dem Rechteckwerkzeug. Der Dachpfad kehrt zum Startpunkt zurück und wird anschließend rot gefüllt. Für Sonne und Wolken werden Ellipsen verwendet.
Kontrollieren und abschließen
Der Agent nutzt Aktions-Screenshots und zwei zusätzliche Beobachtungen. Dazu kommen drei lesende JavaScript-Pixelabfragen, von denen zwei erfolgreich sind. Nach dem letzten Bild aktualisiert er den Aufgabenplan und meldet den Abschluss.
Laufzeit und Status
- Start · Europe/Berlin
- 13:40:40
- Abschluss · Europe/Berlin
- 14:42:41
- Wartezeit auf Freigaben
- 62,679 s
- Zeit bis zum ersten Tool
- 18,027 s
- Übergeordnete Planschritte
- 5
- Status
- completed
Die Laufzeit stammt aus total_ms. Sie ist unabhängig von der Serverlaufzeit und den später aufgenommenen Screenshots. Der Lauf nutzte den Continuous-Modus.
Tokens und Kontext
- Input-Tokens · Summe
- 1.409.331
- Output-Tokens · Summe
- 63.397
- Reservierte Ausgabe inkl. Reasoning
- 4.096
- Letzte Kontextschätzung
- 21.325
- Zuletzt ausgelassene Nachrichten
- 120
Token-Summen addieren die gemeldete Nutzung über alle Anfragen; wiederholter Kontext zählt mehrfach. Output umfasst Reasoning, Text und Tool-Aufrufe. 120 ausgelassene Nachrichten bedeuten nicht 120 Kompaktierungsläufe.
Werkzeuge und Fehler
- task.plan
- 3
- browser.open
- 1
- browser.action
- 54
- browser.observe
- 2
- browser.evaluate
- 3
- Erfolgreich / Validierungsfehler / fehlgeschlagen
- 57 / 5 / 1
- Modellversuche mit Fehler
- 0
Fünf ungültige Browserziele wurden vor der Ausführung abgewiesen. Eine Pixelabfrage scheiterte. Erfolgreiche Tool-Ausführung allein belegt nicht, dass jeder Teil der Zeichnung korrekt ist.
Speicher und Inferenz · Werk top
- GPU-Speicher · belegt / Kapazität
- 21,5 / 24,0 GiB
- GPU pressure
- HARD
- Worker RSS
- 10,9 GiB
- Host-RAM inkl. Cache
- 62,0 / 98,3 GiB
- Backend-Kontext · belegt / Kapazität
- 21.026 / 32.768
- Decode · letzte 16 sichtbare Anfragen
- 32,3–33,9 tok/s
Momentaufnahme um 14:46:51 Uhr, nach Abschluss. Die Speicherwerte sind keine Spitzenwerte. Der Decode-Bereich stammt aus den 16 sichtbaren Anfragen, nicht aus einem Durchschnitt des gesamten Laufs. Der Monitor zeigt 01:13:58 Serverlaufzeit.
Server und Browser
- Backend
- llama.cpp · CUDA
- Inferenz-Slots
- 1
- KV cache / Flash attention
- q8-0 / on
- Batch / µBatch
- 1024 / 256
- Threads / batch threads
- 24 / 24
- Browser perception
- auto
- Browseraktionen · verwendet / Budget
- 55 / 600
Startparameter laut bereitgestelltem Serve-Befehl. Browser-Laufzeit und Idle-Limit stehen auf 0, das Aktionsbudget auf 600. Der separate Wiederholungsschutz bleibt aktiv. Browseraktionen und sämtliche Tool-Aufrufe sind unterschiedliche Zähler.
Ergebnis und Methodengrenzen
Die Originalbilder zeigen ein Haus mit brauner Füllung, einem blauen Fenster und rotem Dreiecksdach, grüner Wiese, blauem Himmel, Sonne und zwei Wolken. Im Tool-Protokoll ist der geschlossene Bleistiftpfad für das Dach erhalten. Der Nutzer bestätigt, dass der Versuch funktioniert hat.
Der Status completed dokumentiert den Abschluss des Agenten. Die strenge Vorgabe ausschließlich Browser-UI wurde nicht vollständig eingehalten: Drei browser.evaluate-Aufrufe versuchten Canvas-Pixel zu lesen. Diese Skripte zeichneten nicht, waren aber zusätzliche JavaScript-Inspektionen. Zwei Abfragen liefen erfolgreich, eine schlug fehl.
Die Fenster sind im Prompt im Plural verlangt; sichtbar ist ein Fenster. Die Horizontlinie bleibt innerhalb des Hauses sichtbar. Es gibt keine unabhängige automatisierte Prüfung sämtlicher Bildkriterien und keinen kontrollierten Vergleich zwischen Reasoning-Stufen.
Die letzten 16 sichtbaren Anfragen
Aus der abschließenden Werk-top-Aufnahme übertragen. Dies ist ein Ausschnitt, kein vollständiger Trace. Prompt, Cache und Output in Tokens; Zeiten und Decode wie angezeigt.
| Anfrage | Prompt | Cache | Output | Dauer (s) | Decode (tok/s) | Status |
|---|---|---|---|---|---|---|
| #64 | 20.753 | 0 | 274 | 31,37 | 33,5 | done |
| #63 | 24.891 | 14.179 | 726 | 38,24 | 32,3 | tool_calls |
| #62 | 21.029 | 5.018 | 269 | 28,11 | 33,5 | tool_calls |
| #61 | 24.609 | 13.925 | 1.155 | 49,73 | 33,5 | tool_calls |
| #60 | 20.722 | 5.018 | 1.304 | 56,08 | 32,5 | tool_calls |
| #59 | 25.232 | 14.814 | 1.380 | 56,39 | 32,4 | tool_calls |
| #58 | 21.483 | 5.018 | 853 | 44,28 | 32,9 | tool_calls |
| #57 | 25.211 | 13.905 | 2.192 | 82,53 | 32,5 | tool_calls |
| #56 | 20.710 | 5.018 | 1.504 | 63,05 | 33,2 | tool_calls |
| #55 | 24.829 | 14.384 | 269 | 22,06 | 33,1 | tool_calls |
| #54 | 21.424 | 5.018 | 371 | 29,25 | 33,0 | tool_calls |
| #53 | 25.281 | 14.406 | 326 | 25,12 | 33,5 | tool_calls |
| #52 | 21.455 | 5.018 | 2.194 | 85,45 | 33,9 | tool_calls |
| #51 | 25.077 | 14.201 | 472 | 28,73 | 32,8 | tool_calls |
| #50 | 21.069 | 5.018 | 2.287 | 87,18 | 33,7 | tool_calls |
| #49 | 24.534 | 13.880 | 1.339 | 56,05 | 32,7 | tool_calls |
Vom Zwischenstand zum Ergebnis

Himmel und Wiese
5.11.2026 · 13:53:09 · Europe/Berlin
Originalaufnahme öffnen
WerkWorker während des Zeichnens
5.11.2026 · 13:53:15 · Europe/Berlin
Originalaufnahme öffnen
Inferenz während des Laufs
5.11.2026 · 13:53:20 · Europe/Berlin
Originalaufnahme öffnen
Abgeschlossener Agent-Lauf
5.11.2026 · 14:46:46 · Europe/Berlin
Originalaufnahme öffnen
Werk top nach dem Abschluss
5.11.2026 · 14:46:51 · Europe/Berlin
Originalaufnahme öffnen
Die fertige Zeichnung
5.11.2026 · 14:46:58 · Europe/Berlin
Originalaufnahme öffnenDas unveränderte Ergebnisbild
PNG · 1335 × 996 Pixel · 195.975 Bytes. Die veröffentlichte Aufnahme ist bytegleich mit dem bereitgestellten Screenshot.
SHA-256 04e749ed9684d383f815e24f8b1c5425ee509ad0791eccb8f112427c9825a2a7
Messdaten als JSON herunterladenEnthält den Originalprompt, ausgewählte Sitzungsmetriken, Konfiguration, übertragene Monitorwerte und Bild-Prüfsummen. Kein vollständiger Chatverlauf. Ein dokumentierter Einzelversuch, kein Benchmark.
Von Farbauswahl zu getrennten Flächen
Frühere Versuche mit 16K Kontext blieben unter anderem in wiederholter Farbauswahl hängen. Im dokumentierten Lauf mit 32K und Reasoning High zog der Agent zunächst eine Horizontlinie und füllte Himmel und Wiese getrennt. Danach folgten Rechteckwerkzeug, braune Füllung, das mit einem geschlossenen Bleistiftpfad gezeichnete rote Dach, Fenster, Sonne und Wolken.
Ein Ergebnis, kein isolierter Modellvergleich
Der Lauf zeigt, dass diese Kombination die Aufgabe bis zu einem sichtbaren Ergebnis ausführen konnte. Kontextbudget und Reasoning wurden gemeinsam verändert; außerdem wurden Worker-Fixes eingespielt und der Prompt um die braune Hausfüllung und blaue Fenster ergänzt. Welcher Anteil auf mehr Reasoning entfällt, lässt sich daraus nicht isolieren.
Was im Original sichtbar bleibt
Das Bild enthält die gewünschten Motive, zeigt aber nur ein blaues Fenster. Eine horizontale Linie läuft durch das braune Haus. Der Bericht bewahrt diese Details und die Abweichung von der reinen UI-Vorgabe: Zur Kontrolle verwendete der Agent zusätzlich JavaScript-Pixelabfragen. Die Aufnahmen wurden nicht retuschiert.
Das Original ansehen.
Das Ergebnisbild lässt sich in voller Auflösung öffnen. Für einen eigenen Versuch stehen oben der tatsächlich verwendete Prompt sowie Browser-, Worker- und Server-Einstellungen. Eine neue Sitzung übernimmt die Projektwerte; dieser Einzelversuch garantiert kein identisches Ergebnis.

