Was ich beim Entwerfen von Omnichannel-Backend-Integrationen gelernt habe
Geteiltes Intent-Schema, letztlich konsistenter Gesprächszustand und warum der Kanal das Letzte sein sollte, was dein Backend darüber weiß.
Teil von Backend Craft
Omnichannel ist ein Begriff, der oft von Leuten verwendet wird, die Dashboards verkaufen. Was er tatsächlich bedeutet, ist: ein Kunde beginnt auf WhatsApp, setzt das Gespräch per Sprache fort und beendet es im Web und erwartet, dass dein System mithalten kann.
Der Backend sollte nicht wissen, welcher Kanal es ist
Der größte Gewinn aus jedem Omnichannel-Projekt, das ich gebaut habe, ist diese Regel:
Der Fulfillment-Code darf nicht nach Kanal verzweigen. Wenn er das tut, baust du N Produkte.
Deine Bot-Logik, deine LLM-Prompts, deine CRM-Updates — das alles sollte nicht interessieren, ob der Input von SMS, Sprache, Web oder Brieftaube kam. Der Kanaladapter normalisiert auf ein gemeinsames Format und übergibt es. Alles, was downstream kommt, arbeitet mit Intentionen und Entitäten, nicht mit "Sprache sagt dies, WhatsApp sagt das."
Der Gesprächszustand ist letztlich konsistent
Anrufer warten nicht auf deine Replikationsverzögerung. Wenn der Anrufer von Bot zu Agent über einen Kanalwechsel eskaliert, benötigt der Agent einen Zustand, der möglicherweise 500 ms hinter dem Edge liegt.
Zwei Optionen, die funktionieren:
- Single-Writer-Gesprächsprotokoll, das nach Kunde + Sitzung indiziert ist. Jeder Kanal schreibt nur anhängende Ereignisse. Leser projizieren.
- Idempotenter "letzter bekannter" Snapshot, den jeder Kanal überschreiben kann, mit einem Versionsstempel. Einfacher, weniger sicher.
Ich bevorzuge das Protokoll. Nur anhängend ist langweilig und korrekt.
Das Intent-Schema ist der Vertrag
Wenn dein Sprachteam und dein Chat-Team Intentionen unterschiedlich definieren, wirst du sie später unter Zeitdruck zusammenführen. Definiere am ersten Tag eine gemeinsame Intent-Ontologie. Versioniere sie. Behandle Änderungen wie API-Änderungen.
Was ich meinem früheren Ich sagen würde
- Baue den Kanaladapter zuletzt. Bekomme das Fulfillment zuerst richtig.
- Messe den Erfolg beim Kanalwechsel als eine erstklassige KPI. Es ist die einzige, die beweist, dass Omnichannel funktioniert.
- Budgetiere für Observierbarkeit, die sich über die Kanäle erstreckt. Eine Trace, die stirbt, wenn Sprache an Web übergeben wird, ist keine Trace.
Verwandt
Weiterlesen
Tägliche Notiz: TIL — Polly SSML <mark> Tags
Polly's SSML <mark>-Tags geben Timing-Events über den Stream aus. Nützlich, um Bildschirmunterschriften mit der Sprachwiedergabe zu synchronisieren.
Tägliche Notiz: Debugging eines Produktions-API-Workflows
Integrationstest grün, Staging grün, Produktion schlägt bei 1 % der Anrufer fehl. Der Fehler war an einem Ort, den ich nie vermutet hätte.
Sprachintegrationen auf Basis von asynchronen Chatbots entwickeln
Was passiert, wenn du einen asynchronen Chatbot mit Amazon Connect und Lex kombinierst, und wie kannst du Latenz, Barge-In und den Kontextübergang im Griff behalten?
Weiter geht's
Wohin als Nächstes?
Stöbere durch weitere technische Texte, sieh dir die Engineering Case Studies an oder melde dich direkt.