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 an deinen spezifischen Anwendungsfall anpassen.

Warum System-Prompts wichtig sind

Stell dir vor, du baust einen Mathe-Tutor-Chatbot. Wenn ein Schüler fragt „Wie löse ich 5x + 2 = 3 nach x?", möchtest du, dass Claude sich wie ein echter Tutor verhält und nicht einfach die Antwort ausspuckt. Ein guter Mathe-Tutor 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 Create-Funktionsaufruf. 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 dabei, 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 zu durchdenken.

Mit dem Mathe-Tutor-System-Prompt ä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 Terme zu verschieben."

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.