Files
prompts/PROMPTS.md
2026-04-23 15:10:58 +02:00

293 lines
8.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Richtig Prompten mit KI
## Warum ein guter Prompt wichtig ist
Stell dir vor, du bestellst in einem Restaurant. Sagst du nur *„Essen!"*, bekommst du vielleicht eine Suppe obwohl du Pizza wolltest. Sagst du hingegen *„Ich hätte gern eine Margherita mit extra Käse, bitte"*, trifft die Bestellung genau, was du dir vorstellst.
**Genau so funktioniert Prompting mit KI.** Je genauer deine Anweisung, desto besser das Ergebnis.
---
## Das S-P-K-A-O Framework
Dieses Framework ist dein Werkzeugkasten für jede KI-Interaktion. Es besteht aus fünf Bausteinen, die du nach Bedarf kombinierst.
```
S ─ Situativer Kontext → Wer soll die KI sein?
P ─ Präzise Aufgabe → Was genau soll sie tun?
K ─ Kontext & Regeln → Welche Leitplanken gelten?
A ─ Ausgabeformat → Wie soll das Ergebnis aussehen?
O ─ Optimierung → Was passiert als Nächstes?
```
---
## Baustein 1: S Situativer Kontext (Persona)
> **Alltagsbeispiel:** Wenn du zum Arzt gehst, erwartest du kompetente Beratung. Wenn du zum Mechaniker gehst, erwartest du eine andere Art von Expertise. Die KI funktioniert genauso sie passt ihr Wissen an die Rolle an, die du ihr gibst.
**So formulierst du es:**
```
Du bist ein erfahrener [Rolle], spezialisiert auf [Nische].
```
**Konkret:**
```
Du bist ein erfahrener Python-Entwickler, spezialisiert auf Datenanalyse.
```
Was hier passiert: Die KI weiß jetzt, dass sie Fachbegriffe aus der Python-Welt verwenden, Code-Vorschläge in Python machen und auf Datenanalyse-Fälle eingehen soll.
---
## Baustein 2: P Präzise Aufgabe (Task)
> **Alltagsbeispiel:** Wenn du jemanden bittest, dir zu helfen, sagst du nicht nur *„Hilf mir"*, sondern *„Kannst du mir helfen, diese Schrankwand zu tragen?"*. Ein aktives Verb macht den Unterschied.
**Formuliere immer mit einem aktiven Verb:**
```
✅ Erstelle, Analysiere, Schreibe um, Extrahiere, Vergleiche, Fasse zusammen
❌ Kannst du mal schauen ob... (zu vage)
```
**Konkret:**
```
Analysiere den folgenden Python-Code und identifiziere potenzielle Performance-Probleme.
```
---
## Baustein 3: K Kontext & Regeln (Constraints)
> **Alltagsbeispiel:** Wenn du einen Handwerker beauftragst, sagst du ihm vielleicht: *„Nur Holz verwenden, nichts über 2 Meter, und bitte bis Freitag fertig."* Diese Regeln halten das Ergebnis im Rahmen.
**Die wichtigsten Regeln im Überblick:**
| Regel | Was sie bewirkt | Beispiel |
|-------|----------------|----------|
| Zielgruppe | Passt Sprache an | *„Erkläre es einem 10-Jährigen"* |
| Tonalität | Bestimmt den Stil | *„Sachlich und formell"* |
| Wissensbasis | Begrenzt Quellen | *„Nutze nur die Informationen aus Text X"* |
| Länge | Kontrolliert Umfang | *„Maximal 3 Sätze"* |
**Konkret:**
```
Beachte folgende Regeln:
1. Verwende nur Fachbegriffe, die ein Anfänger versteht
2. Maximal 200 Wörter
3. Beziehe dich ausschließlich auf React 18
```
---
## Baustein 4: A Ausgabeformat (Output Formatting)
> **Alltagsbeispiel:** Du kannst jemanden bitten, dir eine Adresse aufzuschreiben auf einem Zettel, in einer E-Mail oder als Sprachnachricht. Das Format macht einen großen Unterschied in der Nutzbarkeit.
**Du kannst strukturierte Formate vorgeben:**
```
Gib das Ergebnis als Tabelle aus mit den Spalten: Problem | Lösung | Priorität.
```
```
Strukturiere die Antwort als Bullet-Points mit Zwischenüberschriften.
```
```
Gib den Code als Markdown-Codeblock mit Syntax-Highlighting aus.
```
---
## Baustein 5: O Optimierung (Iteration)
> **Alltagsbeispiel:** Bei einem Friseur sagst du nach dem ersten Schnitt vielleicht *„Noch etwas kürzer an den Seiten"*. Das Feedback-Loop sorgt für das perfekte Ergebnis.
**So lädst du die KI zur Interaktion ein:**
```
Stelle mir Rückfragen, falls Informationen fehlen, bevor du beginnst.
```
```
Erkläre deine Lösung Schritt für Schritt (Chain of Thought).
```
```
Falls meine Anweisung unklar ist, frage nach, bevor du generierst.
```
---
## Vollständige Blueprint-Vorlage
Kopiere diese Vorlage und füll die Platzhalter aus:
````
[PERSONA]: Du bist ein [Rolle/Experte], spezialisiert auf [Nische].
[TASK]: Deine Aufgabe ist es, [präzise Tätigkeit] basierend auf [Input/Daten] auszuführen.
[CONSTRAINTS]: Beachte dabei folgende Regeln:
1. [Regel 1]
2. [Regel 2]
Die Zielgruppe ist [Zielgruppe]. Der Tonfall sollte [Adjektiv] sein.
[FORMAT]: Gib die Antwort als [Tabelle/Liste/Code] aus. Verwende [Überschriften/Fettmarkierungen].
[OPTIMIZE]: Wenn etwas unklar ist, frage nach, bevor du generierst.
````
---
## Praxis-Tipps
### 1. Positive Anweisungen geben
Sag der KI, was sie tun **soll** nicht, was sie nicht tun soll.
```
❌ Schreibe nicht so emotional.
✅ Schreibe sachlich und neutral.
```
### 2. Few-Shot Prompting (Musterbeispiele)
Gib der KI 12 Beispiele für das gewünschte Ergebnis direkt mit. KI lernt extrem schnell aus Mustern.
```
Schreibe eine E-Mail-Begrüßung. Beispiel:
"Sehr geehrte Frau Müller, willkommen bei unserem Team..."
Schreibe nun eine Begrüßung für einen Kunden namens Herr Schmidt.
```
### 3. Trennzeichen (Delimiters)
Nutze Zeichen wie `###` oder `"""`, um Anweisungen vom Inhalt zu trennen. Das verhindert, dass die KI Anweisungen mit dem zu analysierenden Text verwechselt.
```
Analysiere den folgenden Text:
"""
Hier steht der zu analysierende Text.
"""
Fasse die Kernpunkte in 3 Bullet-Points zusammen.
```
---
## Praxis-Vergleich: Schlechter vs. guter Prompt
### Scenario: Du brauchst ein kleines Programm, das Temperaturen von Celsius in Fahrenheit umrechnet.
*Hintergrund: Die Formel lautet F = C × 9/5 + 32. Einfach, oder? Schau mal, was ein Unterschied im Prompt macht.*
---
### Schlechter Prompt
```
Mach mir ein Temperatur-Programm
```
**Was die KI liefert (typisch):**
```python
celsius = 25
fahrenheit = (celsius * 9/5) + 32
print(fahrenheit)
```
**Was fehlt:**
- Keine Funktion nur ein Hardcoded-Wert
- Keine Erklärung, was der Code macht
- Kein User-Input man kann keine eigenen Werte eingeben
- Keine Fehlerbehandlung (Was ist, wenn jemand Text statt eine Zahl eingibt?)
- Kein Hinweis, für welche Sprache oder welchen Zweck
---
### Besserer Prompt (S-P-K-A-O)
````
[PERSONA]: Du bist ein erfahrener Python-Entwickler, der Code für Anfänger verständlich und sauber schreibt.
[TASK]: Erstelle ein kleines Python-Programm, das dem User eine Temperatur in Celsius abfragt und das Ergebnis in Fahrenheit ausgibt.
[CONSTRAINTS]:
1. Nutze die Formel: F = C × 9/5 + 32
2. Behandle Fehler: Was passiert, wenn der User Text statt einer Zahl eingibt?
3. Schreibe Commentare im Code, die jedem Schritt erklären
4. Zielgruppe: Jemand, der noch nie programmiert hat erkläre alles verständlich
5. Output soll auf Deutsch sein
[FORMAT]: Gib den Code als Codeblock aus. Füge danach eine kurze Erklärung bei, wie man das Programm ausführt.
[OPTIMIZE]: Erkläre Schritt für Schritt, was jede Code-Zeile macht.
````
**Was die KI nun liefert:**
```python
# Temperatur von Celsius nach Fahrenheit umrechnen
# Formel: F = C × 9/5 + 32
try:
# User nach Temperatur fragen
celsius = float(input("Gib die Temperatur in Celsius ein: "))
# Umrechnung durchführen
fahrenheit = (celsius * 9/5) + 32
# Ergebnis ausgeben (gerundet auf 2 Nachkommastellen)
print(f"{celsius}°C entspricht {fahrenheit:.2f}°F")
except ValueError:
# Fehlermeldung, wenn keine gültige Zahl eingegeben wurde
print("Fehler: Bitte gib eine gültige Zahl ein (z.B. 25 oder 36.5).")
```
**Was jetzt anders ist:**
- ✅ Funktioniert als interaktives Programm (User gibt Werte ein)
- ✅ Fehlerbehandlung bei Fehleingaben (Text statt Zahl)
- ✅ Jeder Code-Schritt ist kommentiert und verständlich
- ✅ Ausgabe ist formatiert und auf Deutsch
- ✅ Klare Erklärung, wie man es ausführt
---
### Zusammenfassung der Verbesserung
| Aspekt | Schlechter Prompt | Guter Prompt |
|--------|-------------------|--------------|
| Interaktivität | ❌ Fester Wert | ✅ User-Eingabe |
| Fehlerbehandlung | ❌ Keine | ✅ Bei Fehleingabe |
| Kommentare | ❌ Keine | ✅ Jeder Schritt erklärt |
| Verständlichkeit | ❌ Nur Code | ✅ Code + Anleitung |
| Sprache | ❌ Englisch | ✅ Deutsch |
| Zielgruppe | ❌ Unbekannt | ✅ Anfänger |
**Der Unterschied ist wie Tag und Nacht.** Ein guter Prompt spart dir nicht nur Zeit bei der Korrektur, sondern liefert Ergebnisse, die du direkt produktiv einsetzen kannst.
---
## TL;DR Die 5 Regeln auf einen Blick
```
1. S Sag der KI WER sie ist (Persona)
2. P Sag WAS sie tun soll (Task)
3. K Sag WAS die Leitplanken sind (Constraints)
4. A Sag WIE das Ergebnis aussehen soll (Format)
5. O Lass die KI RÜCKFRAGEN stellen (Optimierung)
```
**Merke:** Ein Prompt ist wie eine Bestellung im Restaurant. Je genauer du beschreibst, desto näher kommt das Ergebnis an das, was du dir vorstellst.