Prompt-Engineering für die Produktivität im Büro meistern: Eine praktische Anleitung
Einführung
Die Qualität der KI-Ausgabe hängt stark davon ab, wie Sie mit diesen Modellen kommunizieren. Hier kommt das Prompt-Engineering ins Spiel, bei dem die Kunst und Wissenschaft des Erstellens effektiver Anweisungen genutzt wird, um das Beste aus den KI-Tools herauszuholen.
Prompt-Engineering ist nicht nur für technische Experten. Es ist eine entscheidende Fähigkeit für jeden Büroangestellten, der KI für tägliche Aufgaben wie das Schreiben von E-Mails, das Erstellen von Berichten, das Analysieren von Daten oder das Generieren von Ideen nutzen möchte. Auch Sie können generische KI-Antworten in maßgeschneiderte, qualitativ hochwertige Ergebnisse umwandeln, die Zeit sparen und Ihre Arbeit verbessern.
Dieser Leitfaden führt Sie durch die Grundlagen des Prompt-Engineering, vergleicht beliebte KI-Modelle für verschiedene Büroaufgaben und bietet praktische Techniken, die Sie sofort anwenden können, um intelligenter (nicht härter) zu arbeiten.
KI-Modelle im Vergleich: Welches für Ihre Büroaufgaben verwenden?
Unterschiedliche KI-Modelle haben einzigartige Stärken, die sie für bestimmte Büroaufgaben besser geeignet machen. Hier ist ein direkter Vergleich von vier beliebten Modellen:
OpenAI (GPT-4/GPT-3.5)
Stärken:
- Außergewöhnlich im Verständnis von Kontext und Nuancen in der Geschäftskommunikation
- Sehr fähig bei komplexen Anweisungen und mehrstufigen Aufgaben
- Hervorragend für kreatives Schreiben und das Generieren verschiedener Inhaltsstile
- Starke Denkfähigkeiten für analytische Aufgaben
Am besten für:
- Das Verfassen anspruchsvoller Geschäfts-E-Mails und -Angebote
- Das Erstellen umfassender Berichte mit spezifischen Formatierungsanforderungen
- Komplexe Datenanalyse und -interpretation
- Aufgaben, die ein nuanciertes Verständnis des Geschäftskontexts erfordern
Einschränkungen:
- Höhere Kosten im Vergleich zu anderen Modellen
- Kann für einfache Aufgaben übertrieben sein
- Erfordert eine Internetverbindung (API-basiert)
Gemma
Stärken:
- Gutes Gleichgewicht zwischen Leistung und Ressourceneffizienz
- Starke Fähigkeiten zur Generierung strukturierter Inhalte
- Effektiv beim Befolgen spezifischer Formatierungsanweisungen
- Kann mit ausreichender Hardware lokal ausgeführt werden
Am besten für:
- Das Erstellen standardisierter Dokumente (Berichte, Memos)
- Das Generieren von Inhalten mit spezifischen Vorlagen
- Aufgaben, die ein konsistentes Ausgabeformat erfordern
- Büroumgebungen mit Datenschutzbedenken
Einschränkungen:
- Weniger kreativ als OpenAI-Modelle
- Kann mit sehr nuancierten Geschäftskontexten Schwierigkeiten haben
- Erfordert eine technischere Einrichtung für die lokale Bereitstellung
Gemini
Stärken:
- Hervorragend im Verarbeiten und Synthetisieren von Informationen aus mehreren Quellen
- Starke multimodale Fähigkeiten (kann mit Text, Bildern und Daten arbeiten)
- Gut im Beibehalten des Kontexts über längere Gespräche
- Integriert sich gut in Google Workspace
Am besten für:
- Forschungsintensive Aufgaben, die eine Informationssynthese erfordern
- Das Erstellen von Präsentationen mit visuellen Elementen
- Das Analysieren von Dokumenten und das Extrahieren von Schlüsselinformationen
- Teams, die stark auf Google Workspace setzen
Einschränkungen:
- Kann bei sehr strukturierten Ausgaben weniger präzise sein
- Kann manchmal in den Antworten ausführlich sein
- Datenschutzaspekte bei sensiblen Geschäftsdaten
Phi-3 Mini
Stärken:
- Extrem leicht und schnell
- Kann effizient auf Standard-Bürohardware ausgeführt werden
- Überraschend fähig für seine Größe
- Hervorragend für schnelle, unkomplizierte Aufgaben
Am besten für:
- Schnelle Textkorrektur und -formatierung
- Einfache Inhaltsgenerierung
- Echtzeit-Unterstützung bei der Dokumentenerstellung
- Umgebungen mit begrenzten Rechenressourcen
Einschränkungen:
- Weniger fähig bei komplexen Denkaufgaben
- Kleineres Kontextfenster begrenzt die Verarbeitung längerer Dokumente
- Kann für optimale Ergebnisse spezifischere Anweisungen erfordern
Kerntechniken des Prompt-Engineering für die Produktivität im Büro
1. Rollen-Prompting
Weisen Sie der KI eine bestimmte berufliche Rolle zu, um gezieltere Antworten zu erhalten.
Beispiel:
Handeln Sie als leitender Geschäftsanalyst mit 10 Jahren Erfahrung im Finanzdienstleistungssektor.
Überprüfen Sie die folgenden Quartalsberichtsdaten und identifizieren Sie drei wichtige Trends, die
in der Zusammenfassung für die Geschäftsführung hervorgehoben werden sollten: [Daten einfügen]
Modellvergleich:
- OpenAI: Überragend beim Annehmen komplexer beruflicher Personas
- Gemma: Gut im Beibehalten einer konsistenten Rolle in den Antworten
- Gemini: Effektiv beim Kombinieren von Rollenexpertise mit Informationssynthese
- Phi-3 Mini: Kann einfache Rollenzuweisungen bewältigen, benötigt aber möglicherweise mehr Kontext
2. Few-Shot-Lernen
Geben Sie Beispiele für das gewünschte Ausgabeformat, um die KI anzuleiten.
Beispiel:
Wandeln Sie das folgende Kundenfeedback in strukturierte Aktionspunkte um.
Folgen Sie diesem Format:
- Priorität: [Hoch/Mittel/Niedrig]
- Problem: [Kurze Beschreibung]
- Aktion: [Spezifischer Schritt zur Lösung]
Beispiel 1:
"Die App stürzt immer ab, wenn ich versuche, Dateien hochzuladen."
- Priorität: Hoch
- Problem: App stürzt beim Hochladen von Dateien ab
- Aktion: Funktionalität des Datei-Uploads untersuchen
Verarbeiten Sie nun dieses Feedback: "Ich liebe das neue Dashboard, wünschte aber, es gäbe eine Dunkelmodus-Option."
Modellvergleich:
- OpenAI: Sehr effektiv beim Verstehen und Replizieren von Mustern aus Beispielen
- Gemma: Hervorragend im Einhalten strenger Formatierungsvorgaben
- Gemini: Gut im Erkennen von Mustern, fügt aber manchmal erklärenden Text hinzu
- Phi-3 Mini: Funktioniert gut mit klaren Beispielen, benötigt aber möglicherweise mehr als eines für komplexe Formate
3. Chain-of-Thought (CoT) Prompting
Führen Sie die KI durch einen schrittweisen Denkprozess.
Beispiel:
Ich muss die kostengünstigste Option für die Softwareanforderungen unseres Teams ermitteln.
Analysieren Sie die folgenden Optionen Schritt für Schritt:
1. Listen Sie die Hauptmerkmale jeder Option auf
2. Berechnen Sie die Gesamtkosten für jede Option über 3 Jahre
3. Bewerten Sie, welche Funktionen wesentlich und welche "nice-to-have" sind
4. Empfehlen Sie die beste Option basierend auf einer Kosten-Nutzen-Analyse
Optionen:
Option A: 50 $/Benutzer/Monat, enthält alle Funktionen
Option B: 30 $/Benutzer/Monat, enthält Kernfunktionen, Premium-Funktionen kosten extra
Option C: 1000 $ einmalige Lizenz, 15 $/Benutzer/Monat für die Wartung
Teamgröße: 25 Personen
Modellvergleich:
- OpenAI: Außergewöhnlich bei komplexem Denken und mehrstufiger Analyse
- Gemma: Gut im Befolgen strukturierter Denkprozesse
- Gemini: Stark im Synthetisieren von Informationen aus mehreren Schritten
- Phi-3 Mini: Kann einfache Denketten bewältigen, kann aber mit komplexen Analysen Schwierigkeiten haben
4. Vorlagenbasiertes Prompting
Verwenden Sie strukturierte Vorlagen für konsistente, wiederholbare Ausgaben.
Beispiel:
Generieren Sie eine Projektstatus-Update-E-Mail mit dieser Vorlage:
Betreff: [Projektname] Status-Update - [Datum]
Sehr geehrte/r [Name des Stakeholders],
Dieses wöchentliche Update deckt den Zeitraum vom [Startdatum] bis zum [Enddatum] ab.
Wichtige Errungenschaften:
- [Errungenschaft 1]
- [Errungenschaft 2]
Aktuelle Herausforderungen:
- [Herausforderung 1] - [Minderungsstrategie]
- [Herausforderung 2] - [Minderungsstrategie]
Prioritäten der nächsten Woche:
- [Priorität 1]
- [Priorität 2]
Bitte lassen Sie mich wissen, wenn Sie Fragen haben.
Mit freundlichen Grüßen,
[Ihr Name]
Projekt: Q3-Marketingkampagne
Datum: 15. Juni 2023
Stakeholder: Sarah Hess
Modellvergleich:
- OpenAI: Flexibel mit Vorlagen bei gleichzeitiger Beibehaltung einer natürlichen Sprache
- Gemma: Hervorragend im strikten Einhalten von Vorlagenstrukturen
- Gemini: Gut im Füllen von Vorlagen mit relevanten, kontextbezogenen Informationen
- Phi-3 Mini: Funktioniert gut mit einfachen Vorlagen, benötigt aber möglicherweise mehr Anleitung für komplexe
Schritt 1: Einrichten Ihrer Prompt-Engineering-Umgebung
Option A: Verwendung der OpenAI-API
- Erstellen Sie ein OpenAI-Konto unter openai.com
- Generieren Sie einen API-Schlüssel in Ihrem Konto-Dashboard
- Installieren Sie die OpenAI-Python-Bibliothek:
pip install openai - Erstellen Sie eine Konfigurationsdatei mit Ihrem API-Schlüssel:
# config.py
OPENAI_API_KEY = "ihr-api-schluessel-hier"
Option B: Verwendung von Ollama für lokale Modelle (Gemma, Phi-3 Mini)
- Laden Sie Ollama von ollama.com herunter und installieren Sie es
- Installieren Sie Ihre bevorzugten Modelle:
ollama run gemma ollama run phi3:mini - Installieren Sie die erforderlichen Python-Bibliotheken:
pip install openai - Erstellen Sie eine Konfigurationsdatei:
# config.py
# Für lokale Modelle über Ollama
LOCAL_BASE_URL = "http://localhost:11434/v1"
Option C: Verwendung von Google Gemini
- Erstellen Sie ein Google AI-Konto unter ai.google.dev
- Generieren Sie einen API-Schlüssel
- Installieren Sie die Google Generative AI-Bibliothek:
pip install google-generativeai - Erstellen Sie eine Konfigurationsdatei:
# config.py
GOOGLE_API_KEY = "ihr-api-schluessel-hier"
Schritt 2: Erstellen einer Prompt-Engineering-Hilfsklasse
Erstellen Sie eine neue Datei mit dem Namen prompt_engineering_helper.py und fügen Sie den folgenden Code hinzu:
import openai
import google.generativeai as genai
import json
from typing import Dict, List, Any, Optional
class PromptEngineeringHelper:
def __init__(self, model_type="openai", model_name="gpt-3.5-turbo", api_key=None, base_url=None):
self.model_type = model_type
self.model_name = model_name
if model_type == "openai":
self.client = openai.OpenAI(api_key=api_key)
elif model_type == "local":
# Für lokale Modelle über Ollama
self.client = openai.OpenAI(api_key="ollama", base_url=base_url)
elif model_type == "gemini":
genai.configure(api_key=api_key)
self.client = genai.GenerativeModel(model_name)
def generate_response(self, system_prompt: str, user_prompt: str, temperature: float = 0.7) -> str:
"""Generiert eine Antwort mit dem angegebenen Modell und den angegebenen Prompts."""
if self.model_type in ["openai", "local"]:
response = self.client.chat.completions.create(
model=self.model_name,
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
],
temperature=temperature
)
return response.choices[0].message.content
elif self.model_type == "gemini":
# Kombinieren Sie System- und Benutzer-Prompts für Gemini
combined_prompt = f"{system_prompt}\n\n{user_prompt}"
response = self.client.generate_content(combined_prompt)
return response.text
def few_shot_prompt(self, system_prompt: str, examples: List[Dict[str, str]],
user_input: str, temperature: float = 0.7) -> str:
"""Generiert eine Antwort mit Few-Shot-Prompting."""
# Formatieren Sie die Beispiele in den Prompt
examples_text = ""
for example in examples:
examples_text += f"Beispiel:\nEingabe: {example['input']}\nAusgabe: {example['output']}\n\n"
# Fügen Sie die Benutzereingabe hinzu
user_prompt = f"{examples_text}Bitte verarbeiten Sie nun diese Eingabe:\n{user_input}"
return self.generate_response(system_prompt, user_prompt, temperature)
def chain_of_thought(self, system_prompt: str, steps: List[str],
user_input: str, temperature: float = 0.7) -> str:
"""Generiert eine Antwort mit Chain-of-Thought-Prompting."""
# Formatieren Sie die Schritte in den Prompt
steps_text = "Bitte befolgen Sie diese Schritte:\n"
for i, step in enumerate(steps, 1):
steps_text += f"{i}. {step}\n"
# Kombinieren Sie mit der Benutzereingabe
user_prompt = f"{steps_text}\nHier sind die zu verarbeitenden Informationen:\n{user_input}"
return self.generate_response(system_prompt, user_prompt, temperature)
def template_prompt(self, template: str, variables: Dict[str, str],
system_prompt: str = None, temperature: float = 0.7) -> str:
"""Generiert eine Antwort mit einer Vorlage mit Variablen."""
# Ersetzen Sie Variablen in der Vorlage
user_prompt = template
for key, value in variables.items():
user_prompt = user_prompt.replace(f"[{key}]", value)
# Verwenden Sie den Standard-System-Prompt, wenn keiner angegeben ist
if system_prompt is None:
system_prompt = "Sie sind ein hilfreicher Assistent, der Vorlagen genau ausfüllt."
return self.generate_response(system_prompt, user_prompt, temperature)
Schritt 3: Praktische Büroanwendungen mit Codebeispielen
Anwendung 1: E-Mail-Entwurf
# email_assistant.py
from prompt_engineering_helper import PromptEngineeringHelper
# Initialisieren Sie den Helfer mit Ihrem bevorzugten Modell
# Für OpenAI:
# email_helper = PromptEngineeringHelper(model_type="openai", model_name="gpt-3.5-turbo", api_key="ihr-api-schluessel")
# Für lokales Modell (z. B. Gemma):
# email_helper = PromptEngineeringHelper(model_type="local", model_name="gemma", base_url="http://localhost:11434/v1")
# Für Gemini:
# email_helper = PromptEngineeringHelper(model_type="gemini", model_name="gemini-pro", api_key="ihr-api-schluessel")
# Für dieses Beispiel verwenden wir OpenAI
email_helper = PromptEngineeringHelper(model_type="openai", model_name="gpt-3.5-turbo", api_key="ihr-api-schluessel")
def draft_email(recipient, purpose, key_points, tone="professional"):
"""Entwerfen Sie eine E-Mail mit Rollen-Prompting."""
system_prompt = f"Sie sind ein professioneller E-Mail-Verfasser mit Fachkenntnissen in der Geschäftskommunikation. Schreiben Sie E-Mails, die {tone} und effektiv sind."
user_prompt = f"""
Entwerfen Sie eine E-Mail an {recipient} bezüglich {purpose}.
Wichtige Punkte, die enthalten sein sollen:
{"\n".join(f'- {point}' for point in key_points)}
Die E-Mail sollte prägnant, klar und eine spezifische Handlungsaufforderung enthalten.
"""
return email_helper.generate_response(system_prompt, user_prompt)
# Beispielverwendung
recipient = "das Projektteam"
purpose = "bevorstehender Abgabetermin für den Q3-Bericht"
key_points = [
"Der Abgabetermin ist diesen Freitag um 17:00 Uhr",
"Alle Abschnitte müssen ausgefüllt sein",
"Bitte überprüfen Sie Ihre Arbeit vor dem Einreichen",
"Kontaktieren Sie mich, wenn Sie zusätzliche Ressourcen benötigen"
]
email = draft_email(recipient, purpose, key_points)
print(email)
Anwendung 2: Zusammenfassung von Besprechungsnotizen
# meeting_notes_summarizer.py
from prompt_engineering_helper import PromptEngineeringHelper
# Initialisieren Sie mit Ihrem bevorzugten Modell
notes_helper = PromptEngineeringHelper(model_type="openai", model_name="gpt-3.5-turbo", api_key="ihr-api-schluessel")
def summarize_meeting_notes(notes, focus_areas=None):
"""Fassen Sie Besprechungsnotizen mit optionalen Fokusbereichen zusammen."""
system_prompt = "Sie sind ein Experte für die Zusammenfassung von Geschäftsbesprechungen. Extrahieren Sie wichtige Informationen, Entscheidungen und Aktionspunkte in einem klaren, strukturierten Format."
user_prompt = f"Bitte fassen Sie die folgenden Besprechungsnotizen zusammen:\n\n{notes}"
if focus_areas:
user_prompt += f"\n\nBitte konzentrieren Sie sich besonders auf diese Bereiche: {', '.join(focus_areas)}"
return notes_helper.generate_response(system_prompt, user_prompt)
# Beispielverwendung
meeting_notes = """
Teambesprechung am 15. Juni 2023
Teilnehmer: Sarah, John, Michael, Emily
Tagesordnung:
1. Ergebnisse der Q2-Marketingkampagne
- Sarah berichtete, dass die Kampagne die Ziele um 15 % übertroffen hat
- John schlug vor, das Budget für das nächste Quartal zu erhöhen
- Entscheidung: Das Budget für Q3 wird um 10 % erhöht
2. Zeitplan für die Produkteinführung
- Michael erwähnte, dass die Entwicklung 2 Wochen hinter dem Zeitplan liegt
- Emily schlug vor, temporäre Ressourcen hinzuzufügen, um aufzuholen
- Entscheidung: 2 Auftragnehmer für 4 Wochen einstellen
3. Renovierung der Büroräume
- Die Renovierung soll am 1. Juli beginnen
- Für 3 Wochen muss ein temporärer Arbeitsbereich eingerichtet werden
- Aktion: Sarah kontaktiert die Gebäudeverwaltung
Nächstes Treffen: 29. Juni 2023
"""
summary = summarize_meeting_notes(meeting_notes, ["Entscheidungen", "Aktionspunkte"])
print(summary)
Anwendung 3: Datenanalyse und Berichterstattung
# data_analyst.py
from prompt_engineering_helper import PromptEngineeringHelper
# Initialisieren Sie mit Ihrem bevorzugten Modell
data_helper = PromptEngineeringHelper(model_type="openai", model_name="gpt-3.5-turbo", api_key="ihr-api-schluessel")
def analyze_sales_data(data_description, analysis_type="trends"):
"""Analysieren Sie Verkaufsdaten mit Chain-of-Thought-Prompting."""
system_prompt = "Sie sind ein leitender Geschäftsanalyst mit Fachkenntnissen in der Verkaufsdatenanalyse und Berichterstattung."
steps = [
"Identifizieren Sie die wichtigsten Kennzahlen in den Daten",
"Berechnen Sie relevante Leistungsindikatoren",
"Identifizieren Sie signifikante Muster oder Trends",
"Ziehen Sie aussagekräftige Erkenntnisse aus der Analyse",
"Geben Sie umsetzbare Empfehlungen"
]
user_prompt = f"Analysieren Sie die folgenden Verkaufsdaten mit Schwerpunkt auf {analysis_type}:\n\n{data_description}"
return data_helper.chain_of_thought(system_prompt, steps, user_prompt)
# Beispielverwendung
sales_data = """
Q2 2023 Verkaufsdaten nach Region:
- Nord-Region: 1,2 Mio. $ (12 % Steigerung gegenüber Q1)
- Süd-Region: 980.000 $ (5 % Rückgang gegenüber Q1)
- Ost-Region: 1,5 Mio. $ (18 % Steigerung gegenüber Q1)
- West-Region: 1,1 Mio. $ (8 % Steigerung gegenüber Q1)
Leistung der Produktkategorien:
- Elektronik: 1,8 Mio. $ (15 % des Gesamtumsatzes)
- Kleidung: 1,3 Mio. $ (11 % des Gesamtumsatzes)
- Haus & Garten: 1,7 Mio. $ (14 % des Gesamtumsatzes)
Bemerkenswerte Ereignisse:
- Neue Marketingkampagne in den Regionen Nord und Ost Mitte April gestartet
- In der Süd-Region gab es im Mai Probleme mit der Lieferkette
- Im April wurden 15 neue Produkte in allen Kategorien eingeführt
"""
analysis = analyze_sales_data(sales_data, "regionale Leistungsunterschiede")
print(analysis)
Anwendung 4: Erstellen strukturierter Dokumente
# document_generator.py
from prompt_engineering_helper import PromptEngineeringHelper
# Initialisieren Sie mit Ihrem bevorzugten Modell
doc_helper = PromptEngineeringHelper(model_type="openai", model_name="gpt-3.5-turbo", api_key="ihr-api-schluessel")
def generate_report(template, variables):
"""Generieren Sie einen Bericht mit vorlagenbasiertem Prompting."""
system_prompt = "Sie sind ein professioneller Verfasser von Geschäftsberichten. Erstellen Sie genaue, gut strukturierte Berichte basierend auf der bereitgestellten Vorlage und den Informationen."
return doc_helper.template_prompt(template, variables, system_prompt)
# Beispielverwendung
report_template = """
# [Titel des Berichts]
**Datum:** [Datum]
**Erstellt von:** [Autor]
**Abteilung:** [Abteilung]
## Zusammenfassung für die Geschäftsführung
[Zusammenfassung für die Geschäftsführung]
## Wichtige Erkenntnisse
[Wichtige Erkenntnisse]
## Empfehlungen
[Empfehlungen]
## Nächste Schritte
[Nächste Schritte]
"""
variables = {
"Titel des Berichts": "Q2 2023 Kundenzufriedenheitsanalyse",
"Datum": "20. Juni 2023",
"Autor": "Alex Brenner",
"Abteilung": "Kundenerfahrung",
"Zusammenfassung für die Geschäftsführung": "Die Kundenzufriedenheit stieg im Vergleich zu Q1 um 8 %, was auf Verbesserungen der Produktqualität und der Reaktionszeiten des Kundendienstes zurückzuführen ist.",
"Wichtige Erkenntnisse": "- Die Produktqualitätsbewertungen stiegen von 4,2 auf 4,5/5\n- Die Reaktionszeiten des Kundendienstes sanken um 30 %\n- Der Net Promoter Score verbesserte sich von 45 auf 53",
"Empfehlungen": "- Weiter in die Verbesserung der Produktqualität investieren\n- Das Kundendienstteam während der Spitzenzeiten erweitern\n- Eine Feedbackschleife für die Produktentwicklung implementieren",
"Nächste Schritte": "- Eine Folgeumfrage in Q3 planen\n- Die Ergebnisse dem Führungsteam präsentieren\n- Einen Aktionsplan für Q4 entwickeln"
}
report = generate_report(report_template, variables)
print(report)
Schritt 4: Testen und Verfeinern Ihrer Prompts
Das Erstellen effektiver Prompts ist ein iterativer Prozess. So testen und verfeinern Sie Ihre Prompts:
1. Bewerten der Ausgabequalität
Erstellen Sie eine einfache Bewertungsfunktion, um KI-Antworten zu bewerten:
# prompt_evaluator.py
from prompt_engineering_helper import PromptEngineeringHelper
class PromptEvaluator:
def __init__(self, model_type, model_name, api_key=None, base_url=None):
self.helper = PromptEngineeringHelper(model_type, model_name, api_key, base_url)
def evaluate_prompt(self, system_prompt, user_prompt, expected_aspects):
"""Bewerten Sie einen Prompt basierend auf den erwarteten Aspekten."""
response = self.helper.generate_response(system_prompt, user_prompt)
# Erstellen Sie einen Bewertungs-Prompt
eval_system = "Sie sind ein Experte für die Bewertung von KI-generierten Inhalten. Bewerten Sie, wie gut die Antwort die angegebenen Aspekte auf einer Skala von 1-5 berücksichtigt."
eval_user = f"""
Zu bewertende Antwort:
{response}
Zu bewertende Aspekte:
{"\n".join(f'- {aspect}' for aspect in expected_aspects)}
Geben Sie für jeden Aspekt eine Bewertung (1-5) und eine kurze Begründung an.
"""
evaluation = self.helper.generate_response(eval_system, eval_user)
return {
"response": response,
"evaluation": evaluation
}
def compare_models(self, system_prompt, user_prompt, models):
"""Vergleichen Sie denselben Prompt über verschiedene Modelle hinweg."""
results = {}
for model_name, model_config in models.items():
helper = PromptEngineeringHelper(
model_type=model_config["type"],
model_name=model_config["name"],
api_key=model_config.get("api_key"),
base_url=model_config.get("base_url")
)
response = helper.generate_response(system_prompt, user_prompt)
results[model_name] = response
return results
# Beispielverwendung
evaluator = PromptEvaluator("openai", "gpt-3.5-turbo", api_key="ihr-api-schluessel")
system_prompt = "Sie sind ein professioneller Verfasser von Geschäfts-E-Mails."
user_prompt = "Entwerfen Sie eine höfliche, aber bestimmte E-Mail an einen Kunden, der mit seiner Zahlung im Verzug ist."
expected_aspects = ["Professioneller Ton", "Klarheit der Zahlungsaufforderung", "Aufrechterhaltung einer guten Kundenbeziehung"]
evaluation = evaluator.evaluate_prompt(system_prompt, user_prompt, expected_aspects)
print("Antwort:", evaluation["response"])
print("\nBewertung:", evaluation["evaluation"])
2. A/B-Testen von Prompts
Vergleichen Sie verschiedene Prompt-Ansätze, um den effektivsten zu finden:
# prompt_ab_test.py
from prompt_engineering_helper import PromptEngineeringHelper
def ab_test_prompts(prompt_variants, test_cases):
"""Vergleichen Sie mehrere Prompt-Varianten über Testfälle hinweg."""
results = {}
for variant_name, prompt_config in prompt_variants.items():
helper = PromptEngineeringHelper(
model_type=prompt_config["model_type"],
model_name=prompt_config["model_name"],
api_key=prompt_config.get("api_key"),
base_url=prompt_config.get("base_url")
)
variant_results = []
for test_case in test_cases:
response = helper.generate_response(
prompt_config["system_prompt"],
test_case["user_prompt"]
)
variant_results.append({
"test_case": test_case["name"],
"response": response
})
results[variant_name] = variant_results
return results
# Beispielverwendung
prompt_variants = {
"direct_approach": {
"model_type": "openai",
"model_name": "gpt-3.5-turbo",
"api_key": "ihr-api-schluessel",
"system_prompt": "Sie sind ein direkter und prägnanter Geschäftskommunikator."
},
"detailed_approach": {
"model_type": "openai",
"model_name": "gpt-3.5-turbo",
"api_key": "ihr-api-schluessel",
"system_prompt": "Sie sind ein gründlicher Geschäftskommunikator, der detaillierte Erklärungen und Kontext liefert."
}
}
test_cases = [
{
"name": "project_update_request",
"user_prompt": "Fordern Sie ein Status-Update zur Q3-Marketingkampagne vom Teamleiter an."
},
{
"name": "meeting_scheduling",
"user_prompt": "Vereinbaren Sie ein Treffen mit dem Finanzteam, um das Budget zu überprüfen."
}
]
ab_results = ab_test_prompts(prompt_variants, test_cases)
# Ergebnisse drucken
for variant_name, results in ab_results.items():
print(f"\n=== {variant_name.upper()} ===")
for result in results:
print(f"\nTestfall: {result['test_case']}")
print(f"Antwort: {result['response'][:200]}...") # Die ersten 200 Zeichen anzeigen
Best Practices für das Prompt-Engineering im Büro
1. Seien Sie spezifisch und klar
- Verwenden Sie eine präzise Sprache und vermeiden Sie Mehrdeutigkeiten
- Geben Sie das gewünschte Format, die Länge und die Struktur an
- Fügen Sie relevanten Kontext und Hintergrundinformationen hinzu
Beispiel:
Statt: "Schreiben Sie über unser neues Produkt"
Verwenden Sie: "Schreiben Sie eine 200-Wörter-Produktbeschreibung für unsere neuen kabellosen Kopfhörer.
Heben Sie die Akkulaufzeit (60 Stunden), die Geräuschunterdrückungsfunktion und den wettbewerbsfähigen
Preis (99 €) hervor. Verwenden Sie einen professionellen Ton, der für unsere Website geeignet ist."
2. Verwenden Sie Rollen-Prompting für spezielle Aufgaben
- Weisen Sie der KI relevante berufliche Rollen zu
- Geben Sie das Fachwissen und die Perspektive an
- Fügen Sie alle relevanten Einschränkungen oder Richtlinien hinzu
Beispiel:
Handeln Sie als Finanzberater mit 15 Jahren Erfahrung in der Arbeit mit kleinen Unternehmen.
Überprüfen Sie diese Cashflow-Rechnung und identifizieren Sie drei potenzielle Verbesserungsbereiche.
Konzentrieren Sie sich auf praktische, umsetzbare Ratschläge, die innerhalb von 3 Monaten umgesetzt werden könnten.
3. Geben Sie Beispiele für komplexe Formate
- Verwenden Sie Few-Shot-Lernen für strukturierte Ausgaben
- Fügen Sie 2-3 Beispiele für das gewünschte Format hinzu
- Stellen Sie sicher, dass die Beispiele Randfälle abdecken
Beispiel:
Wandeln Sie diese Kundenanfragen in Support-Ticket-Kategorien um.
Verwenden Sie diese Kategorien: Technisches Problem, Rechnungsfrage, Funktionswunsch, Kontoproblem.
Beispiel 1:
"Ich kann mich nicht in mein Konto einloggen" -> Kontoproblem
Beispiel 2:
"Wie viel kostet der Premium-Plan?" -> Rechnungsfrage
Kategorisieren Sie nun dies: "Die mobile App stürzt immer ab, wenn ich versuche, Dateien hochzuladen"
4. Iterieren und verfeinern
- Beginnen Sie mit einfachen Prompts und fügen Sie schrittweise Komplexität hinzu
- Testen Sie Variationen, um den effektivsten Ansatz zu finden
- Führen Sie eine Bibliothek erfolgreicher Prompts zur Wiederverwendung
5. Berücksichtigen Sie die Stärken des Modells
- Verwenden Sie OpenAI für komplexes Denken und kreative Aufgaben
- Wählen Sie Gemma für strukturierte, formatierte Ausgaben
- Wählen Sie Gemini für die Informationssynthese und multimodale Aufgaben
- Entscheiden Sie sich für Phi-3 Mini für schnelle, einfache Aufgaben auf begrenzter Hardware
Fehlerbehebung bei häufigen Problemen
Problem: KI-Antworten sind zu allgemein oder vage
Lösung:
- Fügen Sie spezifischere Anweisungen und Einschränkungen hinzu
- Verwenden Sie Rollen-Prompting, um Fachwissen zu etablieren
- Geben Sie Beispiele für den gewünschten Ausgabestil
- Geben Sie das genaue Format und die Struktur an, die Sie wünschen
Problem: Die KI folgt nicht dem angeforderten Format
Lösung:
- Seien Sie expliziter bei den Formatierungsanforderungen
- Verwenden Sie vorlagenbasiertes Prompting mit klaren Platzhaltern
- Geben Sie Beispiele für korrekt formatierte Ausgaben
- Versuchen Sie es mit Few-Shot-Lernen mit mehreren Beispielen
Problem: Antworten sind zu lang oder zu kurz
Lösung:
- Geben Sie die gewünschte Wort- oder Zeichenzahl an
- Verwenden Sie Einschränkungen wie “seien Sie prägnant” oder “geben Sie eine detaillierte Erklärung”
- Teilen Sie komplexe Anfragen in mehrere einfachere Prompts auf
- Verwenden Sie den Temperaturparameter, um die Kreativität zu steuern (niedriger für fokussiertere Antworten)
Problem: Die KI erfindet Informationen (halluziniert)
Lösung:
- Fügen Sie Anweisungen hinzu, “nur die bereitgestellten Informationen zu verwenden”
- Bitten Sie die KI, Quellen für sachliche Behauptungen anzugeben
- Verwenden Sie niedrigere Temperatureinstellungen für deterministischere Ausgaben
- Überprüfen Sie wichtige Informationen, bevor Sie sie verwenden
Problem: Verschiedene Modelle geben sehr unterschiedliche Ergebnisse
Lösung:
- Passen Sie die Prompts an die Stärken und Schwächen jedes Modells an
- Verwenden Sie modellspezifische System-Prompts
- Testen Sie Prompts über Modelle hinweg, bevor Sie eines für eine bestimmte Aufgabe auswählen
- Erwägen Sie die konsistente Verwendung desselben Modells für ähnliche Aufgaben
Problem: API-Fehler oder Verbindungsprobleme
Lösung:
- Überprüfen Sie Ihren API-Schlüssel und Ihre Berechtigungen
- Überprüfen Sie die Internetverbindung für Cloud-basierte Modelle
- Stellen Sie sicher, dass lokale Modelle ordnungsgemäß installiert sind und ausgeführt werden
- Implementieren Sie Fehlerbehandlung und Wiederholungslogik in Ihrem Code
Sie sind bereit, das Prompt-Engineering zu meistern!
Herzlichen Glückwunsch! Sie haben die Grundlagen des Prompt-Engineering gelernt und wie Sie sie in einer Büroumgebung anwenden. Diese Fähigkeiten werden die Art und Weise, wie Sie mit KI-Tools interagieren, verändern und Sie produktiver und effektiver in Ihrer täglichen Arbeit machen.
Denken Sie daran, dass Prompt-Engineering sowohl eine Wissenschaft als auch eine Kunst ist. Obwohl wir strukturierte Techniken und Best Practices bereitgestellt haben, gibt es immer Raum für Experimente und Kreativität. Die effektivsten Prompt-Ingenieure kombinieren systematische Ansätze mit innovativem Denken.
Während Sie diese Fähigkeiten weiterentwickeln, werden Sie neue Wege entdecken, um KI für Ihre spezifischen Arbeitsherausforderungen zu nutzen. Ob Sie E-Mails entwerfen, Daten analysieren, Berichte erstellen oder Ideen generieren, effektives Prompting wird Ihnen helfen, in kürzerer Zeit bessere Ergebnisse zu erzielen.