WhatsApp-bestilling med AgentCore og Nova 2

De fleste virksomheder, der bygger en bestillingsbot til WhatsApp

De fleste virksomheder, der bygger en bestillingsbot til WhatsApp, ender med tre separate systemer: ét til tekstbeskeder, ét til stemmeoptagelser og ét til telefonopkald, der aldrig taler sammen. Kunden skifter kanal, og assistenten mister hukommelsen. AWS har nu vist en referencearkitektur, der løser præcis det problem ved at bygge på Amazon Bedrock AgentCore og Nova 2 - og gevinsten er ikke en ny model, men en delt hukommelse, der binder kanalerne sammen.

Multimodalitet

Én samtale uanset om kunden skriver, taler eller ringer

Arkitekturen tager udgangspunkt i, at en kunde ofte starter en bestilling i tekst, skifter til en talebesked, når hænderne er fulde, og til sidst ringer op for at bekræfte leveringstidspunktet. I de fleste eksisterende løsninger nulstiller det samtalen. Her er pointen, at Nova 2 håndterer selve den multimodale forståelse, altså at modellen kan tolke tale, tekst og lyd fra et opkald med samme underliggende forståelse af intention, mens AgentCore står for det, der binder kanalskiftet sammen: en fælles agent-kontekst, der ikke er bundet til én kanal.

Det er en vigtig skelnen, og en jeg selv har stødt hovedet imod. Jeg ser ofte, at virksomheder tror, multimodalitet er løst, når modellen kan læse et billede eller forstå en lydfil. Men den reelle udfordring i bestillingsflows er kontinuitet, ikke modalitet i sig selv. En kunde, der lægger telefonen på og senere skriver "kan I ændre min ordre", forventer at blive genkendt, ikke at skulle forklare sig forfra.

Hukommelse

Sådan holder delt hukommelse styr på kunden på tværs af kanaler

AgentCore Memory er den komponent, der gør det muligt. Den gemmer samtalehistorik og ordrekontekst som strukturerede hukommelsesposter, der kan hentes frem uanset hvilken kanal den næste besked kommer ind på. Praktisk betyder det, at agenten ikke logger en "WhatsApp-samtale" og en "telefonsamtale" som to adskilte forløb, men som én kundehistorik med tidsstemplede hændelser.

Det løser et konkret problem, jeg selv har set flere multimodale bots kæmpe med: hukommelse, der er bundet til en session eller en enkelt kanal, gør assistenten dum, så snart kunden skifter medie. Med et delt hukommelseslag kan agenten svare "ja, du bestilte to pizzaer klokken 18, skal leveringen stadig være til Nørrebro?", selvom spørgsmålet om leveringsadressen blev stillet i et telefonopkald tre minutter tidligere, og bekræftelsen kommer som en tekstbesked.

Ja, du bestilte to pizzaer klokken 18, skal leveringen stadig være til Nørrebro?

Arkitektur

Hvorfor kanal- og ordrelag holdes adskilt

Et af de mere interessante arkitekturvalg er, at referencearkitekturen holder kanallaget (WhatsApp, tale, opkald) strengt adskilt fra ordrelaget, altså den forretningslogik, der faktisk opretter, ændrer og bekræfter en ordre i virksomhedens system. Det lyder som et teknisk detaljevalg, men jeg mener, det har stor praktisk betydning for enhver virksomhed, der overvejer at bygge noget lignende.

Når kanallaget er isoleret, kan man tilføje en ny indgang, for eksempel en Messenger-integration eller en app-widget, uden at røre ved den logik, der håndterer selve bestillingen. Omvendt kan man opdatere prissætning, lagerstatus eller leveringsregler i ordrelaget uden at skulle teste hver eneste kanal forfra. Det er den samme tankegang, jeg kender fra klassisk API-design, ført ind i en agentisk arkitektur, hvor fristelsen ellers ofte er at bygge én stor, sammenfiltret model, der gør det hele.

Det betyder også, at fejl i én kanal ikke automatisk forplanter sig til ordrelaget. Går tale-til-tekst-transskriptionen galt i et opkald, er det agentens fortolkningslag, der skal håndtere usikkerheden, ikke selve ordresystemet, som fortsat kan stole på, at det kun modtager validerede kommandoer.

Drift

Fra referencearkitektur til en agent, der faktisk kan gå i drift

Det, der gør denne arkitektur interessant for danske virksomheder, er ikke Nova 2 i sig selv, men at AWS pakker den ind i AgentCore som en produktionsklar ramme, ikke bare et demo-scenarie. Referencearkitekturer af den her type er typisk bygget til at blive tilpasset, ikke kopieret direkte, og det er også sådan, jeg anbefaler at bruge den.

En dansk restaurantkæde, en webshop eller en servicevirksomhed, der modtager bestillinger over WhatsApp i dag, sidder ofte med manuel opfølgning, når en kunde skifter mellem tekst og opkald. Her viser AWS et konkret mønster for, hvordan man løser det uden at bygge tre forskellige integrationer, der aldrig deler kontekst.

01 / 01

Et øjeblik…

Henter spørgsmål…

1 / 4

Vælg ydelse

Henter ydelser…