Lokale Matrix liefert Ergebnisse: 119 Anforderungen aus Gemma und Qwen

Skill 13.0.0/13.1.0, Adapter 2.5.2.

Spiegel-Arbeitsverzeichnis: OpenCode laeuft nicht mehr direkt im
Codebasis-Root, sondern in einem Verzeichnis aus Junctions auf die
Top-Level-Eintraege, mit einem echten Ergebnisverzeichnis, dessen Inhalt
nach dem Lauf uebernommen wird. Damit landen relative wie absolute
Ausgabepfade am richtigen Ort, ohne dass der Prompt vom Wortlaut der
Claude-Laeufe abweichen muss. Der Spiegel liegt in _meta des Laufs; die
Codebasis bleibt unberuehrt.

Der Spiegel allein genuegte nicht. Sechs Laeufe schrieben mit korrektem
absolutem Pfad und wurden dennoch abgewiesen, weil OpenCode Ziele im
Repository gegen den worktree-relativen Pfad abgleicht - ein Befund, der
seit Skill 10.0.2 dokumentiert war und erst sichtbar wurde, als der
Spiegel vom Temp-Verzeichnis ins Projekt wanderte.

analyse-anforderungen.py erkennt Kennungen als Markdown-Ueberschrift, auch
ohne Feldnamen, sofern die Pflichtfelder folgen. Regressionsprobe an fuenf
Claude-Laeufen unveraendert.

Ergebnisse der gueltigen Laeufe: Qwen 3.5-9B liefert 107 der 119
Anforderungen, davon 75 im Modus custom mit nur drei Subagenten. Gemma
kommt auf 12. Der Modus builtin fiel bei beiden Modellen aus - drei von
drei Laeufen endeten nach einem Turn ohne einen Werkzeugaufruf. Die 13
Laeufe mit Adapter 2.3.0 bis 2.5.1 sind Artefakte der Fehlersuche und
als adapterbedingte Fehlmessungen gekennzeichnet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christoph Schwörer
2026-09-01 22:49:53 +02:00
co-authored by Claude Opus 5
parent 28e927013b
commit 6c5c26a2e4
416 changed files with 85993 additions and 13 deletions
+15 -6
View File
@@ -8,7 +8,11 @@ param(
# Variante des Ausgabe-Blocks. 'standard' ist der Wortlaut, mit dem die
# Claude-Laeufe gemessen wurden. 'explizit' verbietet relative Pfade
# ausdruecklich - eigene Versuchsbedingung, eigene Iteration.
[ValidateSet('standard','explizit')][string]$Ausgabeblock = 'standard'
[ValidateSet('standard','explizit')][string]$Ausgabeblock = 'standard',
# 'spiegel' gibt OpenCode ein Arbeitsverzeichnis aus Verknuepfungen, in dem
# 'Ergebnisse/' auf das Laufverzeichnis zeigt. Damit wirken relative wie
# absolute Ausgabepfade, ohne dass der Prompt angepasst werden muss.
[ValidateSet('root','spiegel')][string]$Arbeitsverzeichnis = 'spiegel'
)
$ErrorActionPreference = 'Continue'
@@ -17,9 +21,9 @@ $skill = Join-Path $repo '.claude\skills\run-experiment'
$adapter = Join-Path $skill 'opencode-adapter.py'
$root = Join-Path $repo 'QuellCode\CentronERP'
$agents = Join-Path $repo 'Versuche\Versuch_02\03_Agents.json'
$skillVer = 'v12.1.0'
$iterV1 = if ($Ausgabeblock -eq 'explizit') { 'Iteration 14' } else { 'Iteration 13' }
$iterV2 = if ($Ausgabeblock -eq 'explizit') { 'Iteration 7' } else { 'Iteration 6' }
$skillVer = 'v13.0.0'
$iterV1 = if ($Arbeitsverzeichnis -eq 'spiegel') { 'Iteration 15' } elseif ($Ausgabeblock -eq 'explizit') { 'Iteration 14' } else { 'Iteration 13' }
$iterV2 = if ($Arbeitsverzeichnis -eq 'spiegel') { 'Iteration 8' } elseif ($Ausgabeblock -eq 'explizit') { 'Iteration 7' } else { 'Iteration 6' }
$maxRun = 28800 # 8 h je Lauf; 6 Laeufe = bis zu 48 h gesamt
$werkzeugkontext = @{
@@ -86,7 +90,7 @@ $laeufe = @(
if ($Modelle) { $laeufe = $laeufe | Where-Object { $Modelle -contains $_.modell } }
$protokoll = Join-Path $repo 'Versuche\_lmstudio_matrix.log'
Add-Content -Path $protokoll -Value "Matrixstart $(Get-Date -Format o); Skill $skillVer; Ausgabeblock: $Ausgabeblock; Modelle: $(($laeufe.modell | Select-Object -Unique) -join ', ')"
Add-Content -Path $protokoll -Value "Matrixstart $(Get-Date -Format o); Skill $skillVer; Ausgabeblock: $Ausgabeblock; Arbeitsverzeichnis: $Arbeitsverzeichnis; Modelle: $(($laeufe.modell | Select-Object -Unique) -join ', ')"
foreach ($l in $laeufe) {
$modell = $l.modell
@@ -156,7 +160,12 @@ Verändere keine Dateien im Arbeitsverzeichnis (der analysierten Codebasis).
'--effort', 'high',
'--mode', $modus,
'--min-context', '32768',
'--lmstudio-context', 'max',
'--arbeitsverzeichnis', $Arbeitsverzeichnis,
# Feste Kontextgroesse statt Modellmaximum: Gemma kann 131.072, Qwen 3.5-9B
# 262.144. Bei vollem Qwen-Kontext bleiben nur 294 MiB VRAM frei und der
# Durchsatz faellt von 27 auf 10,8 tok/s. Gleicher Wert fuer beide Modelle
# haelt zudem das Kontextfenster als Versuchsbedingung konstant.
'--lmstudio-context', '131072',
'--lmstudio-parallel', '4',
'--lmstudio-gpu', 'max',
'--lmstudio-autoload',