# Din software som værktøjer til AI-agenter

Det meste forretningssoftware er bygget til at blive betjent med klik: et
skærmbillede, en formular, en knap og et menneske foran skærmen. En agent kan
også klikke — langsomt og på gætværk — og den går i stykker, så snart en knap
flytter sig. Den bedre vej for en agent er et beskrevet værktøj: en navngiven
operation med typede input, et klart svar og et rettighedstjek. Vi tager den
software, du allerede kører — den, din forretning er afhængig af, uanset hvor
gammel den er — og giver den den vej ind, uden at stoppe forretningen for at
skrive softwaren om.

## Afdækket: reglerne bag skærmbillederne

De regler, der driver en forretning, gemmer sig i softwaren: i valideringen af en
formular, i en stored procedure, i en rapport, ingen tør røre ved, i hovedet på
den, der byggede det hele. Vi finder dem, skriver dem ned og flytter hver af dem
ind i ét lag — ofte selve [databasen](/da/glossary/#database) — hvor alle, der
spørger, får det samme svar. Skærmbilledet, agenten og partnerintegrationen
spørger derefter den samme regel og kan ikke blive uenige.

## Udstillet: beskrevne værktøjer, en agent kan kalde

Hver operation, en agent skal kunne udføre, stilles til rådighed som et værktøj,
der er opkaldt efter arbejdet — book en tid, beregn en pris, frigiv en ordre —
med typede input, fejlbeskeder, en agent kan handle på, og
[idempotente](/da/glossary/#idempotent) kald, så et nyt forsøg aldrig booker to
gange. Beskrivelsen er et [OpenAPI](/da/glossary/#openapi)-dokument genereret
fra koden, og en MCP-server stiller de samme operationer til rådighed for de
agenter, der taler MCP. [Autentificering](/da/glossary/#authentication) sker med
OAuth, så en agent handler på vegne af en bruger, uden at en adgangskode skifter
hænder, og kun inden for brugerens [rettigheder](/da/ai-security/).

## Holdt i drift: ingen big bang-omskrivning

En omskrivning sætter forretningen på pause, så længe projektet varer, og satser
alt på den sidste dag. Vi åbner softwaren én operation ad gangen, bag det system,
der allerede virker, og sammenligner den nye vej med den gamle, indtil de giver
samme resultat. Tunge opgaver flyttes over i en [kø](/da/glossary/#queue), så
agenten får et svar, mens arbejdet kører videre. De skærmbilleder, dine
medarbejdere bruger, virker hele vejen igennem, og den gamle kode udfases først,
når intet længere kalder den.

## En kontrakt, der ikke kan skride

En værktøjsbeskrivelse, der er skrevet i hånden, er forældet ugen efter, den er
udgivet, men en agent stoler alligevel på den. Vores genereres fra koden og udad
— databasen, API'et, beskrivelsen, klienten — med et tjek i hvert led, der får
buildet til at fejle, når to af dem er uenige. En agent, der læser beskrivelsen,
læser, hvad softwaren gør i dag, og en ændring, der ville få en eksisterende
integration til at fejle, bliver fanget, før den udgives, ikke bagefter.

## Arbejdet, der ligger bag

Vi har åbnet store systemer op på den måde. Vi
[genererede en API-kontrakt ud fra databasen](/da/portfolio/generated-the-api-contract-from-the-database-out/)
med en kontrol i hvert led og
[migrerede et API på 760 operationer med 100 % paritet](/da/portfolio/migrated-the-api-to-huma-v2-at-100-parity/)
i forhold til den publicerede beskrivelse. Vi
[designede en JSON-passthrough fra PostgreSQL til API'et](/da/portfolio/designed-a-json-passthrough-from-postgres-to-api/),
[byggede en lagdelt platform](/da/portfolio/a-maritime-platform-built-in-clean-layers/)
med forretningsreglerne samlet ét sted,
[flyttede langsomme opgaver over i en jobkø](/da/portfolio/moved-slow-work-onto-a-river-job-queue/)
og [byggede platformens operatør-back-office](/da/portfolio/built-the-operator-back-office-for-the-platform/),
som driver den uden databaseadgang.

## Sådan forløber et samarbejde

Det begynder med en liste: hvad dine folk gør i softwaren hver dag, sorteret
efter, hvor ofte og hvor meget det koster dem. Vi tager de første operationer,
finder reglerne bag dem og udstiller dem som beskrevne værktøjer med test og
rettighedsstyring, så de kører ved siden af skærmbillederne i stedet for at
erstatte dem. Så de næste. Dit team beholder koden, testene og beskrivelsen;
værktøjerne kan kaldes af [en agent bygget til din branche](/da/ai-agents/), af
de assistenter, dine medarbejdere allerede bruger, eller af en partners system.
Det købes som resten af vores arbejde, på vilkårene i
[hvad det koster](/da/what-it-costs/).

Virker din software kun, når nogen klikker på den, så
[fortæl os om den](/da/contact/) *(vi svarer samme dag)*.

<https://engineer.company/da/ai-tools/>
