CaritasGo

Faszinierend ist nicht das was der Bot sagt, sondern alles was er nicht sagt.

Bild CaritasGo

CaritasGo sieht von aussen aus wie ein einziger Chatbot. Tatsächlich handelt es sich aber um eine Orchestrierung von 22 spezialisierten Assistenzbots. Ein zentraler Dirigent steuert und koordiniert diese Assistenzbots.

Warum haben wir nicht einfach einen klassischen Chatbot gebaut?

Ein klasssicher Chatbot hat in der Regel einen (sehr) langen Prompt. Je mehr Anweisungen man dem Chatbot geben muss, desto fehleranfälliger wird er. Der Bot vergisst, was schon besprochen worden ist und beginnt im Verlauf des Gesprächs vermehrt zu halluzinieren. Bei CaritasGo gibt es mehrere Herausforderungen, die der Bot gleichzeitig bewältigen muss, was zu einem extrem langen Prompt führen würde. Hier nur eine kleine Auswahl:

  • bleib in der Sprache, die im Browser eingestellt ist
  • es geht nicht nur um den Nutzer, sondern um seinen ganzen Haushalt. Ist die 18- jährige Schwester die behinderte Person oder der Vater? Und hey, eine WG zählt hier nicht als Haushalt.
  • verheiratete Personen können nicht verwitwet sein (auch wenn der erste Ehepartner verstorben ist).
  • empfehle Betreuungsgutscheine nur Personen, die ein Kleinkind haben.
  • erfinde bitte bei Nachfragen zur Sozialhilfe keine Informationen.
  • falls eine Person Schulden hat, dann verweise sie an die Schuldenberatung der Caritas.
  • wir möchten zu folgenden 17 Sozialleistungen Informationen geben. Aber nur wenn sie für den Haushalt relevant sind….

Nebenbei erwähnt: CaritasGo enthält zusätzlich auch einen klassischen RAG-Suchbot. Man kann ihn zum Ende der Konversation aufrufen und in den offiziellen Dokumenten nach spezifischen Informationen suchen. Die ratsuchenden Personen sollen jedoch grundsätzlich schlank und schnell zu Informationen kommen. Sie sollen nichts suchen müssen und nur mit Inhalten bedient werden, die für sie relevant sind. Was mich an CaritasGo am meisten fasziniert ist nicht, was der Bot sagt, sondern was er alles nicht sagt.

Für CaritasGo hat sich eine regelbasierte Bot-Orchestrierung auch aus weiteren Gründen angeboten:

Gesprächsführung durch den Bot

Die Gesprächsführung soll umgekehrt verlaufen. Während bei Google oder ChatGPT der Nutzer Fragen stellt, soll bei CaritasGo der Bot das Gespräch führen und die ratsuchende Person durch die Konversation leiten. Ein grosser Vorteil davon ist, dass der Nutzer überhaupt kein thematisches Vorwissen benötigt. Er muss sich nicht einmal überlegen, was er den Bot fragen soll. Zu Beginn des Projekts hat sich die Frage gestellt: wie kommen wir zu den wichtigsten Informationen bezüglich Lebenslage der ratsuchenden Person (z.B. ist sie erwerbslos? In Ausbildung? Hat sie Kleinkinder? Gibt es eine Gesundheitsproblematik in der Familie?). Wo früher lange Fragebogen oder das Anklicken von diversen Filterfunktionen der Weg zum Ziel waren, kann nun ein Chatbot die relevanten Fragen in einem Dialog stellen. Und das Tolle daran ist: es werden nur plausible Fragen gestellt. Ist jemand 20 Jahre alt und lebt alleine, entfällt beispielsweise das Thema Rente vollständig. In der Regel reichen 2 bis 4 Nachfragen aus, damit sich der zuständige Assistenzbot ein Bild über die Lebenslage im betreffenden Haushalt machen kann.

Gezielte Empfehlungen durch spezialisierte Assistenten

Eine Anforderung im Projekt war, dass die ratsuchenden Personen sehr gezielt über staatliche und andere Unterstützungsangebote informiert werden. Müssen zum Beispiel für bestimmte Sozialleistungen Antragsformulare ausgefüllt werden, soll mitgeteilt werden, dass man in der LernLounge der Caritas Unterstützung beim Ausfüllen der Formulare bekommt. Diese Informationen müssen also gezielt ausgegeben werden können.

Regelbasierte Logik statt Black Box

Entsprechend haben wir für jede Sozialleistung und jedes Unterstützungsangebot, das der Chatbot erwähnen kann, einen Assistenzbot gebaut. Je nach Lebenslagen, die zu Beginn der Gesprächs identifiziert worden sind, werden im späteren Verlauf des Gesprächs die dafür relevanten Assistenzbots aufgerufen. Die Assistenzbots werden angewiesen, bei Bedarf noch weitere Informationen von der Nutzerin einzuholen und dann eine Empfehlung abzugeben. Die Empfehlungen basieren auf klar definierten Regeln. Zum Beispiel soll bei Personen mit Behinderungen oder chronischen Krankheiten nachgefragt werden, ob sie eine IV-Rente beziehen. Je nach Ausgangslage soll der Bot anders reagieren:

  • Der Bot weiss aus dem bisherigen Gespräch, dass die behinderte Person schon im Rentenalter ist. Personen im Rentenalter haben keine IV-Renten. Entsprechend wird der Assistent stillschweigend abgebrochen. Der Nutzer merkt nicht, dass hier im Hintergrund wichtige Denkarbeit geleistet worden ist. Die Konversation wird dem nächsten Assistenten übergeben.

  • Der Bot fragt nach der Invalidenrente und der Nutzer sagt, dass die behinderte Person keine Invalidenrente bezieht. In diesem Fall gibt es keinen weiteren Beratungsbedarf. Der Bot bedankt sich für die Information und die Konversation wird an den nächsten Assistenten übergeben.

  • Die Person bestätigt, dass die behinderte Person eine Invalidenrente bezieht. In diesem Fall informiert der Bot über Ergänzungsleistungen zur IV. Hier der Ausschnitt aus dem Prompt:

    Falls die Person eine Invalidenrente (IV) hat, dann informiere die Person kurz und knapp. Übersetze folgenden Informationstext auf {{_language}}, belasse die Bezeichnung von Institutionen und Adressen jedoch in Deutsch. Und formatiere den Text wie folgt: hinterlege den Link in markdown-format und zeige den Titel mit einer Stufe-4-Überschrift "####":

    ------INFORMATIONSTEXT------

    Reicht die IV-Rente nicht aus, helfen Ergänzungsleistungen (EL).
    
    Wenn die IV-Rente nicht für den täglichen Bedarf reicht, übernehmen Ergänzungsleistungen den Rest, auch Krankheitskosten.
    
    Hier ist das Formular für Ergänzungsleistungen:
    https://www.was-luzern.ch/sites/default/files/documents/AK_Anmeldung_EL_0.pdf
    
    Das Ausfüllen ist kompliziert. Pro Infirmis Luzern hilft beim Ausfüllen:
    Telefon: 058 775 12 12
    E-Mail: luownw@proinfirmis.ch
    
    In einer akuten Notlage kann das Sozialamt der Wohngemeinde helfen.
    

    ------ENDE INFORMATIONSTEXT------

Einfache Wartung durch klare Struktur

Regelbasierte Bots haben eine transparente Logik. Die Logik kann im Projekt in Zusammenarbeit mit Personen aus dem Business ausgearbeitet werden. Auch für die Konfiguration der jeweiligen Assistenten braucht es keinen Informatiker. Die inhaltlich Verantwortlichen können den Chatbot direkt und eigenhändig aufbauen und pflegen.

Skalierbarkeit

Soll ein Chatbot skalierbar sein, eignet sich der regelbasierte und auf Agenten abgestellte Ansatz wunderbar. Es soll eine weitere Leistung empfohlen werden? Kein Problem, es wird einfach ein zusätzlicher Assistent integriert. Der Chatbot soll auch Personen aus einem anderen Kanton beraten? Kein Problem, die Assistenten können ganz einfach konfiguriert werden.

Möglichst tiefe Betriebskosten

Wie immer suchen wir Lösungen, die für unsere Kunden zu möglichst tiefen Betriebskosten führen. CaritasGo nutzt ausschliesslich Lambda-Funktionen – ein Serverless-Computing-Service von Amazon Web Services. Es müssen also weder von poemAI noch von Caritas Zentralschweiz Server angeschafft und betrieben werden. Verrechnet wird nach Nutzung – das bedeutet, wir müssen uns nicht überlegen, wie viele Anfragen der Bot wohl verarbeiten muss. Gibt es keine Chat-Konversationen fallen keine Server-Kosten an; wird der Chatbot überrannt, wird automatisch hochskaliert.

Nathalie Portmann
Nathalie Portmann

Lust auf mehr Blogs?

Welche Sprachen kann GPT eigentlich?

Zusammen mit der Caritas Zentralschweiz haben wir GPT von OpenAI in diversen Sprachen getestet

Welche Sprachen kann GPT eigentlich?

Zusammen mit der Caritas Zentralschweiz haben wir GPT von OpenAI in diversen Sprachen getestet

Kontaktieren Sie uns!

poemAI GmbH
Rämsiweg 8
6048 Horw
;