# Setze dein Trainingsziel: Prompt, RAG oder Fine-Tuning?

Der teuerste Fehler bei lokaler KI ist nicht ein gescheiterter Trainingslauf — es ist ein *erfolgreicher* Trainingslauf, der das falsche Problem loest. Bevor dein Drache ein einziges Beispiel frisst, brauchst du ein praezises Trainingsziel und den Beweis, dass Fine-Tuning ueberhaupt das richtige Werkzeug ist. Diese Lektion gibt dir ein Entscheidungs-Framework, das Teams nutzen, die fine-getunte Modelle wirklich ausliefern.

## Die drei Werkzeuge, ehrlich verglichen

Wenn ein Modell nicht tut, was du willst, hast du drei eskalierende Optionen:

**1. Prompting (kostenlos, sofort).** Schreib bessere Anweisungen, fuege Beispiele in den Prompt ein (Few-Shot), definiere das Ausgabeformat. Das loest mehr Probleme, als die meisten Leute glauben.

**2. RAG — Retrieval-Augmented Generation (guenstig, schnell gebaut).** Speichere deine Dokumente in einem Suchindex; hole relevante Abschnitte und fuege sie zur Fragezeit in den Prompt ein. Das ist das richtige Werkzeug, wann immer das Problem lautet: *das Modell kennt meine Fakten nicht*.

**3. Fine-Tuning (dieser Kurs).** Die Gewichte des Modells mit Trainingsbeispielen tatsaechlich veraendern. Das richtige Werkzeug, wenn das Problem lautet: *das Modell verhaelt sich nicht so, wie ich es brauche* — falscher Ton, falsches Format, ignoriert aufgabenspezifische Anweisungen, spricht nicht die Sprache deiner Domaene.

<div class="concept-box">
<h4>Konzept</h4>
Die Einzeiler-Regel, die die ganze Branche nutzt: <strong>Fine-Tuning lehrt Verhalten, RAG liefert Wissen.</strong> Fakten aendern sich — pack sie in eine Datenbank. Verhalten ist stabil — back es in die Gewichte. Viele Produktionssysteme nutzen beides: ein fine-getuntes Modell <em>plus</em> RAG.
</div>

Hier die Entscheidung als Flowchart:

<svg viewBox="0 0 720 420" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Entscheidungs-Flowchart: Prompt vs RAG vs Fine-Tuning">
    <defs>
    <marker id="arr" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto">
      <path d="M0,0 L8,4 L0,8 z" fill="#7b8cff"/>
    </marker>
  </defs>
  <rect x="230" y="16" width="260" height="52" rx="10" fill="rgba(123,140,255,0.08)" stroke="#7b8cff" stroke-width="1.5"/>
  <text x="360" y="38" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">Das Modell tut nicht,</text>
  <text x="360" y="57" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">was ich brauche</text>
  <path d="M360 68 L360 100" stroke="#7b8cff" stroke-width="1.5" fill="none" marker-end="url(#arr)"/>
  <rect x="215" y="100" width="290" height="52" rx="10" fill="rgba(123,140,255,0.08)" stroke="#7b8cff" stroke-width="1.5"/>
  <text x="360" y="122" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">Habe ich serioeses Prompting</text>
  <text x="360" y="141" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">mit Few-Shot-Beispielen probiert?</text>
  <path d="M215 126 L120 126 L120 180" stroke="#7b8cff" stroke-width="1.5" fill="none" marker-end="url(#arr)"/>
  <text x="130" y="118" fill="#4fffb0" font-family="monospace" font-size="12px">nein</text>
  <rect x="30" y="180" width="180" height="52" rx="10" fill="rgba(79,255,176,0.08)" stroke="#4fffb0" stroke-width="1.5"/>
  <text x="120" y="202" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">Fixe zuerst den Prompt.</text>
  <text x="120" y="221" text-anchor="middle" fill="#9aa3b5" font-family="-apple-system, sans-serif" font-size="12px">Kostenlos. Mach das heute.</text>
  <path d="M360 152 L360 190" stroke="#7b8cff" stroke-width="1.5" fill="none" marker-end="url(#arr)"/>
  <text x="370" y="176" fill="#4fffb0" font-family="monospace" font-size="12px">ja, immer noch schlecht</text>
  <rect x="215" y="190" width="290" height="52" rx="10" fill="rgba(123,140,255,0.08)" stroke="#7b8cff" stroke-width="1.5"/>
  <text x="360" y="212" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">Ist das Problem fehlende oder</text>
  <text x="360" y="231" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">sich aendernde Fakten / Dokumente?</text>
  <path d="M505 216 L600 216 L600 270" stroke="#7b8cff" stroke-width="1.5" fill="none" marker-end="url(#arr)"/>
  <text x="560" y="208" fill="#4fffb0" font-family="monospace" font-size="12px">ja</text>
  <rect x="510" y="270" width="180" height="52" rx="10" fill="rgba(251,191,36,0.08)" stroke="#fbbf24" stroke-width="1.5"/>
  <text x="600" y="292" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">Nutze RAG.</text>
  <text x="600" y="311" text-anchor="middle" fill="#9aa3b5" font-family="-apple-system, sans-serif" font-size="12px">Fakten leben in einem Index.</text>
  <path d="M360 242 L360 280" stroke="#7b8cff" stroke-width="1.5" fill="none" marker-end="url(#arr)"/>
  <text x="370" y="266" fill="#4fffb0" font-family="monospace" font-size="12px">nein — es ist Verhalten</text>
  <rect x="215" y="280" width="290" height="60" rx="10" fill="rgba(79,255,176,0.08)" stroke="#4fffb0" stroke-width="1.5"/>
  <text x="360" y="305" text-anchor="middle" fill="#e6e9f0" font-family="-apple-system, sans-serif" font-size="15px">Fine-Tuning. Dieser Kurs.</text>
  <text x="360" y="326" text-anchor="middle" fill="#9aa3b5" font-family="-apple-system, sans-serif" font-size="12px">Ton, Format, Aufgabendisziplin, Domaenen-Stil</text>
  <path d="M360 340 L360 372" stroke="#7b8cff" stroke-width="1.5" fill="none" marker-end="url(#arr)"/>
  <text x="360" y="396" text-anchor="middle" fill="#9aa3b5" font-family="-apple-system, sans-serif" font-size="12px">Oft die echte Antwort: fine-getuntes Modell + RAG zusammen</text>
</svg>

## Gute und schlechte Fine-Tuning-Ziele

**Ziele, in denen Fine-Tuning grossartig ist:**

- *"Support-Fragen in unserer Markenstimme beantworten, immer mit einem naechsten Schritt am Ende."* — Ton + Format ✔
- *"Chaotische Meeting-Notizen in unser exaktes Statusbericht-Template verwandeln."* — strukturierte Transformation ✔
- *"Eingehende E-Mails in unsere 12 internen Kategorien klassifizieren."* — Aufgabendisziplin ✔
- *"Produktbeschreibungen schreiben, die wie unser Katalog klingen, auf Rumaenisch."* — Stil + Sprache ✔
- *"Immer valides JSON ausgeben, das unserem Schema entspricht."* — Format-Zuverlaessigkeit ✔

**Ziele, die in Traenen enden werden:**

- *"Dem Modell unsere Preisliste 2026 beibringen."* ✘ — Fakten aendern sich; nutze RAG. Das Modell wird Preise mit voller Ueberzeugung halluzinieren.
- *"Ein 4B-Modell so schlau machen wie Claude."* ✘ — Fine-Tuning fuegt keine Reasoning-Kapazitaet hinzu; es formt, was schon da ist.
- *"Es auf all unseren Dokumenten trainieren, damit es alles weiss."* ✘ — rohe Dokumente ins Fine-Tuning zu kippen bringt dem Modell bei, *deine Dokumente zu imitieren*, nicht Fragen darueber zu beantworten.

<div class="honest-note">
<h4>Ehrlicher Hinweis</h4>
Wenn dir jemand erzaehlt, er habe ein Modell fine-getunt, "damit es seine Firmendaten kennt", dann hat er entweder in Wirklichkeit RAG gebaut, oder sein Modell erfindet selbstbewusst Firmendaten. Fine-Tuning auf rohen Dokumenten ist der haeufigste Anfaengerfehler in der lokalen KI — und ab jetzt einer, den du nie machen wirst.
</div>

## Unser Kursprojekt: Embers Job definieren

Fuer den Rest dieses Kurses ist Embers Trainingsziel einer der staerksten Anwendungsfaelle fuer ein lokales Modell:

> **Ember ist ein Kundensupport-Assistent fuer einen kleinen Online-Shop. Er antwortet in der freundlich-aber-praezisen Stimme des Shops, in der Sprache des Kunden, strukturiert Antworten immer als: kurze Antwort → Erklaerung → konkreter naechster Schritt, und weigert sich, Bestelldetails zu erfinden, die er nicht hat.**

Achte darauf, woraus dieses Ziel besteht: **Stimme** (Verhalten), **Struktur** (Format), **Disziplin** (Halluzinationen verweigern). Alles gewichte-wuerdig. Die *Fakten* zu konkreten Bestellungen kaemen zur Laufzeit aus einer Datenbank — nicht aus dem Training.

## Schreib eine Ziel-Karte, bevor du irgendetwas trainierst

<div class="pro-tip">
<h4>Profi-Tipp</h4>
Profis schreiben die Evaluation vor dem Training. Wenn du nicht beschreiben kannst, wie du Erfolg <em>messen</em> wirst, hast du noch kein Trainingsziel — du hast einen Wunsch.
</div>

Deine Ziel-Karte hat vier Zeilen. Hier ist Embers:

- **Aufgabe:** Kundensupport-Fragen fuer einen Online-Shop beantworten
- **Verhalten:** freundlich-praezise Stimme; Struktur: Antwort → Erklaerung → naechster Schritt; niemals Bestelldaten erfinden
- **Erfolgstest:** von 30 zurueckgehaltenen Testfragen folgen ≥25 der Struktur und 0 erfinden Fakten
- **Nicht-Ziele:** Produktwissen (spaeter RAGs Job), Sprachen jenseits von EN/RO

<div class="try-it">
<h4>Probier es aus</h4>
Schreib deine eigene Ziel-Karte — vier Zeilen, echte Zahlen im Erfolgstest. Wenn deine "Verhalten"-Zeile die Woerter "weiss" oder "erinnert sich" enthaelt, stopp und verschiebe diesen Teil in die Nicht-Ziele-Zeile: das ist RAG. Behalte diese Karte; in Lektion 6 wird sie deine Evaluations-Checkliste.
</div>

<div class="checkpoint">
<h4>Checkpoint</h4>
Du kannst Fine-Tuning vs RAG in einem Satz erklaeren, du weisst, welche Ziele gewichte-wuerdig sind, und du hast eine geschriebene Ziel-Karte mit einem messbaren Erfolgstest. Als Naechstes: die Speicher-Mathematik, die dir genau sagt, was deine Maschine trainieren kann.
</div>
