Tools
Rezepte
Wie ein Tool seine Anfragen baut und was der Agent davon sieht.
Das Rezept sagt einem Tool, welche Anfragen es an die Verbindung schickt, woher die Werte kommen und was der Agent von der Antwort zu sehen bekommt.
Beispiel
{
"kind": "fetch",
"announce": true,
"announce_text": "Einen Moment, ich schaue nach freien Terminen.",
"sources": {
"a": {
"method": "GET",
"url": "/slots?date={{date}}",
"params": [
{
"from": "llm",
"name": "date",
"value": "Wunschtag des Anrufers im Format YYYY-MM-DD",
"type": "string",
"required": true
}
]
}
},
"output": {
"fields": [
"slots"
],
"limit": 5,
"remember": []
}
}Felder
| Feld | Bedeutung |
|---|---|
kind |
fetch liest Daten, action löst etwas aus, etwa eine Buchung. |
announce |
Ob der Agent etwas sagt, während das Tool läuft. |
announce_text |
Was er dann sagt. |
sources |
Die Anfragen, nach Buchstaben benannt und in dieser Reihenfolge ausgeführt: a, b, c. |
output.fields |
Welche Felder der Antwort der Agent sieht. Alles andere bleibt bei dir. |
output.limit |
Höchstzahl an Einträgen, wenn die Antwort eine Liste ist. null für alle. |
output.remember |
Felder, die sich der Agent für spätere Tools merkt, etwa results.id. |
Anfrage (sources)
| Feld | Bedeutung |
|---|---|
method |
GET, POST, PUT, PATCH oder DELETE. |
url |
Pfad relativ zu base_url der Verbindung. {{name}} setzt einen Parameter ein. |
for_each_of |
Führt die Anfrage einmal je Eintrag einer früheren Anfrage aus, z. B. "a". |
params |
Die Parameter, siehe unten. |
Parameter (params)
| Feld | Bedeutung |
|---|---|
from |
llm: der Agent füllt den Wert aus dem Gespräch. fixed: ein fester Wert. variable: eine Gesprächsvariable aus Space abrufen. |
name |
Name des Parameters. Punkte bilden verschachtelte Felder: address.street, items.0.sku. |
value |
Bei llm die Anweisung an den Agenten, bei fixed der Wert, bei variable der Name der Variable. |
type |
string, integer, number, boolean, array oder object. |
required |
Ob der Parameter vorhanden sein muss. |
fields |
Die Unterfelder bei array und object. |
values |
Erlaubte Werte, optional. |
Bei GET gehen Parameter, die nicht als Platzhalter in url stehen, in die Adresse, bei den übrigen Methoden in den JSON-Body.
Gute Rezepte
- Schreib bei
from: llminvalue, was genau gemeint ist und in welchem Format: "Wunschtag des Anrufers im Format YYYY-MM-DD" statt "Datum". - Gib dem Agenten über
output.fieldsnur, was er zum Antworten braucht. Weniger Felder heißt weniger Fehler. - Prüfe jede Anfrage vorher mit Testanfrage senden.