Feltnoter

Agentiske betalinger under menneskelig policy

Agentiske betalinger er betalinger, der igangsættes af software og ikke af et menneske ved en checkout. En AI-agent har legitimationsoplysninger, beslutter, at et køb skal ske, og flytter selv pengene: Den betaler en faktura, forny et abonnement eller bestiller en charter uden at et menneske trykker på den sidste knap. Det afgørende er, hvem der igangsætter. Når et menneske klikker på køb, er det en almindelig kortbetaling med en chatbot foran. En agentisk betaling er software, der træffer beslutningen, godkender og afvikler i det øjeblik, pengene flyttes. Alt det svære ved kategorien følger af den ene egenskab: Det, der bruger pengene, er ikke et menneske, og det bliver hverken træt, mistænksomt eller nervøst, sådan som et menneske ville blive, før det overfører penge til en fremmed.

Derfor har det interessante spørgsmål aldrig været, om agenter vil bruge penge, for det kan de allerede. Spørgsmålet er, hvem der sætter de regler, de bruger penge under, og om reglerne håndhæves af platformen eller blot lovet af agenten.

Fejltilstanden er åbenlys, og det er pointen

Giv en agent en aktiv betalingsnøgle uden loft, og du har bygget en svindelsag, der bare ikke er sket endnu. Det går ikke galt på eksotiske måder. En prompt injection skjult på en webside får agenten til at betale en angriber. En fejlbehæftet værktøjsbeskrivelse sender et legitimt køb til den forkerte modtager. En retry-løkke forsøger den samme betaling tusind gange, fordi succes-signalet aldrig kom tilbage. Intet af det kræver en snedig modstander. Det er almindelige fejl i autonom software, bortset fra at resultatet er penge, der forlader din konto.

Den fristende løsning er at gøre agenten mere forsigtig: en bedre systemprompt, en strengere instruktion, en model der tænker grundigere over forbrug. Det placerer kontrollen det mindst pålidelige sted i systemet, nemlig i agentens egen ræsonnering, som netop kan overtales. Et budget, en agent kan argumentere sig forbi, er ikke et budget. Kontrollen skal ligge et sted, agenten ikke kan nå, altså helt uden for agenten.

Policy er produktet, ikke prompten

Indeslutningsmodellen er en policy, som platformen håndhæver, før pengene flyttes, ikke efter at agenten har besluttet sig. Hver agent får et loft pr. transaktion og en daglig grænse, i vores demopolicy €150.00 pr. betaling og €500.00 om dagen, med et månedligt loft på €6,000.00 over det. Det er hårde mure, som platformen tjekker, ikke løfter, agenten holder. Da demoens rejsebot forsøgte at chartre for €640.00, blev betalingen afvist med det samme: over loftet, før en eneste cent var flyttet. En agent, der opfører sig perfekt hver eneste dag, kan stadig ikke glide forbi det, måneden tillader.

Et budget siger, hvor meget. En allowlist siger, hvortil. Agenter betaler kun forhandlere, du har navngivet på forhånd. Demoens Ops Agent kender præcis fire, og et forsøg på €180.00 hos en ikke-godkendt leverandør blev afvist som ikke på listen. Sammen tegner de to en boks: så mange penge, kun til disse modtagere. Inden for boksen kører agenten for fuld fart og behøver aldrig at spørge. Boksen er det, et menneske ejer.

Spørgsmålet er aldrig, om en AI-agent vil bruge penge. Det er, hvem der har skrevet de regler, den bruger dem under, og svaret bør altid være et menneske, på forhånd, skriftligt.
— Protocore · Agents engineering

Et menneske over grænsen

Nogle beslutninger er for store til at overlade til en boks. Derfor har policyen en tærskel: et angivet beløb, over hvilket et menneske skal godkende, før betalingen går igennem. I demoen ligger grænsen på €100.00. Da Ops Agent markerede faktura #088 fra Nord Logistics, på €120.00, komfortabelt inden for dens daglige budget på €500.00 men over godkendelsesgrænsen, betalte den ikke. Den satte sig på pause, lagde forslaget frem for en person og ventede. Et enkelt svar frigav den. Betalingen blev afviklet med reference 9F21-0716 og ramte auditloggen kl. 09:41. Under grænsen handler agenten selv. Over den svarer et menneske først.

Godkendelsen er ikke et afkrydsningsfelt, der forsvinder. Den registrerer, hvem der godkendte, på hvilken enhed, hvornår og med en vedhæftet signatur: godkendt i app, telefonnøgle, 09:41:12. Når nogen senere spørger, hvorfor en betaling skete, er svaret en navngiven person og et tidsstempel, ikke et skuldertræk.

En kill-switch og en log, der ikke kan redigeres i det stille

Selv inden for gode mure opfører agenter sig forkert, og policyer viser sig at være forkerte. To kontroller håndterer det. Den første er en kill-switch: Ét tryk sætter en agent på pause og standser øjeblikkeligt alle betalinger, den kunne igangsætte. Nøglerne forbliver gyldige, så intet andet går i stykker. Agenten kan bare ikke bruge penge, før et menneske tænder den igen, og dens ventende forslag fryser fast i stedet for at forsvinde. I demoflåden står rejsebotten på pause med €0.00 brugt og køen intakt.

Den anden er en append-only-revisionslog. Hver eneste beslutning står på protokollen: hvad agenten forsøgte, hvilket politiktjek der blev bestået eller fejlede, hvem der godkendte hvad – helt ned til nøglerotationer. Én post kan genskabe en hel betaling: beslutning DEC-4471 viser anmodningen, hvert politiktjek med resultat (allowlist bestået, loft bestået, tærskel eskaleret), den menneskelige underskrift og det afviklede beløb med rail og reference. Hver post bærer sin egen hash, den forrige posts hash og sin placering i kæden – #4.471 i demoen – så en ændring i blot ét felt bryder alle efterfølgende poster. Loggen eksporteres som JSON, inklusive hash: den er din at give til en revisor, ikke vores at beholde.

Hold afviklingen kedelig, og placér det nye i autorisationen

Det er fristende at gøre agentbetalinger nye helt ned i bunden – en ny rail, et nyt instrument, en ny måde for penge at bevæge sig på. Lad være. Det reelt nye er autorisationen: hvordan en agent beviser, at den må betale, under hvis politik og med hvilken godkendelse. Når en betaling er igennem den port, bør den afvikles på rails, der har været kedelige i årevis. I demoen bliver et godkendt forslag på 120,00 € til en helt almindelig SEPA-kreditoverførsel – afviklet via SEPA Instant få minutter efter godkendelsen – og kan ikke skelnes fra en betaling, et menneske har foretaget. Banken ved ikke, at en agent startede den, og er ligeglad.

Opdelingen er bevidst. Kedelige rails er forudsigelige, kan tilbageføres, hvor ordningen tillader det, og er kendt af alle treasury-afdelinger og revisorer, du nogensinde kommer til at møde. Når det nye ligger i politikken og betalingen på en gennemprøvet rail, er den risikable og hurtigt skiftende del den, du har fuld kontrol over – og den del, der rører andres banker, er den, ingen skal lære forfra. Agenter bruger penge fra den samme kerne, som resten af betalingsfamilien kører på – beskrevet på /products/pay – ikke fra et parallelt univers bygget til robotter.

Protokollandskabet er ikke på plads – byg med det in mente

Hvordan en agent skal fremvise sin identitet og sit mandat over for en forhandler, er et åbent spørgsmål. Flere forslag konkurrerer om, hvordan en agent beviser, hvem den er, hvad den har lov til at købe, og hvordan en forhandler kontrollerer det, før pengene accepteres. Ingen har vundet, og det ville være for tidligt at satse alt på ét af dem i dag. Den defensive tilgang er at behandle autorisationsprotokollen som udskiftelig og holde alt bag den stabilt: politikmotoren, revisionsmodellen og afviklingsrailen ændrer sig ikke, når wire-formatet foran gør.

I praksis betyder det en lille, kedelig integrationsflade. Agenter forbinder via MCP på mcp.protocore.io/agents; enhver framework, der taler protokollen, kan have en wallet. Grænsefladen er bevidst snæver – foreslå en betaling, modtag en beslutning – fordi den interessante logik ligger på platformen, ikke i prompten. Når branchen lander på, hvordan agenter beviser sig over for forhandlere, ændres fronten, mens murene bagved bliver præcis, hvor de var.

Hvor det hele lander

Agentbetalinger er ikke et væddemål på, at autonom software skal bruge penge uden grænser. Tværtimod: det er et væddemål på, at software kommer til at bruge penge, så grænserne må hellere være reelle, eksterne og læselige. Budgetter og allowlists tegner rammen, en tærskel sender de store beslutninger til et menneske, en kill-switch stopper det hele, og en append-only-log gør, at enhver betaling kan genskabes bagefter. Produktsiden på /products/agents gennemgår hele forløbet med de demodata, der bruges her – opret en agent, sæt dens politik, se en betaling eskalere og blive afviklet – og /products/pay er kernen, de betalinger kører på. Autonomien er reel; det er båndet også, og det er et menneske, der holder i det.

Skal der bygges et system?

Fortæl os om problemet. Vi vender tilbage med en arkitektur og en plan.