Practonaut 0.2.0 · Versuch mit Budget = Referenzlänge · 16.10.2026 Fünf Aufgaben der mitgelieferten Bibliothek, Seed 1, je 3 Wiederholungen, echtes Excalidraw (--mirror required), --checks 0 (kein Prüfknopf), --max-actions = Länge der Referenzlösung (decision, restyle-flow: 6; insert-between, reorder, two-frames: 4). Minimal ist die Referenzlösung bei decision und two-frames; bei den übrigen drei Aufgaben ließ sie Spielraum („nachweislich minimal“ in den Ausgaben). Agent: Voreinstellung claude-code (Claude Code 2.1.301) über ein Abo; Modell laut Client claude-opus-5-5 bzw. claude-haiku-5-5. 30 Agentenläufe, kein Infrastrukturfehler. Hypothese und Erwartung wurden vor dem ersten Lauf festgehalten. Vorab festgelegt und Ergebnis: Haiku 1 bis 6 nicht bestandene von 15 (Ergebnis 6); Opus 0 bis 2 und höchstens so viele wie Haiku (Ergebnis 0); in mindestens einem Fehlschlag meldet der Agent „fertig“ (Ergebnis: in keinem, nicht eingetreten); compare je Gruppe „nicht unterscheidbar“ mit 0 oder 1 Instanz-Regression (Ergebnis: je 1). Erwarteter Mechanismus: aufgebrauchtes Budget nach einem abgelehnten oder überflüssigen Aufruf (eingetreten). Unten stehen die unveränderten Ausgaben von „practonaut --lang de report --verify“ je Bericht und von „practonaut --lang de compare --verify --fail-on-regression“ je Gruppe. Die Bench-Ordner mit den Mitschnitten der Agenten sind nicht veröffentlicht. === report --verify: haiku-ref6 === Practonaut-Bench claude-code 3/6 Läufe bestanden · 1/2 Instanzen bestanden (mindestens die Hälfte all ihrer Läufe) · 95-%-Intervall 9–91 % über 2 Instanzen · aus den Artefakten nachgerechnet · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · Modell claude-haiku-5-5 (Selbstauskunft des Clients) Bezeichnung: haiku-5.5-tight Welt: excalidraw-library 1.1.0 (mitgelieferte Bibliothek) Prüfungen je Lauf (--checks): 0 Inhalts-Hash der Welt (SHA-256): 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da Quelle des API-Schlüssels (Angabe des Clients): none n = 6 Läufe · 1 Seed · 3 Wiederholungen 2 Aufgaben × 1 Seed × 3 Wiederholungen, Zeitlimit 300 s, höchstens 6 Aufrufe von act, undo oder reset je Lauf alle 3 Wiederholungen bestanden bei 1/2 Instanzen Aktionen im Mittel 5,0 Aktionen im Mittel, wenn bestanden 5,0 Zeit je Lauf im Mittel 17,7 s Effizienz gegenüber Referenzlänge 1,20, nachweislich minimal bei 1 von 2 (> 1 = weniger Aktionen als die Referenzlösung) Vom Client selbst gemeldet (nicht geprüft), summiert über die Läufe, die sie meldeten: 629.117 Eingabe- und 11.046 Ausgabe-Tokens · 58 Runden · Kosten 0,0238 USD. Aufgabe Läufe bestanden Aktionen Referenzlänge Effizienz gegenüber Referenzlänge ──────────── ───── ───────── ──────── ───────────── ───────────────────────────────── decision 3 0/3 5,0 6 (minimal) — restyle-flow 3 3/3 5,0 6 1,20 Nicht bestanden (3 von 6 Läufe) ✗ decision-s1-r1 beendet Abgelehnte Aktionen: 2 von 7 Aufrufen von act lehnte der Host ab. der Aufruf nannte einen veralteten Schritt oder eine veraltete Revision (1 ×) das Aktionsbudget des Laufs war aufgebraucht (1 ×) Nicht erfüllt: Die Zeichnung hat genau 3 Pfeile. (nie erfüllt) Nicht erfüllt: Ein Pfeil von „In stock?“ nach „Ship“. (nie erfüllt) ✗ decision-s1-r2 beendet Abgelehnte Aktionen: 2 von 7 Aufrufen von act lehnte der Host ab. der Aufruf nannte einen veralteten Schritt oder eine veraltete Revision (1 ×) das Aktionsbudget des Laufs war aufgebraucht (1 ×) Nicht erfüllt: Die Zeichnung hat genau 3 Pfeile. (nie erfüllt) Nicht erfüllt: Ein Pfeil von „In stock?“ nach „Ship“. (nie erfüllt) ✗ decision-s1-r3 beendet Abgelehnte Aktionen: 2 von 7 Aufrufen von act lehnte der Host ab. der Aufruf nannte einen veralteten Schritt oder eine veraltete Revision (1 ×) das Aktionsbudget des Laufs war aufgebraucht (1 ×) Nicht erfüllt: Die Zeichnung hat genau 3 Pfeile. (nie erfüllt) Nicht erfüllt: Ein Pfeil von „In stock?“ nach „Ship“. (nie erfüllt) Nachgerechnet: 6 Läufe vom Prüfer aus den Artefakten neu beurteilt, mit der im Bench-Ordner gespeicherten Welt (excalidraw-library 1.1.0, Inhalts-Hash 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da); jedes Urteil stimmt (0 nicht bewertet); 2 Referenzen neu geprüft. Die gespeicherte Welt ist die mitgelieferte Bibliothek excalidraw-library 1.1.0 dieses Practonaut (gleicher Inhalts-Hash). === report --verify: opus-ref6 === Practonaut-Bench claude-code 6/6 Läufe bestanden · 2/2 Instanzen bestanden (mindestens die Hälfte all ihrer Läufe) · 95-%-Intervall 34–100 % über 2 Instanzen · aus den Artefakten nachgerechnet · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · Modell claude-opus-5-5 (Selbstauskunft des Clients) Bezeichnung: opus-5.5-tight Welt: excalidraw-library 1.1.0 (mitgelieferte Bibliothek) Prüfungen je Lauf (--checks): 0 Inhalts-Hash der Welt (SHA-256): 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da Quelle des API-Schlüssels (Angabe des Clients): none n = 6 Läufe · 1 Seed · 3 Wiederholungen 2 Aufgaben × 1 Seed × 3 Wiederholungen, Zeitlimit 300 s, höchstens 6 Aufrufe von act, undo oder reset je Lauf alle 3 Wiederholungen bestanden bei 2/2 Instanzen Aktionen im Mittel 5,5 Aktionen im Mittel, wenn bestanden 5,5 Zeit je Lauf im Mittel 21,8 s Effizienz gegenüber Referenzlänge 1,10, nachweislich minimal bei 1 von 2 (> 1 = weniger Aktionen als die Referenzlösung) Vom Client selbst gemeldet (nicht geprüft), summiert über die Läufe, die sie meldeten: 469.392 Eingabe- und 8.410 Ausgabe-Tokens · 51 Runden · Kosten 0,6835 USD. Aufgabe Läufe bestanden Aktionen Referenzlänge Effizienz gegenüber Referenzlänge ──────────── ───── ───────── ──────── ───────────── ───────────────────────────────── decision 3 3/3 6,0 6 (minimal) 1,00 restyle-flow 3 3/3 5,0 6 1,20 Nachgerechnet: 6 Läufe vom Prüfer aus den Artefakten neu beurteilt, mit der im Bench-Ordner gespeicherten Welt (excalidraw-library 1.1.0, Inhalts-Hash 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da); jedes Urteil stimmt (0 nicht bewertet); 2 Referenzen neu geprüft. Die gespeicherte Welt ist die mitgelieferte Bibliothek excalidraw-library 1.1.0 dieses Practonaut (gleicher Inhalts-Hash). === report --verify: haiku-ref4 === Practonaut-Bench claude-code 6/9 Läufe bestanden · 2/3 Instanzen bestanden (mindestens die Hälfte all ihrer Läufe) · 95-%-Intervall 20–94 % über 3 Instanzen · aus den Artefakten nachgerechnet · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · Modell claude-haiku-5-5 (Selbstauskunft des Clients) Bezeichnung: haiku-5.5-tight Welt: excalidraw-library 1.1.0 (mitgelieferte Bibliothek) Prüfungen je Lauf (--checks): 0 Inhalts-Hash der Welt (SHA-256): 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da Quelle des API-Schlüssels (Angabe des Clients): none n = 9 Läufe · 1 Seed · 3 Wiederholungen 3 Aufgaben × 1 Seed × 3 Wiederholungen, Zeitlimit 300 s, höchstens 4 Aufrufe von act, undo oder reset je Lauf alle 3 Wiederholungen bestanden bei 2/3 Instanzen Aktionen im Mittel 3,1 Aktionen im Mittel, wenn bestanden 3,2 Zeit je Lauf im Mittel 15,4 s Effizienz gegenüber Referenzlänge 1,39, nachweislich minimal bei 1 von 3 (> 1 = weniger Aktionen als die Referenzlösung) Vom Client selbst gemeldet (nicht geprüft), summiert über die Läufe, die sie meldeten: 741.321 Eingabe- und 13.837 Ausgabe-Tokens · 68 Runden · Kosten 0,0300 USD. Aufgabe Läufe bestanden Aktionen Referenzlänge Effizienz gegenüber Referenzlänge ────────────── ───── ───────── ──────── ───────────── ───────────────────────────────── insert-between 3 0/3 3,0 4 — reorder 3 3/3 2,3 4 1,78 two-frames 3 3/3 4,0 4 (minimal) 1,00 Nicht bestanden (3 von 9 Läufe) ✗ insert-between-s1-r1 beendet Abgelehnte Aktionen: 2 von 5 Aufrufen von act lehnte der Host ab. die Aktion passte in dem Moment nicht zur Arbeitsfläche (1 ×) das Aktionsbudget des Laufs war aufgebraucht (1 ×) Nicht erfüllt: Die Zeichnung hat genau 2 Pfeile. (nie erfüllt) Nicht erfüllt: Ein Pfeil von „Check payment“ nach „Ship order“. (nie erfüllt) ✗ insert-between-s1-r2 beendet Abgelehnte Aktionen: 2 von 5 Aufrufen von act lehnte der Host ab. die Aktion passte in dem Moment nicht zur Arbeitsfläche (1 ×) das Aktionsbudget des Laufs war aufgebraucht (1 ×) Nicht erfüllt: Die Zeichnung hat genau 2 Pfeile. (nie erfüllt) Nicht erfüllt: Ein Pfeil von „Check payment“ nach „Ship order“. (nie erfüllt) ✗ insert-between-s1-r3 beendet Abgelehnte Aktionen: 2 von 5 Aufrufen von act lehnte der Host ab. die Aktion passte in dem Moment nicht zur Arbeitsfläche (1 ×) das Aktionsbudget des Laufs war aufgebraucht (1 ×) Nicht erfüllt: Die Zeichnung hat genau 2 Pfeile. (nie erfüllt) Nicht erfüllt: Ein Pfeil von „Check payment“ nach „Ship order“. (nie erfüllt) Nachgerechnet: 9 Läufe vom Prüfer aus den Artefakten neu beurteilt, mit der im Bench-Ordner gespeicherten Welt (excalidraw-library 1.1.0, Inhalts-Hash 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da); jedes Urteil stimmt (0 nicht bewertet); 3 Referenzen neu geprüft. Die gespeicherte Welt ist die mitgelieferte Bibliothek excalidraw-library 1.1.0 dieses Practonaut (gleicher Inhalts-Hash). === report --verify: opus-ref4 === Practonaut-Bench claude-code 9/9 Läufe bestanden · 3/3 Instanzen bestanden (mindestens die Hälfte all ihrer Läufe) · 95-%-Intervall 43–100 % über 3 Instanzen · aus den Artefakten nachgerechnet · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · Modell claude-opus-5-5 (Selbstauskunft des Clients) Bezeichnung: opus-5.5-tight Welt: excalidraw-library 1.1.0 (mitgelieferte Bibliothek) Prüfungen je Lauf (--checks): 0 Inhalts-Hash der Welt (SHA-256): 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da Quelle des API-Schlüssels (Angabe des Clients): none n = 9 Läufe · 1 Seed · 3 Wiederholungen 3 Aufgaben × 1 Seed × 3 Wiederholungen, Zeitlimit 300 s, höchstens 4 Aufrufe von act, undo oder reset je Lauf alle 3 Wiederholungen bestanden bei 3/3 Instanzen Aktionen im Mittel 3,0 Aktionen im Mittel, wenn bestanden 3,0 Zeit je Lauf im Mittel 21,9 s Effizienz gegenüber Referenzlänge 1,44, nachweislich minimal bei 1 von 3 (> 1 = weniger Aktionen als die Referenzlösung) Vom Client selbst gemeldet (nicht geprüft), summiert über die Läufe, die sie meldeten: 614.982 Eingabe- und 9.593 Ausgabe-Tokens · 60 Runden · Kosten 0,8473 USD. Aufgabe Läufe bestanden Aktionen Referenzlänge Effizienz gegenüber Referenzlänge ────────────── ───── ───────── ──────── ───────────── ───────────────────────────────── insert-between 3 3/3 3,0 4 1,33 reorder 3 3/3 2,0 4 2,00 two-frames 3 3/3 4,0 4 (minimal) 1,00 Nachgerechnet: 9 Läufe vom Prüfer aus den Artefakten neu beurteilt, mit der im Bench-Ordner gespeicherten Welt (excalidraw-library 1.1.0, Inhalts-Hash 6f46bc08e6a612235d29a0aa06eed3324952ad16897b0b042fc4e08ca80c33da); jedes Urteil stimmt (0 nicht bewertet); 3 Referenzen neu geprüft. Die gespeicherte Welt ist die mitgelieferte Bibliothek excalidraw-library 1.1.0 dieses Practonaut (gleicher Inhalts-Hash). === compare: opus-ref6 → haiku-ref6 === Practonaut-Vergleich opus-5.5-tight (Basis) → haiku-5.5-tight (Kandidat) Basis: claude-code · opus-5.5-tight · Modell claude-opus-5-5 (Selbstauskunft des Clients) · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · aus den Artefakten nachgerechnet · 2026-10-16 Kandidat: claude-code · haiku-5.5-tight · Modell claude-haiku-5-5 (Selbstauskunft des Clients) · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · aus den Artefakten nachgerechnet · 2026-10-16 Urteil: Unterschied der Raten bei diesem n nicht unterscheidbar (exakter McNemar-Test p = 1,000; 1 nur bei der Basis, 0 nur beim Kandidaten) Basis: 2/2 Instanzen bestanden · 95-%-Intervall 34–100 % über die 2 Instanzen auf beiden Seiten Kandidat: 1/2 Instanzen bestanden · 95-%-Intervall 9–91 % über die 2 Instanzen auf beiden Seiten Instanz-Regressionen: ✗ decision · Seed 1: 3/3 bestanden bei der Basis, 3/3 nicht bestanden beim Kandidaten So wird verglichen: Einheit ist die Instanz (Aufgabe × Seed). Ihre Wiederholungen ergeben je Seite ein Ergebnis: bestanden, wenn mindestens die Hälfte all ihrer Wiederholungen bestand; ein nicht bewerteter Lauf zählt als nicht bestanden. Eine Instanz-Regression braucht drei bewertete Wiederholungen je Seite, alle bestanden bei der Basis und alle nicht bestanden beim Kandidaten. Eine Aussage über Raten braucht einen exakten McNemar-Test auf den Instanzen, in denen sich beide Seiten unterscheiden, bei α = 0,05. practonaut: 1 Instanz-Regression (bei jeder Wiederholung der Basis bestanden, bei jeder des Kandidaten nicht): decision seed 1 [instance_regression] (Exit-Code 2) === compare: opus-ref4 → haiku-ref4 === Practonaut-Vergleich opus-5.5-tight (Basis) → haiku-5.5-tight (Kandidat) Basis: claude-code · opus-5.5-tight · Modell claude-opus-5-5 (Selbstauskunft des Clients) · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · aus den Artefakten nachgerechnet · 2026-10-16 Kandidat: claude-code · haiku-5.5-tight · Modell claude-haiku-5-5 (Selbstauskunft des Clients) · echte Excalidraw-Spiegelung · Voreinstellung mit eingeschränkten Werkzeugen · aus den Artefakten nachgerechnet · 2026-10-16 Urteil: Unterschied der Raten bei diesem n nicht unterscheidbar (exakter McNemar-Test p = 1,000; 1 nur bei der Basis, 0 nur beim Kandidaten) Basis: 3/3 Instanzen bestanden · 95-%-Intervall 43–100 % über die 3 Instanzen auf beiden Seiten Kandidat: 2/3 Instanzen bestanden · 95-%-Intervall 20–94 % über die 3 Instanzen auf beiden Seiten Instanz-Regressionen: ✗ insert-between · Seed 1: 3/3 bestanden bei der Basis, 3/3 nicht bestanden beim Kandidaten So wird verglichen: Einheit ist die Instanz (Aufgabe × Seed). Ihre Wiederholungen ergeben je Seite ein Ergebnis: bestanden, wenn mindestens die Hälfte all ihrer Wiederholungen bestand; ein nicht bewerteter Lauf zählt als nicht bestanden. Eine Instanz-Regression braucht drei bewertete Wiederholungen je Seite, alle bestanden bei der Basis und alle nicht bestanden beim Kandidaten. Eine Aussage über Raten braucht einen exakten McNemar-Test auf den Instanzen, in denen sich beide Seiten unterscheiden, bei α = 0,05. practonaut: 1 Instanz-Regression (bei jeder Wiederholung der Basis bestanden, bei jeder des Kandidaten nicht): insert-between seed 1 [instance_regression] (Exit-Code 2)