Generativ UI til AI-agenter på AWS Bedrock

En AI-agent, der kun svarer med tekst i en chatboks, efterlader

En AI-agent, der kun svarer med tekst i en chatboks, efterlader brugeren til selv at oversætte svaret til handling. AG-UI-protokollen løser et konkret problem i det gab: den lader agenten selv styre, hvad der vises i brugerfladen, mens agenten kører. Det er nu bygget direkte ind i AWS' Fullstack AgentCore Solution Template, som kobler CopilotKit til Amazon Bedrock AgentCore.

Protokol

AG-UI-protokollen flytter agentens output fra tekst til interface

En AI-agent, der kun svarer med tekst i en chatboks, efterlader brugeren til selv at oversætte svaret til handling. Det er et problem, jeg støder på igen og igen, når jeg sætter agenter i produktion: agenten er dygtig nok, men brugeren aner ikke, hvad den lige har gjort, eller hvad den er ved at gøre. AG-UI-protokollen løser et konkret stykke af det problem. Den lader agenten selv styre, hvad der vises i brugerfladen, mens den kører, ikke kun hvad den skriver. AWS har nu bygget det direkte ind i deres Fullstack AgentCore Solution Template, som kobler CopilotKit til Amazon Bedrock AgentCore, og det er den slags byggesten, jeg holder øje med, fordi det er præcis den type infrastruktur, jeg selv sætter sammen for kunder.

AG-UI (Agent-User Interaction Protocol) er en åben standard, der definerer, hvordan en agent kommunikerer med en frontend i realtid, ikke kun med tekst frem og tilbage, men med strukturerede events. Når agenten beslutter, at et resultat skal vises som et kort, en tabel eller en formular i stedet for en tekstblok, sender den det som en event i protokollen, og frontenden gengiver det med det samme.

Det ændrer, hvad en agent-frontend kan være. En agent, der planlægger en rejse, kan vise et interaktivt kort med valgbare hoteller i stedet for at remse dem op i prosa. En agent, der analyserer et regnskab, kan tegne en graf direkte i samtalen. Brugeren interagerer med det, agenten viser, ikke kun med det, agenten skriver.

Brugeren interagerer med det, agenten viser, ikke kun med det, agenten skriver.

Arkitektur

Fullstack AgentCore Solution Template samler byggeklodserne

Jeg har brugt nok tid på at koble frontends på agenter til at vide, hvor meget af det arbejde der aldrig burde have været nødvendigt. AWS har pakket mønsteret ind i en solution template, der forbinder tre lag: Amazon Bedrock AgentCore som kørselsmiljø for selve agenten, CopilotKit som frontend-lag, og AG-UI som protokollen imellem dem. Det betyder, at et team, der allerede har en agent kørende i AgentCore, kan koble en generativ UI på uden at bygge kommunikationslaget fra bunden.

Templaten løser noget, der ellers tager uger at få rigtigt: streaming af agent-events til en frontend, der reagerer i realtid, uden at frontenden skal polle eller genindlæse. AgentCore håndterer agentens kørsel, hukommelse og identitet, mens AG-UI-laget sørger for, at det, agenten gør undervejs, ses af brugeren undervejs, ikke først når agenten er færdig.

Frontend

CopilotKit gør delt tilstand til den reelle nyhed

Det mest interessante ved kombinationen er efter min mening ikke visningen i sig selv, men delt tilstand. CopilotKit synkroniserer en tilstand mellem agent og brugerflade, så begge parter arbejder på samme data. Hvis en bruger retter i et felt, som agenten selv har udfyldt, ser agenten rettelsen med det samme og kan tage højde for den i sit næste skridt. Det er en toveis samtale om data, ikke en envejs strøm af agent-output, og det er den type detalje, jeg selv leder efter, når jeg vurderer, om en agent-arkitektur reelt holder i produktion.

Kontrol

Human-in-the-loop bliver en del af selve interfacet

For en agent, jeg sætter i produktion, er det ikke nok, at den er dygtig, den skal også kunne stoppes eller korrigeres, når det tæller. AG-UI-mønsteret understøtter menneskelig kontrol som et førsteklasses element i protokollen: agenten kan sende en event, der beder om godkendelse, før den udfører en handling med reelle konsekvenser, og frontenden viser det som et konkret valg, ikke en logbesked, ingen læser.

Det er relevant for enhver agent, der rører ved noget uigenkaldeligt, en betaling, en ordre, en besked, der sendes til en kunde. Med delt tilstand og strukturerede events kan man bygge et godkendelsestrin, der føles som en naturlig del af samtalen, i stedet for et separat system, man skal integrere ved siden af. Det er præcis den slags godkendelsesgrænse, jeg selv insisterer på, når en agent får lov at røre ved noget, der koster penge eller rammer en kunde direkte.

Praksis

Hvad det betyder for danske virksomheder med agenter i produktion

Jeg kører selv agenter i produktion hos Agent Enterprise (aienterprise.dk), det agent-drevne selskab jeg bygger og driver som konsulent, og det tilbagevendende spørgsmål er aldrig, om agenten er dygtig nok. Det er, om brugerne reelt stoler på den og bruger den, ikke bare afprøver den én gang. Jeg har set den samme mønster hos en global virksomhed med drift i flere lande, hvor jeg satte autonome systemer i produktion: svaret ligger sjældent i selve modellen, det ligger i, hvordan agentens arbejde bliver synligt og styrbart for den, der sidder med ansvaret.

AG-UI og CopilotKit på AgentCore gør det muligt at bygge den synlighed ind fra starten, i stedet for at lappe den på efter agenten allerede er i drift. For en virksomhed, der allerede har investeret i AgentCore som kørselsmiljø, er det en forholdsvis lille tilføjelse, der ændrer, hvordan agenten opleves af de mennesker, der skal bruge den dagligt. Det er den slags detalje, jeg selv holder øje med hos mine egne agenter, fordi den afgør, om en agent bliver et internt eksperiment eller et værktøj, folk rent faktisk vender tilbage til.

01 / 01

Et øjeblik…

Henter spørgsmål…

1 / 4

Vælg ydelse

Henter ydelser…