# Modellprofile — Eignung der lokalen GGUF-Modelle Dieses Dokument beschreibt, **wofür** sich die Modelle unter `$HF_HOME/models/qwen3/` jeweils eignen, unabhängig von den Beispiel-Prompts in `example_system_prompts/`. Grundlage sind die Modellkarten auf Hugging Face (Stand Juli 2026) sowie die eigenen Testläufe unter `~/llamacppctl_prompt_tests/`. > Die Angaben zu Fähigkeiten und Benchmarks stammen, wo nicht anders vermerkt, > **von den Modellautoren selbst** und sind nicht unabhängig verifiziert. ## Übersicht | Datei | Profil | Basis | Primäre Eignung | |---|---|---|---| | `ornith-1.0-35b-Q4_K_M.gguf` | `ornith35b` | Qwen3.5-MoE | Agentisches Coding | | `Carnice-Qwen3.6-MoE-35B-A3B-Q4_K_M.gguf` | `carnice` | Qwen3.6-35B-A3B | Agenten-/Tool-Calling-Workflows | | `Qwopus3.6-35B-A3B-v1-Q4_K_M.gguf` | `qwopus` | Qwen3.6-35B-A3B | Reasoning, Vision, Tool-Calling | | `Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf` | `[default]` | Qwen3.6-35B-A3B | Kreatives Schreiben ohne Verweigerungen | | `Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS.gguf` | `qwen27b` | Qwen3.6-27B (dense) | Wie oben, kleinerer VRAM-Bedarf | | `mmproj.gguf` | — | Qwen3.6-35B-A3B | Vision-Projektor (kein eigenständiges Modell) | Alle 35B-A3B-Modelle sind MoE mit **3 B aktiven Parametern** pro Token: hoher Durchsatz bei 21 GB VRAM-Bedarf. Das 27B ist dense — langsamer pro Token, aber nur ~15 GB. ## Ornith-1.0-35B — agentisches Coding Quelle: [`deepreinforce-ai/Ornith-1.0-35B-GGUF`](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B-GGUF) (MIT) Ein dediziertes Coding-Modell aus einer selbstverbessernden Modellfamilie. Das Trainings-Framework erzeugt per RL nicht nur Lösungs-Rollouts, sondern optimiert auch das treibende Scaffold gemeinsam mit ihnen. Beworben mit SOTA unter vergleichbar großen Open-Source-Modellen auf Terminal-Bench 2.1, SWE-Bench, NL2Repo und OpenClaw. Reasoning-Modell: die Assistant-Antwort beginnt mit einem ``-Block. **Einsetzen für:** Code-Generierung, Refactoring, Repo-weite Aufgaben, Agenten-Loops mit Tool-Calls. **Nicht einsetzen für:** Prosa und Reden — dafür ist das Sampling im Profil (`temp = 0.20`) bewusst deterministisch gewählt. Beachte: Basis ist **Qwen3.5**-MoE (`qwen3_5_moe`), nicht 3.6. Die lokale `mmproj.gguf` passt deshalb *nicht* zu diesem Modell. ## Carnice-Qwen3.6-MoE-35B-A3B — Agenten-Workflows Quelle: [`samuelcardillo/Carnice-Qwen3.6-MoE-35B-A3B`](https://huggingface.co/samuelcardillo/Carnice-Qwen3.6-MoE-35B-A3B) QLoRA-Finetune von Qwen3.6-35B-A3B, trainiert auf echten Execution-Traces der Hermes-Agent-Runtime. Das erklärte Ziel ist, dem Modell die konkreten Konversationsmuster beizubringen, die ein Agenten-Runtime erwartet — nicht generisches Reasoning. **Einsetzen für:** Tool-Calling-Pipelines, Agenten-Orchestrierung (z. B. n8n), strukturierte Mehrschritt-Abläufe. ## Qwopus3.6-35B-A3B-v1 — Reasoning + Vision Quelle: [`Jackrong/Qwopus3.6-35B-A3B-v1`](https://huggingface.co/Jackrong/Qwopus3.6-35B-A3B-v1) Reasoning-verstärkter Finetune, dreistufiges SFT mit progressiv steigender Reasoning-Komplexität. Unterstützt Vision und Tool-Calling. **Einsetzen für:** Aufgaben mit langer Gedankenkette, multimodale Eingaben. **Vorbehalt:** Der Autor kennzeichnet das Modell ausdrücklich als experimentell, ohne vollständige Performance- oder Sicherheitsevaluation. Für reines Coding gibt es die separate Variante [`Qwopus3.6-35B-A3B-Coder-MTP`](https://huggingface.co/Jackrong/Qwopus3.6-35B-A3B-Coder-MTP-GGUF) (thinking-off, 62,4 % auf einem 300-Fall-SWE-Bench-Lauf) — lokal nicht vorhanden. ## HauhauCS Uncensored (35B-A3B und 27B) — kreatives Schreiben Quellen: [35B-A3B](https://huggingface.co/HauhauCS/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive), [27B](https://huggingface.co/HauhauCS/Qwen3.6-27B-Uncensored-HauhauCS-Aggressive) **Abliterierte** Modelle: keine neuen Fähigkeiten, entfernte Verweigerungen (Modellkarte: „0/465 Refusals"). Alle Quants mit imatrix erzeugt. Beide sind multimodal. **Einsetzen für:** Prosa, Reden, Dialog, Rollenspiel — Themen, bei denen ein aligntes Modell abbricht. **Nicht einsetzen für:** Coding. Eigene Testläufe zeigen wiederkehrend Tests, die inkonsistent zum selbst erzeugten Schema sind, erfundene Framework-Aussagen und Benchmarks mit erfundenen Messwerten. Zwei Punkte, die in der aktuellen Konfiguration relevant sind: 1. Die Karte des 27B empfiehlt selbst, dass **99,9 % der Nutzer die `Balanced`-Variante** nehmen sollten statt `Aggressive`. Beide erreichen dieselbe Refusal-Rate; `Balanced` bietet zusätzlich stabileres Sampling für agentic coding, Tool-Use und Reasoning. `Aggressive` spart lediglich Vorreden. Aktuell sind beide lokalen HauhauCS-Modelle `Aggressive`. 2. Die Behauptungen „lossless" und „zero capability loss" stammen vom Autor der Modellkarte. Abliteration kostet in aller Regel *etwas* Fähigkeit. ## Abliterations-Vergleich (gemessen 2026-07-10) Kontrollmodell: `bartowski/Qwen_Qwen3.6-35B-A3B-Q4_K_M` — das **nicht** abliterierte Basismodell, imatrix-Q4_K_M und damit methodengleich zum HauhauCS-Quant. Beide liefen mit identischem Sampling, `ctx_size` und KV-Cache (nur Modell, Container, Port und GPU unterschieden sich). **Sieben Prosa-Prompts, keine einzige Verweigerung — bei keinem der beiden Modelle.** Weder die vier Standard-Prompts (`prosa_01`–`04`) noch die drei Reizprompts (`prosa_06`–`08`: Täterperspektive ohne Reue, unzuverlässiger Erzähler ohne Einsicht, Rausch ohne Warnung) brachten das aligned Basismodell zum Ausweichen. Kein `refusal`, kein `preamble`, kein moralisierender Schluss. Daraus folgt: **auf literarischer Prosa bringt die Abliteration keinen messbaren Vorteil.** Das Basismodell verweigert dort schlicht nicht. Wer die abliterierte Variante wegen der Textsorte einsetzt, zahlt möglicherweise für eine Eigenschaft, die er nicht braucht. Auf der Kostenseite (Einzellauf pro Zelle, `temp = 0.65` — unterbestimmt, siehe [`EVAL_RUBRIC.md`](EVAL_RUBRIC.md)): - Längentreue: das Basismodell ist bei den Reizprompts in zwei von drei Fällen näher am Ziel (+5,1 % / −17,1 % / −7,0 % gegenüber −31,2 % / −7,0 % / +16,0 %). - „Show, don't tell" (`prosa_01`, benannte Gefühle je 1000 Wörter): beide bei 0. - Sprachrichtigkeit: das abliterierte Modell leistet sich in denselben Prompts deutsche Fehler („Lieber Clara" statt „Liebe Clara") und semantisch leere Sätze („Der Wecker tickt um vierundfünfzig"), das Basismodell nicht. Die literarischen Kriterien 2–5 der Rubrik (Schlussbild, Ton, Präzision, Komposition) sind damit **nicht** entschieden — sie verlangen Lesen, nicht Zählen, und ein Lauf pro Zelle ist zu wenig. ## Empirische Befunde (eigene Läufe) Getestet gegen das Default-Modell (HauhauCS 35B-A3B), Reasoning aktiv, ctx 262144: - **Längenvorgaben werden nicht präzise getroffen** (−27 % bis +26 % über sechs Läufe). Länge als Spanne vorgeben oder im zweiten Turn nachjustieren. - **Reasoning frisst das Antwortbudget.** Bei `--max-tokens 10000` endeten schwere Aufgaben in `finish_reason=length`. Für Prosa/Reden/Dialog `--max-tokens` ≥ 16000 wählen. - **`--chat` ohne `--stream`** läuft bei langem Output in den Read-Timeout. Immer `--stream` verwenden (jeder Token setzt den Timeout zurück). - **Coding: Struktur gut, Korrektheit unzuverlässig.** Generierten Code und generierte Tests immer wirklich ausführen. Rohdaten: `~/llamacppctl_prompt_tests/`. ## Vision (mmproj) Die lokale `mmproj.gguf` (902 MB) ist der Vision-Encoder des **Basismodells Qwen3.6-35B-A3B** (aus dem unsloth-Repo). GGUF-Metadaten: ``` general.architecture = clip general.name = Qwen3.6 35B A3B clip.projector_type = qwen3vl_merger clip.has_vision_encoder ``` Ein mmproj ist kein eigenständiges Modell, sondern projiziert Bild-Embeddings in den Textmodell-Raum. Er muss zum Vision-Tower der jeweiligen Basis passen. | Modell | mmproj.gguf passt? | |---|---| | HauhauCS 35B-A3B | ja (Basis Qwen3.6-35B-A3B) | | Qwopus3.6-35B-A3B | ja (dieselbe Basis) | | Carnice-Qwen3.6-MoE-35B-A3B | ja (dieselbe Basis) | | `ornith-1.0-35b` | **nein** — Basis Qwen3.5-MoE, eigener Projektor nötig | | HauhauCS 27B (dense) | **nein** — anderer Vision-Encoder | Verwendung über `llamacppctl` (siehe `[model.vision]` in `llama.cpp.config`): ```bash llamacppctl --start --config llama.cpp.config --profile vision ``` Das Profil setzt `mmproj = models/qwen3/mmproj.gguf`; der Pfad wird — wie `model_path` — relativ zu `hf_home` aufgelöst und als `--mmproj` an den llama.cpp-Server durchgereicht. Der Projektor wird standardmäßig auf die GPU ausgelagert; `mmproj_offload = false` bzw. `--no-mmproj-offload` verhindert das, wenn der VRAM knapp ist. Bilder gehen anschließend über den OpenAI-kompatiblen Endpunkt `/v1/chat/completions` als `image_url`-Content-Part. `llamacppctl --chat` sendet derzeit nur Text; für Bild-Requests den Endpunkt direkt ansprechen. ## MTP / Speculative Decoding (nicht lokal vorhanden) Für Ornith, Carnice und Qwopus existieren **MTP-Quants** mit eingebettetem Multi-Token-Prediction-Head. Mit hinreichend aktuellem llama.cpp erlauben sie self-speculative Decoding ohne separates Draft-Modell (`--draft-mtp`); Community-Berichte nennen etwa doppelten Decode-Durchsatz bei ~2,5 % größerer Datei. Die im pyproject gepinnte Image-Version muss das unterstützen. ## Quellen - - - - - - - -