Zum Inhalt springen

Agent Sessions

Wenn eine Nachricht über einen beliebigen Kanal ankommt, muss Selu entscheiden, welcher Agent sie bearbeitet und wie lange dieses Gespräch aktiv bleiben soll. Genau dafür gibt es Sessions.

Jede Pipe hat einen Standard-Agenten. Wenn ein neues Gespräch beginnt, gehen Nachrichten automatisch an diesen Agenten.

Wenn du mehrere Agenten installiert hast, kannst du eine Nachricht an einen bestimmten Agenten richten, indem du ihn erwähnst:

@weather-agent Wie wird das Wetter morgen?

Wenn kein Agent erwähnt wird, übernimmt der Standard-Agent. Der Standard-Agent kann Aufgaben auch automatisch an Spezial-Agenten delegieren — wenn er feststellt, dass ein anderer Agent für eine Anfrage besser geeignet ist, gibt er die Aufgabe im Hintergrund weiter und liefert das Ergebnis zurück.

Eine Session beginnt, wenn ein Nutzer seine erste Nachricht sendet, und endet, wenn das Inaktivitäts-Timeout erreicht ist.

Die Session ist aktiv, solange Nachrichten hin- und hergehen. Der Agent behält den vollständigen Gesprächskontext und kann sich auf frühere Nachrichten beziehen.

Das Inaktivitäts-Timeout bestimmt, wie lange eine Session ohne Aktivität bestehen bleibt. Standardmäßig sind das 30 Minuten.

Jeder Agent kann ein eigenes Inaktivitäts-Timeout haben, das in der Definitionsdatei des Agenten (agent.yaml) konfiguriert wird. Wenn kein agentenspezifisches Timeout gesetzt ist, gilt der globale Standard.

Kürzere Timeouts verbrauchen weniger Speicher, führen aber dazu, dass der Agent den Kontext schneller vergisst. Längere Timeouts halten Gespräche länger offen, brauchen aber mehr Ressourcen.

Wenn mehrere Agenten verfügbar sind, hält Selu ihre Sessions getrennt. Jeder Agent behält seinen eigenen Gesprächskontext. Wenn du zwischen Agenten wechselst, verlierst du in keinem der Gespräche den Fortschritt.

Du kannst jederzeit mit einem anderen Agenten sprechen, indem du ihn in deiner Nachricht @erwähnst. Dein bisheriges Gespräch mit dem anderen Agenten bleibt erhalten.