Tool-Chaining
Ein Tool kann entscheiden, welches Tool als nächstes ausgeführt wird. Das nächste Tool läuft sofort, ohne dass der Orchestrator erneut entscheidet, und kann die vorherigen Ergebnisse aus dem Gesprächsverlauf lesen.
Es gibt zwei Möglichkeiten zum Verketten:
- Im Editor - ein Tool führt immer ein festes nächstes Tool aus und gibt sein Ergebnis weiter.
- Aus einem Skript - ein benutzerdefiniertes Skript-Tool entscheidet zur Laufzeit, ob verkettet wird, welches Tool läuft und mit welchen Argumenten.
Verkettet ein Skript und hat sein Tool zusätzlich ein konfiguriertes nächstes Tool, gilt die Wahl des Skripts. Ein Tool hat höchstens ein nächstes Tool, und nur ein erfolgreiches Tool löst es aus.
Verketten im Editor
- Auf der Registerkarte Tools ein benutzerdefiniertes Tool, Anruf weiterleiten oder Websuche öffnen.
- Unter Erweiterte Einstellungen ein Tool in Nächstes Tool erzwingen wählen.
- Speichern. Die Karte des Tools zeigt danach ein Pfeilabzeichen mit dem nächsten Tool.
Mit Keins – die KI entscheidet wird das nächste Tool wieder entfernt. Ein nächstes Tool, das später ausgeschaltet oder deaktiviert wird, ist als (nicht verfügbar) markiert und wird nicht ausgeführt.
Das nächste Tool erhält das Ergebnis des vorherigen Tools in seinem einzigen erforderlichen Parameter oder, falls es keinen hat, in seinem einzigen optionalen Parameter. Kann das Ergebnis einen erforderlichen Parameter nicht füllen, wird das nächste Tool übersprungen und der Orchestrator macht wie gewohnt weiter.
| Aufrufendes Tool | Weitergegeben wird |
|---|---|
| Skript-Tool | Der Rückgabewert des Skripts |
| HTTP-Tool | Der Antwort-Body |
| Wissenssuche-Tool | Der Inhalt der gefundenen Passagen |
| Anruf weiterleiten | Der Wählstatus, zum Beispiel BUSY oder ANSWER |
| Websuche | Nichts |
Verketten aus einem Skript
Ein Skript-Tool legt das nächste Tool mit tracker_api.force_next_tool() fest. Für Anruf weiterleiten und Live-Chat-Übergabe gibt es Abkürzungen:
tracker_api.force_next_tool("tool_check_availability", {"event_type": "consultation"})
tracker_api.force_forward_call("+4930123456")
tracker_api.force_forward_livechat("support")
Benutzerdefinierte Tools werden als tool_ gefolgt vom Tool-Namen angesprochen; ihre Argumente sind die Namen der Extraktionsfelder. Die Argumente werden genauso validiert, als hätte die KI sie gewählt.
Anruf weiterleiten
Ein auf Anruf weiterleiten konfiguriertes nächstes Tool läuft, sobald der weitergeleitete Anruf beendet ist, und erhält den Wählstatus. So lässt sich zum Beispiel eine andere Nummer versuchen, wenn die Leitung besetzt ist.
Eine Nummer, die per Verkettung an Anruf weiterleiten übergeben wird, wird direkt gewählt, auch wenn sie kein konfiguriertes Weiterleitungsziel ist. Hat Anruf weiterleiten gar keine Ziele, wird es dem Orchestrator nicht angeboten und läuft nur über Tool-Chaining; die Karte zeigt dies mit einem durchgestrichenen Augensymbol.
Wenn etwas schiefgeht
Kann ein verketteter Schritt nicht ausgeführt werden, zum Beispiel wegen ungültiger Argumente, landet sein Fehler im Gesprächsverlauf und der Orchestrator entscheidet, wie es weitergeht. Verkettung beendet nie das Gespräch.
Verwandte Dokumentation
- Agentenmodus - Tools, Standard-Tools und benutzerdefinierte Tools
- Wie der Agentenmodus funktioniert - die Entscheidungsschleife des Orchestrators
- Skripte - Schreiben und Bearbeiten von Skripten