# Programvaren din som verktøy for AI-agenter

Mesteparten av forretningsprogramvaren er laget for å klikkes i: et skjermbilde,
et skjema, en knapp og et menneske foran skjermen. En agent kan også klikke,
sakte og på gjetning, og den slutter å virke den dagen en knapp flytter seg. En
bedre vei er et dokumentert verktøy: en operasjon med et navn, typede inndata,
et klart svar og en tilgangssjekk. Vi tar programvaren du allerede bruker — den
virksomheten din står og faller på, uansett hvor gammel den er — og gir agenten
den veien inn, uten å stanse driften for å skrive programvaren om.

## Avdekket: reglene bak skjermbildene

Reglene som driver en virksomhet, gjemmer seg i programvaren: i valideringen i
et skjema, i en lagret prosedyre, i en rapport ingen tør endre, i hodet på den
som bygde den. Vi finner dem, skriver dem ned og samler dem i ett lag — ofte
selve [databasen](/nb/glossary/#database) — der alle som spør, får det samme
svaret. Skjermbildet, agenten og partnerintegrasjonen stiller da det samme
spørsmålet til den samme regelen og kan ikke lenger gi ulike svar.

## Åpnet: dokumenterte verktøy en agent kan kalle

Hver operasjon en agent skal ha tilgang til, tilbys som et verktøy med navn
etter arbeidet det gjør — bestill en time, gi et pristilbud, frigi en ordre —
med typede inndata, feilmeldinger en agent kan handle ut fra, og
[idempotente](/nb/glossary/#idempotent) kall, så et nytt forsøk aldri fører til
dobbeltbooking. Beskrivelsen er et [OpenAPI](/nb/glossary/#openapi)-dokument
generert fra koden, og en MCP-server tilbyr de samme operasjonene til agenter
som bruker MCP. [Autentisering](/nb/glossary/#authentication) skjer med OAuth,
så en agent handler på vegne av en bruker uten at noe passord skifter hender, og
bare innenfor brukerens [rettigheter](/nb/ai-security/).

## I drift: ingen stor omskriving

En omskriving setter driften på vent så lenge prosjektet varer, og satser alt på
den siste dagen. Vi åpner programvaren én operasjon om gangen, bak systemet som
allerede virker, og sjekker den nye veien mot den gamle til de gir samme svar.
Tidkrevende jobber legges i en [kø](/nb/glossary/#queue), så agenten får et svar
mens arbeidet pågår. Skjermbildene de ansatte bruker, fungerer som før hele
tiden, og den gamle koden fases ut først når ingenting lenger kaller den.

## En kontrakt som alltid stemmer med koden

En verktøybeskrivelse skrevet for hånd er utdatert uken etter at den tas i bruk,
og en agent stoler på den likevel. Våre genereres fra koden og utover —
databasen, API-et, beskrivelsen, klienten — med en sjekk i hvert steg som
stopper bygget når to av dem ikke stemmer overens. En agent som leser
beskrivelsen, leser hva programvaren gjør i dag, og en endring som ville ødelagt
noe for dem som kaller API-et, oppdages før den tas i bruk, ikke etterpå.

## Arbeidet bak det

Vi har åpnet store systemer på denne måten. Vi
[genererte en API-kontrakt fra databasen og utover](/nb/portfolio/generated-the-api-contract-from-the-database-out/),
med en sjekk i hvert ledd, og
[migrerte et API på 760 operasjoner med 100 % samsvar](/nb/portfolio/migrated-the-api-to-huma-v2-at-100-parity/)
med den publiserte beskrivelsen. Vi
[designet en JSON-passthrough fra PostgreSQL til API-et](/nb/portfolio/designed-a-json-passthrough-from-postgres-to-api/),
[bygde en plattform i rene lag](/nb/portfolio/a-maritime-platform-built-in-clean-layers/)
med forretningsreglene samlet på ett sted,
[flyttet tidkrevende arbeid over i en jobbkø](/nb/portfolio/moved-slow-work-onto-a-river-job-queue/),
og [bygde administrasjonsløsningen for operatøren](/nb/portfolio/built-the-operator-back-office-for-the-platform/),
som driver plattformen uten databasetilgang.

## Slik foregår et oppdrag

Det begynner med en liste: hva folkene dine gjør i programvaren hver dag,
rangert etter hvor ofte og hvor mye det koster dem. Vi tar de første
operasjonene, finner reglene deres og åpner dem som dokumenterte verktøy med
tester og tilgangskontroll, ved siden av skjermbildene og ikke i stedet for dem.
Så de neste. Teamet ditt beholder koden, testene og beskrivelsen; verktøyene kan
kalles av [en agent bygd for din bransje](/nb/ai-agents/), av assistentene de
ansatte allerede bruker, eller av en partners system. Det kjøpes som resten av
arbeidet vårt, på vilkårene i [hva det koster](/nb/what-it-costs/).

Virker programvaren din bare når noen klikker i den, så
[si hvilken det er](/nb/contact/) *(vi svarer samme dag)*.

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