Lösungen · Transport & Logistik
Wenn der Kunde fragt, wo das Paket ist, rät der Agent nicht: Er ruft den Kurier an, fragt ihn und kehrt mit der Antwort zurück.
Sprachgestützte Disposition, als Mechanismus gebaut, nicht als Versprechen: eine Tabelle mit expliziten Zuständen, drei Versuche im Abstand von zwei Minuten, das Anrufergebnis strukturiert geschrieben und ein Filter, der die Nummer des Fahrers aus allem entfernt, was das Modell erreicht, damit sie dem Kunden nicht angesagt werden kann.
Bereits gebautMecanismul de dispecerizare e scris și migrat în platforma noastră vocală: tabela `courier_calls` cu șapte stări posibile, trei încercări implicite, pauză de 120.000 ms între ele și rezultatul apelului păstrat structurat, plus cinci funcții de server care o folosesc — inițierea apelului către curier, verificarea rezultatului, mătura pentru apelurile rămase agățate, identificarea celui care sună înapoi și webhookul de după apel. A doua implementare e filtrul de ieșire scris pentru un client din transport, care elimină recursiv câmpurile de contact ale șoferului din rezultatul uneltei, păstrând numerele dispeceratului. Rezerva, spusă înainte să întrebi: partea de telefon trece printr-o gazdă SIP, iar gazda prin care merg liniile noastre de test nu răspunde la data scrierii — nu-ți dăm un număr de demonstrație pe care nu l-am putea ridica în fața ta.
In einem Transport- oder Lieferunternehmen sind die meisten eingehenden Anrufe dieselbe Frage, von verschiedenen Menschen gestellt: Wo ist die Ware, wann kommt sie an, warum ist sie nicht angekommen. Die Antwort steht nicht in einem Dokument und nicht in einem System — sie steckt im Kopf des Fahrers, der fährt. Der Disponent stellt die Verbindung her: Er nimmt den Anruf des Kunden entgegen, ruft den Fahrer an, kommt zum Kunden zurück. Diese Arbeit beschäftigt einen ganzen Menschen und wird hundertmal am Tag erledigt, mit denselben drei Sätzen.
Wir haben genau diese Kette gebaut, als Mechanismus mit Zuständen, nicht als Marketingfunktion. Ein Agent spricht mit dem Kunden. Wenn er eine Antwort braucht, die er nicht hat, ruft er eine Funktion auf, die einen zweiten Anruf startet — an den Kurier — verknüpft mit der Konversation, aus der er hervorgegangen ist. Dieser Anruf hat seine eigene Zeile in einer Tabelle, mit Status, der durch `calling`, `in_progress`, `retrying`, `completed`, `failed`, `no_answer`, `timeout` läuft, mit der Nummer des Versuchs, mit maximal drei Versuchen und einer Pause von zwei Minuten dazwischen. Das Ergebnis wird strukturiert geschrieben: die Zusammenfassung dessen, was der Kurier gesagt hat, die voraussichtliche Zeit, die Position.
Der leicht zu übersehende Teil, den wir als Anforderung und nicht als Vorsichtsmaßnahme behandeln: Die Telefonnummer des Fahrers darf den Kunden nicht erreichen. Das ist keine Anweisung, die im Prompt des Agenten steht, denn eine Anweisung in einem Prompt kann umgangen werden. Es ist ein Filter, der das Ergebnis des Werkzeugs rekursiv durchläuft und die Kontaktdaten des Fahrers entfernt, bevor dieses Ergebnis das Modell erreicht — wobei die Nummern der Disposition erhalten bleiben. Was entfernt wurde, kann nicht angesagt werden, unabhängig davon, wie der Agent gefragt wird.
Und die wichtigste Grenze ist eine der Infrastruktur, nicht der Intelligenz: Ein Sprachagent am Telefon hängt von einem SIP-Host zwischen Ihrem Betreiber und der Plattform ab. Wenn dieser Host ausfällt, gehen die Anrufe nicht durch, und die Signatur des Fehlers ist erkennbar — abgelaufene Anfrage, leere Anruf-ID, Dauer null. Der Host, über den unsere Testleitungen laufen, antwortet zum Zeitpunkt des Schreibens dieser Seite nicht. Im Web ist der Sprachweg heute überprüfbar; am Telefon ist der erste Schritt jeder Arbeit, festzustellen, auf welchem Host Ihre Nummern eingehen.