From 6e573d55519030c63efed3d2b509ab2e7a80d59d Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Sat, 22 Aug 2026 13:41:58 +0200 Subject: [PATCH] fix(modellwahl): coder statt fast als Standard - meine Empfehlung war unbelegt Bis heute stand fast als Standard mit der Begruendung, es schlage den coder in Tempo UND Qualitaet. Das Tempo war gemessen, die Qualitaet nie ('keine agentische Messung', Notiz vom 20.08.). Qwens Zahlen sagen das Gegenteil: einzelschuss gleichauf (SWE-bench 73,4), agentisch zieht Qwen3.8-27B davon (Terminal-Bench 73,0, DeepSWE 42,2 gegen 13,3, OSWorld 84,3). Preis gemessen: gleiche Aufgabe 24,3 s mit fast, 89,3 s mit coder. Aufteilung jetzt: coder baut, heavy plant, das warme hermes erkundet. Konfiguration ausserdem ins Repo geholt - sie lag nur an einer Stelle. Co-Authored-By: Claude Opus 5 --- deploy/opencode-config/ARBEITSANWEISUNG.md | 10 +++ deploy/opencode-config/README.md | 51 ++++++++++++ deploy/opencode-config/opencode.json | 96 ++++++++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 deploy/opencode-config/ARBEITSANWEISUNG.md create mode 100644 deploy/opencode-config/README.md create mode 100644 deploy/opencode-config/opencode.json diff --git a/deploy/opencode-config/ARBEITSANWEISUNG.md b/deploy/opencode-config/ARBEITSANWEISUNG.md new file mode 100644 index 0000000..12f2995 --- /dev/null +++ b/deploy/opencode-config/ARBEITSANWEISUNG.md @@ -0,0 +1,10 @@ +# Arbeitsanweisung (gilt fuer jeden Auftrag) + +Arbeite Datei fuer Datei. Lies HOECHSTENS zwei Dateien, bevor du die erste aenderst. +Kein Gesamtplan, keine Vollinventur. Eine halbfertige Aenderung ist wertvoller als +eine vollstaendige Analyse ohne Aenderung. + +- Nach jeder geaenderten Datei: kurz sagen, was geaendert wurde, dann zur naechsten. +- Nicht erst das ganze Projekt kartieren. Nicht auf Vollstaendigkeit warten. +- Wenn du unsicher bist, aendere die wahrscheinlichste Datei und pruefe danach. +- Schreiben schlaegt Lesen. diff --git a/deploy/opencode-config/README.md b/deploy/opencode-config/README.md new file mode 100644 index 0000000..484aca6 --- /dev/null +++ b/deploy/opencode-config/README.md @@ -0,0 +1,51 @@ +# OpenCode-Konfiguration des PCs + +**Hier liegt die Quelle. `%USERPROFILE%\.config\opencode\` ist die Kopie.** + +Am 21.08.2026 habe ich die dortige `opencode.json` ueberschrieben, ohne sie +vorher zu lesen — sie existierte nur an dieser einen Stelle, ohne Sicherung und +ohne Historie. Rekonstruiert aus einer Juli-Sicherung. Damit das nicht nochmal +passiert, liegt sie jetzt hier. + +```powershell +Copy-Item "deploy\opencode-config\*" "$env:USERPROFILE\.config\opencode\" -Force +``` + +## Modellwahl (Stand 22.08.2026) + +| Rolle | Modell | warum | +|---|---|---| +| **build** | `aibox/coder` — Qwen3.8-27B (dicht) | macht die eigentliche Arbeit | +| **plan** | `aibox/heavy` — gpt-oss-120b | denkt vor, aendert nichts | +| **explore** | `aibox/hermes` — Qwen3.6-35B-A3B | liest und sucht, immer warm | +| `small_model` | `aibox/hermes` | Titel, Zusammenfassungen | + +★★ **Korrektur einer falschen Empfehlung.** Bis zum 22.08. stand hier `fast` +(Qwen3.6-35B-A3B, MoE) als Standard, mit der Begruendung, es schlage den `coder` +„in Tempo und Qualitaet". **Das Tempo war gemessen, die Qualitaet nie** — in der +Notiz vom 20.08. steht fuer den Coder woertlich „keine agentische Messung". + +Die veroeffentlichten Zahlen sagen etwas anderes: + +| | `fast` (3.6-35B-A3B) | `coder` (3.8-27B) | +|---|---|---| +| SWE-bench Verified | ~73,4 | 73,4 | +| Terminal-Bench 2.1 | — | **73,0** | +| DeepSWE 1.1 | — | **42,2** (Vorgaenger 3.6-27B: 13,3) | +| OSWorld-Verified | — | **84,3** | + +**Einzelschuss gleichauf, agentisch ueber viele Schritte zieht der Coder davon** — +und genau das ist der Betrieb hier. Alle Zahlen stammen von Qwen selbst, teils +aus eigenen Benchmark-Fassungen; sie sind ein Indiz, kein Beweis. + +**Der Preis, gemessen:** dieselbe Leseaufgabe brauchte mit `fast` **24,3 s**, +mit `coder` **89,3 s** — 3,7× laenger in der Wanduhr. Der Coder ist dicht und +bandbreitenlimitiert (17 GB / 215 GB/s ≈ 12,6 t/s, Hardware-Grenze, kein +Konfigfehler). Er hat ausserdem `ttl=5400`, faellt also nach 90 Minuten aus dem +Speicher und muss neu laden. + +**Was noch aussteht:** der echte Vergleich an einer echten Aufgabe. +`F:\Coding Stuff\mc2-referenz` liegt genau dafuer bereit — 17 Dateien, davon 5 +erledigt, mit objektivem Pruefbefehl `docs/aufgaben/referenz-check.sh`. +Erst dieser Lauf entscheidet die Frage; bis dahin ist die Modellwahl begruendet, +aber nicht bewiesen. diff --git a/deploy/opencode-config/opencode.json b/deploy/opencode-config/opencode.json new file mode 100644 index 0000000..aa59410 --- /dev/null +++ b/deploy/opencode-config/opencode.json @@ -0,0 +1,96 @@ +{ + "$schema": "https://opencode.ai/config.json", + "provider": { + "aibox": { + "npm": "@ai-sdk/openai-compatible", + "name": "AI-Box (ueber MC2 :9001)", + "options": { + "baseURL": "http://192.168.178.151:9001/v1", + "apiKey": "local" + }, + "models": { + "fast": { + "name": "fast - Qwen3.6-35B-A3B (MoE) - schnell, fuer Erkunden und Kleinkram", + "tool_call": true, + "limit": { + "context": 131072, + "output": 16384 + } + }, + "heavy": { + "name": "heavy - Planen / Review", + "tool_call": true, + "limit": { + "context": 32768, + "output": 8192 + } + }, + "hermes": { + "name": "hermes - Erkunden (immer warm)", + "tool_call": true, + "limit": { + "context": 65536, + "output": 8192 + } + }, + "coder": { + "name": "coder - Qwen3.8-27B (dicht) - Standard fuers Bauen, agentisch am staerksten", + "tool_call": true, + "limit": { + "context": 131072, + "output": 16384 + } + } + } + } + }, + "model": "aibox/coder", + "small_model": "aibox/hermes", + "instructions": [ + "C:/Users/TobisPC/.config/opencode/ARBEITSANWEISUNG.md" + ], + "autoupdate": false, + "agent": { + "plan": { + "model": "aibox/heavy", + "permission": { + "edit": "deny", + "bash": "deny" + } + }, + "build": { + "model": "aibox/coder", + "permission": { + "edit": "allow", + "webfetch": "allow", + "bash": { + "*": "allow", + "ssh *": "deny", + "scp *": "deny", + "sftp *": "deny", + "ssh arcane@192.168.178.162 *": "allow", + "ssh -o StrictHostKeyChecking=no arcane@192.168.178.162 *": "allow", + "scp *arcane@192.168.178.162*": "allow" + } + } + }, + "explore": { + "mode": "subagent", + "description": "Codebase schnell durchsuchen, Dateien finden, Fragen zum Code beantworten - nur lesen, laeuft auf dem immer warmen Hirn", + "model": "aibox/hermes", + "permission": { + "edit": "deny", + "bash": "deny" + } + }, + "review": { + "mode": "subagent", + "description": "Kritischer Code-Review nach jeder Etappe (Pflicht laut AGENTS.md): sucht erfundene APIs/CLI-Flags, stille Abweichungen vom KONZEPT, fehlende Tests, toten Code - meldet Befunde, aendert nichts", + "model": "aibox/heavy", + "permission": { + "edit": "deny", + "bash": "deny" + } + } + } +}