Vorschläge (setSuggestions)
Klickbare Folge-Buttons, Toggles und Inline-Eingabefelder unter der Antwort.
Manchmal weißt du als Entwickler besser als das Modell, was der Benutzer als nächstes tun könnte. Mit dem eingebauten Tool setSuggestions schickst du dem Frontend Quick-Action-Elemente in drei Varianten: Suggestions (Klick = Send), Toggles (Mehrfachauswahl) und Inputs (Inline-Textfelder).
So sieht das aus
Nach einer Modell-Antwort tauchen Pills auf — kleine pinke Buttons. Es gibt drei Typen, alle in einer einzigen Wrap-Reihe:
- Suggestion-Pill — Klick sendet den Text sofort als Nachricht (mit allen aktiven Toggles und Input-Werten als Suffix/Prefix).
- Toggle-Pill — Checkbox-Optik, Klick togglet den Aktiv-Zustand. Aktive Toggles werden beim nächsten Send als Suffix mitgeschickt.
- Inline-Input — kleines Textfeld mit Placeholder. Wert wird beim nächsten Send als Prefix mitgeschickt.
Reihenfolge der finalen Message: [Eingabefeld-Text] [Inline-Inputs] [Suggestion] [aktive Toggles].
Aktivieren
setSuggestions ist ein Shared Tool — also schon vorhanden. Du musst es nur in der tools-Liste deines Assistant oder Public Chats freigeben:
'assistants.support' => [
'name' => 'Kunden-Support',
'tools' => [
'searchFaq',
'createTicket',
'setSuggestions', // ← dazu
],
],
Im Prompt einsetzen
Sage dem Modell explizit, wann es Vorschläge anbieten soll. Sonst nutzt es das Tool nicht oder zu unregelmäßig.
Nach jeder Antwort: rufe setSuggestions auf mit 2-4
sinnvollen Folgefragen oder -aktionen, die der Benutzer
als nächstes haben könnte.
Beispiele:
- nach einer Produkt-Übersicht: "Details zu …", "Preisvergleich",
"Auf den Merkzettel"
- nach einer Bestellung: "Status prüfen", "Storno", "Adresse ändern"
- nach Hilfe-Text: "Mit Mitarbeiter sprechen", "Anderes Thema"
Halte sie kurz: max. 5 Wörter pro Vorschlag.
Parameter
setSuggestions([
// Klassisch: Klick = sofort senden
'suggestions' => [
'Details zu Bestellung 1001',
'Alle offenen Bestellungen',
'Lieferzeiten heute',
],
// Optional: Mehrfach-Auswahl, wird als Suffix mitgeschickt
'toggles' => [
'mit Mwst',
'als CSV',
],
// Optional: Inline-Textfelder als Prefix
'inputs' => [
'Bestellnummer',
],
])
| Feld | Pflicht | Max | Bedeutung |
|---|---|---|---|
suggestions |
mind. eines | 10 | Klick = Send |
toggles |
mind. eines | 5 | Mehrfachauswahl, Suffix |
inputs |
mind. eines | 3 | Placeholder-Strings für kleine Textfelder, Prefix |
Mindestens einer der drei Parameter muss gesetzt sein. Bei Überschreitung der Maxima liefert das Tool einen Fehler zurück.
Initial-Slots aus der Config
Statt setSuggestions mid-stream kannst du Quick-Actions auch direkt in der Assistant-Config (oder Tenant-Default) hinterlegen. Sie erscheinen automatisch nach dem Greeting:
'assistants.gutscheine' => [
// ...
'suggestions' => ['5€', '10€', '20€', '50€'],
'toggles' => ['versandkostenfrei'],
'inputs' => ['Bestellnummer (z.B. B89165482)'],
],
Die Slots werden auch nach tm reset und nach Tab-Switch im Universalchat neu geladen.
Wie sie übertragen werden
Im Streaming-Chat kommen die Quick-Actions als eigenes SSE-Event direkt nach der Antwort:
event: suggestions
data: {"suggestions":["20€","50€"], "toggles":["versandkostenfrei"], "inputs":["Bestellnummer"]}
Das Widget rendert sie als Pill-Reihe. Im POST-Modus (/chat/index) werden sie aktuell nicht zurückgegeben — Quick-Actions funktionieren nur im Streaming-Modus.
Gute Vorschläge schreiben
- Kurz: 2–5 Wörter, kein ganzer Satz
- Aktiv: „Storno einleiten", nicht „Möchten Sie stornieren?"
- Konkret zur letzten Antwort: „Details zu Bestellung 1001" statt generisch „mehr Details"
- 2–4 Stück: weniger ist klarer als 10
Wann NICHT verwenden
- Nach reinen Bestätigungen („Erledigt.") — nicht jeder Schritt braucht Folgevorschläge
- Wenn der Benutzer eindeutig fertig ist
- In sehr offenen Konversationen, wo Vorschläge die Richtung ungewollt einengen
Verwandt
- Chat-Widgets — Customizen — wie Suggestions im Widget gestylt werden
- Streaming & SSE — Übertragungsformat