Zum Hauptinhalt springen

Entwicklung eines KI-gestützten Kundenservice-Assistenten

TL;DR

Ein Enterprise-Kunde benötigte eine Erweiterung seiner bestehenden Webanwendung um intelligente Kundenservice-Funktionen. Die Lösung: ein moderner KI-gestützter Chat-Assistent, entwickelt mit React und TypeScript im Frontend, unterstützt durch einen FastAPI-Service auf Kubernetes. Durch die Nutzung von AWS Bedrock für LLM-Funktionen und Knowledge Base für RAG-basierte Suche in interner Dokumentation, kombiniert mit Custom Tools für Datenbankabfragen und Rich-UI-Widgets zur Datenvisualisierung, liefert der Assistent präzise, kontextbezogene Antworten und zeigt relevante Kundendaten direkt im Chat-Interface an.

Einleitung

Kundenservice im großen Maßstab stellt eine herausfordernde Balance dar: Nutzer erwarten sofortige, präzise Antworten, während Support-Teams mit wiederkehrenden Anfragen und der Notwendigkeit kämpfen, in mehreren internen Systemen zu suchen. Für diesen Enterprise-Kunden war das Ziel klar: einen KI-Assistenten direkt in die bestehende Webanwendung integrieren, der nicht nur Fragen aus der Dokumentation beantworten, sondern auch Echtzeitdaten aus internen Systemen abrufen und benutzerfreundlich darstellen kann.

Das Projekt erforderte eine enge Integration mit der bestehenden Infrastruktur des Kunden, einschließlich der Confluence-Wissensdatenbank, interner Datenbanken und Authentifizierungssysteme. Der Assistent sollte sich nahtlos in die Anwendung einfügen und dabei Funktionen weit über einen einfachen FAQ-Bot hinaus bieten.

Technische Architektur

Frontend: Modernes Chat-Widget

Das Chat-Interface wurde als React-Komponentenbibliothek mit TypeScript entwickelt, konzipiert für eine nahtlose Integration in die bestehende React-basierte Webanwendung des Kunden.

Komponente Technologie Zweck
UI-Framework React + TypeScript Typsichere, komponentenbasierte Architektur
State Management React Context + Hooks Konversationsstatus, Nachrichtenverlauf
Styling CSS Modules Gekapselte Styles, Theming-Unterstützung
Rich Widgets Custom Components Datenkarten, Charts, interaktive Elemente

Das Widget unterstützt sowohl Textantworten als auch interaktive Komponenten, die dynamisch basierend auf dem Antworttyp des Assistenten gerendert werden. Wenn das Backend strukturierte Daten zurückgibt (wie Kundeninformationen oder Statistiken), rendert das Frontend entsprechende Visualisierungs-Widgets anstelle von reinem Text.

Backend: FastAPI auf Kubernetes

Der Backend-Service wurde mit FastAPI entwickelt, gewählt wegen seiner Async-Unterstützung, automatischen OpenAPI-Dokumentation und exzellenten Performance-Eigenschaften für KI-Workloads.

ai-assistant-service/
├── app/
│   ├── api/           # API-Routen und Endpoints
│   ├── core/          # Konfiguration, Sicherheit
│   ├── llm/           # Bedrock-Integration, Prompts
│   ├── rag/           # Knowledge-Base-Retrieval
│   ├── tools/         # Custom-Tool-Implementierungen
│   └── widgets/       # Response-Widget-Definitionen
├── k8s/               # Kubernetes-Manifeste
└── tests/             # Test-Suite

Auf Kubernetes deployed profitiert der Service von:

  • Horizontalem Pod-Autoscaling basierend auf Request-Last
  • Health Checks und automatischen Neustarts
  • Secrets Management für AWS-Credentials
  • Ressourcenlimits für vorhersagbare Performance

AI/ML: AWS Bedrock Stack

AWS Bedrock stellt die zentralen KI-Funktionen bereit:

Service Zweck
Bedrock LLM Natural Language Understanding und Generation
Bedrock Knowledge Base RAG-Indexierung und semantische Suche
S3 Dokumentenspeicher für Knowledge-Base-Quellen

Systemarchitektur-Überblick

PlantUML Diagram PlantUML Diagram

Zentrale technische Herausforderungen

Herausforderung 1: Custom RAG mit mehreren Datenquellen

Problem: Die Dokumentation des Kunden war über mehrere Systeme verteilt: Confluence für interne Wikis, S3 für PDF-Handbücher und verschiedene interne Tools. Traditionelle Keyword-Suche war für Natural-Language-Anfragen nicht ausreichend.

Lösung: AWS Bedrock Knowledge Base wurde mit mehreren Datenquellen-Konnektoren konfiguriert. Der Confluence-Adapter synchronisiert Dokumentation automatisch, während Custom-Ingestion-Pipelines PDF-Dokumente und strukturierte Datenexporte aus anderen Systemen verarbeiten.

Die Knowledge Base übernimmt:

  • Automatisches Chunking und Embedding von Dokumenten
  • Semantische Ähnlichkeitssuche über alle Quellen
  • Quellenattribution für Antwort-Nachvollziehbarkeit

Wenn ein Nutzer eine Frage stellt, ruft das System relevanten Kontext aus allen verbundenen Quellen ab und versorgt das LLM mit umfassenden Informationen für präzise Antworten.

Herausforderung 2: Custom Database Tools

Problem: Nutzer benötigten häufig Echtzeitdaten, die nicht in der Dokumentation existieren: ihren Kontostatus, aktuelle Transaktionen, Support-Ticket-Verlauf und andere dynamische Informationen.

Lösung: Custom Tools wurden nach einem Function-Calling-Pattern implementiert. Das LLM kann diese Tools aufrufen, wenn es feststellt, dass Echtzeitdaten zur Beantwortung einer Anfrage benötigt werden.

Implementierte Tools umfassen:

  • Kundensuche: Abruf von Kundenprofil und Kontodetails
  • Transaktionssuche: Abfrage aktueller Transaktionen mit Filtern
  • Ticket-Verlauf: Abruf von Support-Ticket-Status und -Historie
  • Nutzungsstatistiken: Berechnung und Rückgabe von Nutzungsmetriken

Jedes Tool ist mit einem klaren Schema definiert, das Inputs und Outputs beschreibt und dem LLM ermöglicht zu verstehen, wann und wie es verwendet werden soll. Die Tools werden mit den Berechtigungen des authentifizierten Nutzers ausgeführt, um korrekte Zugriffssteuerung zu gewährleisten.

Herausforderung 3: Rich Response Widgets

Problem: Reine Textantworten sind unzureichend, wenn Nutzer komplexe Daten wie Kontozusammenfassungen, Transaktionsverläufe oder Systemstatistiken verstehen müssen.

Lösung: Ein Widget-System wurde entwickelt, das es dem Backend ermöglicht, strukturierte Response-Typen zusammen mit Text zurückzugeben. Das Frontend erkennt diese Widget-Typen und rendert entsprechende Visualisierungen.

Widget-Typen umfassen:

  • Kundenkarte: Profilfoto, Name, Kontostatus, Schlüsselmetriken
  • Transaktionstabelle: Sortierbare, filterbare Liste aktueller Transaktionen
  • Stats-Dashboard: Schlüsselmetriken mit Trend-Indikatoren
  • Action-Buttons: Schnellaktionen, die der Nutzer direkt aus dem Chat ausführen kann

Das Widget-System ist erweiterbar: Neue Widget-Typen können durch Definition eines Schemas im Backend und einer entsprechenden React-Komponente im Frontend hinzugefügt werden.

Bereitgestellte Kernfunktionen

Conversational AI

  • Natural Language Understanding für Kundenanfragen
  • Kontextbewusste Antworten unter Nutzung des Gesprächsverlaufs
  • Elegante Behandlung mehrdeutiger oder unklarer Fragen

Wissensabruf

  • Semantische Suche über Confluence, PDFs und andere Quellen
  • Quellenangaben für Transparenz und Vertrauen
  • Automatische Synchronisation der Wissensdatenbank

Echtzeit-Datenzugriff

  • Kundenprofil und Kontoinformationen
  • Transaktionsverlauf und -details
  • Support-Ticket-Status

Rich Visualisierungen

  • Kundendatenkarten mit Schlüsselinformationen
  • Interaktive Datentabellen
  • Statistik- und Metrikanzeigen
  • Schnellaktions-Buttons

Enterprise-Integration

  • SSO-Authentifizierung
  • Rollenbasierter Datenzugriff
  • Audit-Logging für Compliance

Ergebnisse

Verbessertes Support-Erlebnis

Der KI-Assistent transformierte die Art, wie Nutzer mit dem Kundenservice interagieren:

  • Sofortige Antworten: Nutzer erhalten unmittelbare Antworten auf häufige Fragen, ohne auf menschliche Agenten zu warten
  • Self-Service-Datenzugriff: Kunden können ihre eigenen Kontoinformationen, Transaktionsverläufe und Ticket-Status prüfen, ohne den Support zu kontaktieren
  • Kontextuelle Hilfe: Der Assistent versteht den aktuellen Kontext des Nutzers und bietet relevante Vorschläge

Reduzierte Support-Last

Durch die Bearbeitung routinemäßiger Anfragen und Datenabfragen ermöglichte der Assistent dem Support-Team, sich auf komplexe Probleme zu konzentrieren, die menschliches Urteilsvermögen erfordern. Häufige Anfragetypen, die jetzt vollständig automatisiert sind:

  • Kontostatusanfragen
  • Dokumentationsabfragen
  • Transaktionsklärungen
  • Funktionserklärungen

Skalierbare Architektur

Das Kubernetes-Deployment stellt sicher, dass der Assistent Traffic-Spitzen ohne Degradation bewältigen kann:

  • Auto-Scaling reagiert auf Nachfrage
  • Stateless Design ermöglicht horizontale Skalierung
  • AWS Bedrock übernimmt KI-Compute-Skalierung automatisch

Erkenntnisse

  1. RAG-Qualität hängt von der Quellenqualität ab. Der Assistent ist nur so gut wie die Dokumentation, auf die er zugreifen kann. Investitionen in die Bereinigung und Organisation von Confluence-Inhalten zahlten sich in der Antwortgenauigkeit aus.

  2. Tool-Design erfordert sorgfältige Abgrenzung. Jedes Tool sollte eine Sache gut machen. Übermäßig komplexe Tools sind für das LLM schwieriger korrekt zu verwenden und schwieriger zu warten.

  3. Widget-Antworten benötigen graceful Degradation. Nicht jeder Client kann Rich Widgets rendern. Das System enthält immer einen Text-Fallback neben strukturierten Widget-Daten.

  4. Konversationskontext ist entscheidend. Nutzer erwarten, dass sich der Assistent an frühere Gesprächsinhalte erinnert. Die Implementierung einer ordentlichen Gesprächsverlauf-Verwaltung verbesserte die Nutzerzufriedenheit erheblich.

  5. Latenz-Budgets sind wichtig. Nutzer erwarten nahezu sofortige Antworten. Sorgfältige Optimierung des RAG-Retrievals und der LLM-Aufrufe war notwendig, um akzeptable Antwortzeiten zu erreichen.

Fazit

Der Aufbau eines KI-gestützten Kundenservice-Assistenten erfordert mehr als nur die Verbindung eines LLM mit einem Chat-Interface. Der echte Wert entsteht durch tiefe Integration mit bestehenden Systemen: Wissensdatenbanken mit institutionellem Wissen, Datenbanken mit Kundendaten und UI-Komponenten, die komplexe Informationen klar darstellen können.

Durch die Kombination der leistungsstarken KI-Funktionen von AWS Bedrock mit Custom Tools und Rich-UI-Widgets lieferte dieses Projekt einen Assistenten, der Nutzern tatsächlich hilft, anstatt nur generische Antworten zu liefern. Das Ergebnis ist ein Support-Erlebnis, das schneller, präziser und zufriedenstellender für Nutzer und Support-Teams ist.

Wobei können wir Sie unterstützen?

Senden Sie mir einfach eine Nachricht order rufen Sie mich an. Ich freue mich, von Ihnen zu hören.

[email protected]

+49 160 975 280 94

Portrait of Marco Rico, Fractional CTO

Marco Rico

Fractional CTO