Über das Erstellen besserer Prompts hinaus gibt es zwei leistungsstarke Techniken zur Steuerung der Ausgabe von Claude: vorausgefüllte Assistentennachrichten und Stop-Sequenzen. Diese Methoden geben dir präzise Kontrolle darüber, wie Claude antwortet und wann es aufhört, Text zu generieren.
Vorausgefüllte Assistentennachrichten
Mit dem Vorausfüllen von Nachrichten kannst du den Anfang der Antwort von Claude vorgeben, was die Richtung seiner Antwort stark beeinflusst. Anstatt Claude entscheiden zu lassen, wie es seine Antwort beginnt, gibst du ihm einen bestimmten Einstieg, der das Gespräch lenkt.

So funktioniert es: Du erstellst deine normale Liste von Nachrichten mit der Frage des Nutzers, fügst dann aber am Ende eine Assistentennachricht hinzu, die den Anfang der gewünschten Antwort enthält. Wenn Claude dies verarbeitet, sieht es die Assistentennachricht und denkt: „Ich habe bereits begonnen, auf diese Frage zu antworten, also sollte ich dort weitermachen, wo ich aufgehört habe."

Wenn du zum Beispiel fragst „Ist Tee oder Kaffee zum Frühstück besser?" und mit „Kaffee ist besser, weil" vorausfüllst, wird Claude von diesem Punkt aus fortfahren und eine Antwort aufbauen, die Kaffee unterstützt. Die entscheidende Erkenntnis ist, dass Claude genau dort weitermacht, wo dein vorausgefüllter Text endet – es wird nicht wiederholen, was du geschrieben hast.
Sehen wir uns das in der Praxis an:
messages = []
add_user_message(messages, "Is coffee or tea better for breakfast?")
add_assistant_message(messages, "Coffee is better because")
chat(messages)Dies liefert etwa „es hat mehr Koffein." Beachte, dass Claude direkt von deinem vorausgefüllten Text fortfährt, sodass du beide Teile kombinieren musst, um die vollständige Antwort zu erhalten: „Kaffee ist besser, weil es mehr Koffein hat."
Du kannst Claude in jede beliebige Richtung lenken, indem du deinen vorausgefüllten Text änderst:
"Tee ist besser, weil"- lenkt in Richtung Tee"Sie sind gleich, weil"- erzeugt eine neutrale Antwort
Stop-Sequenzen
Stop-Sequenzen zwingen Claude, seine Antwort sofort zu beenden, wenn es einen bestimmten Text generiert. Dies ist nützlich, wenn du die Ausgabe an einem bestimmten Punkt abschneiden oder verhindern möchtest, dass Claude über eine bestimmte Markierung hinaus fortfährt.

Das Konzept ist einfach: Du gibst eine Liste von Zeichenketten an, und sobald Claude eine dieser Zeichenketten generiert, stoppt es und gibt zurück, was es bisher generiert hat. Die Stop-Sequenz selbst ist nicht in der Antwort enthalten.
Um Stop-Sequenzen zu verwenden, musst du deine Chat-Funktion so anpassen, dass sie diese als Parameter akzeptiert:
def chat(messages, system=None, temperature=1.0, stop_sequences=[]):
params = {
"modelId": model_id,
"messages": messages,
"inferenceConfig": {
"temperature": temperature,
"stopSequences": stop_sequences
},
}Hier ist ein praktisches Beispiel:
messages = []
add_user_message(messages, "Count from 1 to 10")
chat(messages, stop_sequences=["5"])Dies liefert „1, 2, 3, 4," und stoppt, bevor die „5" einbezogen wird. Du kannst mehrere Stop-Sequenzen angeben, und Claude stoppt bei derjenigen, auf die es zuerst trifft:
chat(messages, stop_sequences=["5", "3, 4"])Stop-Sequenzen sind besonders nützlich für:
- Die Kontrolle der Länge von Antworten
- Das Anhalten an natürlichen Haltepunkten in strukturierter Ausgabe
- Das Verhindern, dass Claude über bestimmte Markierungen oder Trennzeichen hinaus fortfährt
Beide Techniken geben dir feinkörnige Kontrolle über das Verhalten von Claude und ermöglichen es dir, Antworten auf eine Weise zu formen, die einfaches Prompting allein nicht erreichen kann.