Wird geladen

System-Prompts sind eine leistungsstarke Möglichkeit, anzupassen, wie Claude auf Benutzereingaben reagiert. Anstatt generische Antworten zu erhalten, kannst du Claudes Ton, Stil und Ansatz so gestalten, dass sie zu deinem spezifischen Anwendungsfall passen.

Warum System-Prompts wichtig sind

Stell dir vor, du baust einen Mathe-Nachhilfe-Chatbot. Wenn ein Schüler fragt „Wie löse ich 5x + 2 = 3 nach x?", möchtest du, dass Claude sich wie ein echter Nachhilfelehrer verhält und nicht einfach die Antwort ausspuckt. Ein guter Mathe-Nachhilfelehrer sollte:

  • Zunächst Hinweise geben, statt vollständige Lösungen
  • Schüler geduldig Schritt für Schritt durch Probleme führen
  • Lösungen für ähnliche Probleme als Beispiele zeigen

Du möchtest definitiv nicht, dass Claude:

  • Sofort direkte Antworten gibt
  • Schülern sagt, sie sollen einfach einen Taschenrechner benutzen

Wie System-Prompts funktionieren

System-Prompts geben Claude Anleitung dazu, wie es antworten soll. Du definierst sie als einfache Strings und übergibst sie an den Aufruf der create-Funktion. Die wichtigsten Vorteile sind:

  • System-Prompts geben Claude Anleitung dazu, wie es antworten soll
  • Claude wird versuchen, so zu antworten, wie es jemand in der angegebenen Rolle tun würde
  • Hilft, Claude bei der Aufgabe zu halten

Hier ist die grundlegende Struktur:

python
system_prompt = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""

client.messages.create(
    model=model,
    messages=messages,
    max_tokens=1000,
    system=system_prompt
)

Den Unterschied sehen

Ohne System-Prompt gibt Claude sofort eine vollständige Schritt-für-Schritt-Lösung. Das mag hilfreich sein, ermutigt den Schüler aber nicht dazu, das Problem selbst durchzudenken.

Mit dem System-Prompt für den Mathe-Nachhilfelehrer ändert sich Claudes Antwort drastisch. Anstatt die vollständige Lösung zu liefern, stellt Claude leitende Fragen wie „Was denkst du, wäre ein guter erster Schritt, um x zu isolieren? Überlege, welche Operation wir auf beiden Seiten durchführen müssten, um die Terme umzustellen."

Eine flexible Chat-Funktion erstellen

Anstatt System-Prompts hart zu codieren, kannst du deine Chat-Funktion wiederverwendbarer machen, indem du System-Prompts als Parameter akzeptierst:

python
def chat(messages, system=None):
    params = {
        "model": model,
        "max_tokens": 1000,
        "messages": messages,
    }
    
    if system:
        params["system"] = system
    
    message = client.messages.create(**params)
    return message.content[0].text

Dieser Ansatz behandelt ein wichtiges Detail: Claudes API akzeptiert kein system=None, daher musst du den system-Parameter nur bedingt einbeziehen, wenn er angegeben wird.

Jetzt kannst du deine Chat-Funktion mit oder ohne System-Prompt aufrufen:

python
# Ohne System-Prompt
answer = chat(messages)

# Mit System-Prompt
system = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""
answer = chat(messages, system=system)

System-Prompts sind essenziell für die Erstellung von KI-Anwendungen, die sich konsistent und angemessen für ihren vorgesehenen Zweck verhalten. Sie verwandeln generische KI-Antworten in spezialisierte, rollengerechte Interaktionen.