# MiniLlama — Modell-Testbericht

> Stand: 2026-07-09, getestet auf **Ryzen 5 2500U** (14 GB RAM, 4,7 GB Swap, CPU-only)
> Testumgebung: llama.cpp b9936, 4 Threads, ctx-size 4096, Temperatur 0.1

---

## 🏆 Testsieger: LFM2-8B-A1B-UD-Q4_K_XL

| Eigenschaft | Wert |
|---|---|
| **Datei** | `LFM2-8B-A1B-UD-Q4_K_XL.gguf` |
| **Größe** | 4,5 GB |
| **Architektur** | MoE (1,5B aktiv / 8,5B total) |
| **Quelle** | [hugging-quants/LFM-8B-A1B](https://huggingface.co/hugging-quants/LFM-8B-A1B) |
| **IFEval** | 79,44 |
| **Ladezeit** | 12s (SSD) |
| **Prompt-Processing** | ~29 t/s |
| **Generation** | ~16,2 t/s |
| **RAM-Nutzung** | ~5 GB |

### ✅ Wiki-Test (IFTMIN für OBI)
- **FILE:-Pattern:** Immer korrekt
- **3 Wiki-Seiten:** Alle erstellt
- **Struktur:** Sehr gut (Tabellen, Überschriften, Codeblöcke)
- **Inhalt:** Fakten treu, gut formatiert

### ⚠️ Bekannte Limitierungen
- Keine

---

## 🥇 Qualitätssieger: LFM2-24B-A2B-Q3_K_XL

| Eigenschaft | Wert |
|---|---|
| **Datei** | `LiquidAI_LFM2-24B-A2B-Q3_K_XL.gguf` |
| **Größe** | 11 GB |
| **Architektur** | MoE (8B aktiv / 24B total) |
| **Quelle** | [hugging-quants/LFM-24B-A2B](https://huggingface.co/hugging-quants/LFM-24B-A2B) |
| **IFEval** | ~85 (geschätzt, A2B-Variante) |
| **Ladezeit** | 14,6s (SSD) |
| **Prompt-Processing** | ~17 t/s |
| **Generation** | ~11,4 t/s |
| **RAM-Nutzung** | ~11 GB (mit mmap, nutzt Swap) |

### ✅ Wiki-Test (IFTMIN für OBI)
- **FILE:-Pattern:** Korrekt (alle 3 Dateien)
- **3 Wiki-Seiten:** Alle erstellt
- **Struktur:** Sehr gut
- **Inhalt:** Tiefere Einsichten und präzisere Zusammenhänge als 8B-Modell
- **Nuancen:** Deutlich bessere Unterscheidung zwischen Classic EDI und Web-IFTMIN

### ⚠️ Bekannte Limitierungen
- Braucht ~11 GB RAM + Swap → läuft, aber eng auf 14-GB-Maschine
- Auf Zielmaschine mit besserer GPU empfohlen

---

## ❌ Getestet — Nicht empfohlen

### LFM2-8B-A1B-IQ4_XS (4,2 GB)
| Test | Ergebnis |
|---|---|
| Ladezeit | 6s |
| Speed | 16,4 t/s |
| FILE:-Pattern | ❌ **Fehlt komplett** |
| Wiki-Qualität | ⚠️ Nur 2 von 3 Seiten |
| **Urteil** | Quantisierung zu aggressiv — Instruction Following bricht ein |

### LFM2-8B-A1B-Q3_K_XL (3,8 GB)
| Test | Ergebnis |
|---|---|
| Ladezeit | 6s |
| Speed | 15,3 t/s |
| FILE:-Pattern | ❌ **Fehlt oft** |
| Wiki-Qualität | ⚠️ Schwächer, unvollständig |
| **Urteil** | Q3-K quantisierung verliert zu viel Qualität |

---

## ✅ Früher getestet

| Modell | Größe | Speed | FILE:-Pattern | Status |
|---|---|---|---|---|
| Gemma 3 4B IT Q4_K_M | 2,4 GB | ~25 t/s | ✅ | Läuft auf Stick |
| Phi-4-mini Q4_K_M | 2,5 GB | ~22 t/s | ✅ | Läuft auf Stick |
| Qwen3.5-4B Q5_K_M | 3,0 GB | ~18 t/s | ✅ | Läuft auf Stick |
| Gemma-4-E2B Q4_K_M | 2,9 GB | ~20 t/s | ? | Läuft auf Stick |
| Qwen2.5-1.5B Q4_K_M | 1,0 GB | ~30 t/s | ❌ | Zu schwach |
| MiniCPM5-1B Q4_K_M | 688 MB | - | ❌ | Inkompatibel (Chat-Template) |

---

## Test-Setup

### Hardware
- **CPU:** AMD Ryzen 5 2500U (4 Kerne/8 Threads)
- **RAM:** 14 GB DDR4
- **Swap:** 4,7 GB auf SSD
- **GPU:** AMD Radeon Vega Mobile (shared Memory, 1 GB reserviert) — nicht genutzt
- **Speicher:** Samsung SSD (diverse)

### Software
- **llama.cpp:** b9936 (CPU-only, keine GPU-Beschleunigung)
- **Threads:** 4 (`-t 4`)
- **Kontext:** 4096 (`--ctx-size 4096`)
- **GPU-Layers:** 0 (`--n-gpu-layers 0`)

### Test-Prompt (Wiki-Test)
```text
System: You are a Wiki Builder. Output FILE: path on its own line,
        then fenced code block with complete markdown content.

User: Create wiki pages about IFTMIN for OBI.
      TOPIC 1: GLN & NVE — ...
      TOPIC 2: Classic EDI vs Web-IFTMIN — ...
      Create: FILE: wiki/inhalt.md, FILE: wiki/GLN-NVE-Grundlagen.md,
              FILE: wiki/Classic-EDI-vs-Web-IFTMIN.md
```

### Erfolgskriterien
1. **FILE:-Pattern:** Wird `FILE:` auf eigener Zeile vor dem Codeblock ausgegeben?
2. **Vollständigkeit:** Werden alle angeforderten Dateien erstellt?
3. **Qualität:** Ist der Inhalt strukturiert, fakten-treu, nützlich?
4. **Geschwindigkeit:** Reicht die Token-Rate für flüssigen Chat (>8 t/s)?

---

## Vergleich 8B vs 24B für Wiki-Ingest (`:wiki` Befehl)

> Getestet im `:wiki`-Befehl (Chunked: eine Seite pro Request, ctx-size 8192)

| Kriterium | 8B Q4_K_XL 🏆 | 24B Q3_K_XL |
|-----------|-------------|--------------|
| **Dauer: 12 Wiki-Seiten** | **~22 Min** | ~50 Min (Timeout) |
| **Generation Speed** | 15-20 t/s | 8,5-10 t/s |
| **Prompt-Processing** | ~29 t/s | ~13 t/s |
| **FILE:-Pattern (Harness)** | ✅ Immer korrekt | ❌ Unzuverlässig |
| **"Siehe auch"-Verweise** | ✅ Automatisch (11/12) | ✅ Automatisch |
| **Inhaltstiefe** | ✅ Sehr gut | ✅ Etwas tiefer |
| **Fazit** | **Empfohlen für Harness** | Nur bei spez. Qualitätslücken |

**Empfehlung:** 8B als Standard im CLI. 24B nur gezielt einsetzen wenn 8B-Qualität nicht ausreicht.

## CLI Harness: `:wiki` Befehl

Der `:wiki` Befehl im CrowdCode CLI wurde erweitert:
- Liest `raw/` + `AGENTS.md` aus dem Workspace
- Erstellt Wiki-Seiten Chunked (eine pro Request) — verhindert Prompt-Overload
- Konfigurierbar via ENV: `LLAMA_CTX_SIZE`, `LLAMA_TIMEOUT`
- Flexible Pattern-Erkennung: `FILE:`, `path:`, `Datei:`, orphane Codeblöcke
- Funktioniert mit 8B (schnell) und 24B (langsam)

### Qualitätsstufen (Entscheidungsbaum)
1. **8B als Ersteller** → Qualität prüfen (schnell, ~22 Min für 12 Seiten)
2. **8B als Kritiker** → Bei Lücken: 8B reviewt eigene Arbeit (schnell)
3. **24B Feinschliff** → Nur wenn 8B+8B nicht reicht (langsam, ~50 Min)
