Effortvergleich high gegen max: Effort wirkt ueber Delegation

Dieselbe TensorX-Matrix ein zweites Mal bei hoechstem Effort. Zwoelf
gueltige Laeufe, 2.116 Anforderungen, 127,6 Mio. Tokens, hochgerechnet
$10,53 aus der Preisliste vom 02.09.2026.

Befund: In den nicht-delegierenden Zellen bewegt sich der Ertrag zwischen
minus 18 und plus 44 Prozent ohne erkennbare Richtung - in der
Groessenordnung der Streuung. Der eine deutliche Ausschlag ist GLM in
custom mit plus 122 Prozent, erreicht mit 78 statt 30 Subagenten. Der
hoehere Denkaufwand schlaegt sich in mehr Zerlegung nieder, und die traegt
den Ertrag, nicht der Denkaufwand als solcher.

Qwens custom-Zelle hat sich qualitativ erholt: bei high 61 Prozent ohne
Beleg und 40 Prozent Hypothesen, bei max 3 Prozent ohne Beleg und 96
Prozent Primaerbeleg. Der Einbruch war ein Laufmerkmal, kein
Modellmerkmal - ein weiterer Beleg, dass n gleich 1 je Zelle nicht traegt.

Skill 13.2.0: analyse-anforderungen.py toleriert jetzt vier
Markdown-Fassungen der Feldvorgabe. Jedes der vier eingesetzten Modelle
formatierte sie anders, und jede Fassung wurde zunaechst mit null
Anforderungen gezaehlt, obwohl Belege und Pruefideen vollstaendig
vorlagen. Das ist ein Befund ueber den Versuchsaufbau: Die Formatvorgabe
ist fuer Menschen eindeutig, fuer maschinelle Auswertung nicht.
Regressionsprobe an sieben Laeufen unveraendert.

_matrix.ps1 nimmt zusaetzlich -Effort und -Modi fuer einzelne Zellen.
Ein Lauf fiel durch Standby des Rechners aus und wurde wiederholt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christoph Schwörer
2026-09-04 13:41:01 +02:00
co-authored by Claude Opus 5
parent e2c3a0e8f8
commit 08d90f1ccb
159 changed files with 129328 additions and 10 deletions
+2 -1
View File
@@ -2,7 +2,7 @@
name: run-experiment
description: Führt einen Versuchs-Prompt aus einer Prompt-Datei als messbaren Headless-Lauf mit Claude Code, Codex CLI oder OpenCode (TensorX oder lokales LM Studio) aus und schreibt ein Messprotokoll mit Start-/Endzeit, Modell, Tokenverbrauch und weiteren Metriken. Verwenden bei "/run-experiment <Pfad-zur-Prompt-Datei>" oder wenn der User einen Versuch/ein Experiment ausführen und tracken will.
argument-hint: <Pfad zur Prompt-Datei> <Root-Verzeichnis>
version: 13.1.0
version: 13.2.0
---
# RunExperiment – Versuchslauf mit Messprotokoll
@@ -1354,6 +1354,7 @@ der Historie unten – im selben Arbeitsschritt.
| Version | Änderung | Grund | Verwendet in |
|---|---|---|---|
| **13.2.0** | **`analyse-anforderungen.py` toleriert vier Markdown-Fassungen der Feldvorgabe** - fett, Ueberschrift mit und ohne Feldnamen sowie eingerueckte Listenpunkte. Die Normalisierung ist auf die im Prompt definierten Feldnamen beschraenkt. `_matrix.ps1` nimmt zusaetzlich `-Effort` und `-Modi`, sodass einzelne Zellen nachgezogen werden koennen. | Jedes der vier eingesetzten Modelle formatierte die Feldvorgabe anders, und jede Fassung wurde zunaechst mit **0 Anforderungen** gezaehlt, obwohl Belege, Pruefideen und Tracelinks vollstaendig vorlagen - zuletzt 182 statt 0 bei `qwen3.8-flash-next/custom/max`. Ein pauschales Entfernen der Einrueckung schied aus, weil es die `Begruendung:`-Eintraege innerhalb der Beleglisten zerstoert haette. Regressionsprobe an vier Claude- und drei TensorX-Laeufen: Zaehlung unveraendert. MINOR: Korrektur am Messinstrument, rueckwirkend anwendbar. | rueckwirkend; ab sofort |
| **13.1.0** | **Der Adapter ergaenzt fuer den Spiegel auch die worktree-relative Freigabeform; `analyse-anforderungen.py` erkennt Kennungen als Markdown-Ueberschrift.** Das Spiegel-Arbeitsverzeichnis liegt jetzt standardmaessig in `_meta` des Laufs (`--spiegel-basis`), `Ergebnisse` ist dort ein echtes Verzeichnis, dessen Inhalt nach dem Lauf uebernommen wird. Adapter-Version 2.5.2. | Der Spiegel allein genuegte nicht: Sechs Laeufe schrieben mit korrektem absolutem Pfad und wurden dennoch abgewiesen. Ursache war der bereits in 10.0.2 festgehaltene Befund - **OpenCode gleicht Ziele innerhalb des Repositories gegen den worktree-relativen Pfad ab**. Solange der Spiegel unter `%TEMP%` lag, griff diese Regel nicht und der Zusammenhang blieb unsichtbar; erst die Verlagerung ins Projekt machte ihn erkennbar. Beim Auswerten zeigte sich zudem, dass korrekt gefuellte Bloecke unerkannt blieben, wenn die Kennung als Ueberschrift ohne Feldnamen gesetzt war (`### StRS-001`). Sie wird nur dann als ID gewertet, wenn die Pflichtfelder unmittelbar folgen - sonst zaehlte jede Zwischenueberschrift als Anforderung. Regressionsprobe an fuenf Claude-Laeufen: 42/82/60/73/67 unveraendert. MINOR: Korrektur an Adapter und Messinstrument, keine Aenderung der Versuchsbedingung. | ab den gueltigen Laeufen der Iteration 15 bzw. 8 |
| **13.0.0** | **Spiegel-Arbeitsverzeichnis fuer den OpenCode-Adapter** (`--arbeitsverzeichnis spiegel`, Standard der LM-Studio-Matrix). Statt direkt im Codebasis-Root zu arbeiten, laeuft OpenCode in einem Verzeichnis aus Verknuepfungen: je eine Junction auf jeden Top-Level-Ordner der Codebasis, je ein Hardlink auf jede Top-Level-Datei, und `Ergebnisse` als Junction auf das Laufverzeichnis. Relative *und* absolute Ausgabepfade landen damit am richtigen Ort. Der Abbau entfernt nur die Verknuepfungen (`os.rmdir`, nie `rmtree`). `RawResult.json` fuehrt `arbeitsverzeichnis` und `arbeitswurzel`. Adapter-Version 2.3.0, zwei Regressionstests. | Sechs Laeufe der Iteration 13/6 erzeugten kein einziges Artefakt, obwohl `gemma-4-e4b` die richtigen Dateinamen bildete: Es loest `Ergebnisse/StRS.md` relativ zum Arbeitsverzeichnis auf, wo die eingefrorene Codebasis liegt - jeder Schreibversuch wurde abgewiesen. Ein umformulierter Ausgabeblock (Iteration 14/7) half nur in zwei von sechs Laeufen und entfernte den Prompt zugleich vom Wortlaut der Claude-Laeufe. Der Spiegel loest das Problem **strukturell**: Der Prompt bleibt unveraendert bei der Fassung, mit der die Claude-Laeufe gemessen wurden, und die Codebasis bleibt unberuehrt - die Verknuepfungen liegen im Spiegel, nicht im Snapshot. Eine Arbeitskopie wie beim Codex-Adapter schied aus: ueber zehn Minuten fuer 24.663 Dateien je Lauf. Verifiziert: `src` und `README.md` durch den Spiegel lesbar, relativer Schreibpfad landet im Laufverzeichnis, Abbau laesst die Ergebnisse stehen und die Quelle unveraendert. MAJOR: Der Isolationsmechanismus ist eine Versuchsbedingung; Laeufe ab dieser Version sind mit den frueheren nicht poolbar. | ab Iteration 15 (V1) bzw. 8 (V2) |
| **12.2.0** | **`analyse-anforderungen.py` erkennt Feldnamen in Markdown-Fettschrift und Modulpraefixe in IDs.** `**ID:** M003-StRS-01` wird wie `ID: StRS-01` gelesen; die Ebene wird aus der ID auch dann bestimmt, wenn ein Praefix vorangeht. Zwei neue Hilfsskripte: `lauf-uebersicht.py` verdichtet die `RawResult.json` einer Matrix zu einer Tabelle und zeigt mit `--details` die tatsaechlichen Schreibziele; `protokoll-geruest.py` erzeugt aus den Rohdaten eines Laufs das Protokollgeruest und fuellt nur belegbare Felder - Deutung und Gueltigkeit bleiben Handarbeit. | Der erste lokale Lauf mit Artefakten (`Iteration 7/.../v12.1.0-001c`) erzeugte vier regelkonform gefuellte Dateien, wurde vom Parser aber mit **0 Anforderungen** gezaehlt: Das Modell formatierte die Feldnamen als Markdown. Nach der Korrektur sind es **9**. Die Praefixregel behob zugleich eine falsche Auffaelligkeitsmeldung ('StRS-Block in StRS.md' als Fremdablage). Regressionsprobe an vier Claude-Laeufen: 42/82/60/73 Anforderungen vor und nach der Aenderung identisch - die Korrektur findet nur zusaetzlich, was zuvor uebersehen wurde. `lauf-uebersicht.py` entstand, weil `written_files` bei fehlgeleiteten Schreibversuchen schlicht leer bleibt und die Ursache so unsichtbar ist. MINOR: Korrektur am Messinstrument, keine Aenderung der Versuchsbedingung; rueckwirkend auf alle Laeufe anwendbar. | rueckwirkend; ab sofort |