# Virksomhedsdata klar til AI-agenter

En AI-agent svarer ud fra det, den kan nå. I de fleste virksomheder ligger
svaret på et konkret spørgsmål — hvad har vi solgt til kunden, hvad er stadig
åbent, hvilken kontrakt står det i — spredt over et CRM, et ERP, et fællesdrev,
et par mailbokse og et regneark, som kun én person vedligeholder. Vi samler
dataene ét sted, hvor en agent kan læse dem, giver hver oplysning én betydning,
afgør, hvem der må se hvad, og holder det sådan ved hver indlæsning. Det er
arbejdet, der kommer før agenten, og det sætter loftet for, hvor god agenten kan
blive.

## Samlet: ét sted, en agent kan nå

Vi bygger de [pipelines](/da/glossary/#pipeline), der samler data fra dine
systemer i én [database](/da/glossary/#database):
[ETL](/da/glossary/#etl)-job, der kører efter en fast plan, kun henter det, der
er ændret, og fortæller, hvad de sprang over. Databasens
[skema](/da/glossary/#schema) bruger din forretnings egne ord — kunder, ordrer,
skibe, kontrakter, sager. Gamle PDF'er, scannede dokumenter og mailarkiver bliver
til søgbar tekst med kilden gemt ved siden af, så de kan findes og ikke kun
arkiveres. Agenten når det hele gennem én beskrevet indgang: en MCP-server eller
et [API](/da/glossary/#api), aldrig en kopi af databasen på nogens bærbare.

## Renset: én kunde, ikke fem

Den samme kunde står typisk på fem forskellige måder i fem systemer, og en agent,
der læser to udgaver af samme oplysning, svarer med den, den læste sidst. Vi
afgør sammen med dig, hvilket system der er det førende for hver oplysning,
fletter dubletter efter regler, du kan læse, og lader fletningen køre fast, så en
ny dublet fanges ved næste indlæsning og ikke først ved næste revision. Datatyper
og integritetsregler i selve databasen afviser en fejlbehæftet række i stedet
for at gemme den, hver kolonne siger, hvad den betyder, og hver
[migrering](/da/glossary/#migration) er versioneret og tjekket, så det skema, en
agent læser, er det skema, der er i drift.

## Adgangsstyret: agenten ser kun, hvad brugeren må se

En agent, der kan læse alt, er et datalæk med en venlig stemme. Reglerne hører
hjemme i dataene, ikke i prompten: roller i databasen
([RBAC](/da/glossary/#rbac)), kun læseadgang som udgangspunkt, sikkerhed på
rækkeniveau overalt, hvor én kunde aldrig må se en andens data, og persondata
holdt uden for rækkevidde, medmindre opgaven har brug for dem, sådan som GDPR's
princip om dataminimering også foreskriver. Agenten arbejder med brugerens
[privilegier](/da/glossary/#privilege), aldrig en administrators, og hver læsning
[logges](/da/glossary/#logging) med den person, den er foretaget på vegne af. Hvordan
vi sikrer selve agenterne, kan du læse på
[siden om AI-sikkerhed](/da/ai-security/).

## Hvert svar sporet tilbage til kilden

Et svar fra virksomhedens data er kun så godt som sin kilde, så kilden følger
med. Hver række gemmer, hvor den kom fra og hvornår: systemet, indlæsningen,
filen og sidetallet. En agent kan henvise til posten bag et tal, og et menneske
kan åbne den. En indlæsning, der sprang rækker over, oplyser hvor mange og
hvorfor i stedet for at melde succes, og et tal, der viser sig at være forkert,
fører direkte tilbage til den indlæsning, der bragte det ind — ikke til en uges
gætteri. Det er den regel, vores egen rapportering bygger på: et tal, som
kørslen ikke har målt, bliver aldrig skrevet ud.

## Arbejdet, der ligger bag

Hver påstand på denne side er en metode, vi har brugt i praksis, og hver enkelt
er dokumenteret. Vi
[gjorde en geodatapipeline 50 gange hurtigere](/da/portfolio/made-a-geographical-data-pipeline-50x-faster/)
ved at rette dens SQL og datamodel og
[designede og drev seks ETL- og ELT-pipelines](/da/portfolio/designed-and-ran-6-etl-elt-pipelines/)
på tværs af BigQuery, MS SQL og [PostgreSQL](/da/glossary/#postgresql). Vi
[modellerede en hel branche i 348 tabeller fordelt på 34 skemaer](/da/portfolio/modeled-348-tables-across-34-postgres-schemas/)
og holdt skemaet retvisende
[gennem 1.022 migreringer uden skemadrift](/da/portfolio/1022-migrations-behind-a-schema-drift-gate/).
Vi [genererede 495 sider fra et skrivebeskyttet SQLite-udtræk](/da/portfolio/generated-495-pages-from-a-sqlite-export/)
og [erstattede 963 metadatablokke med én sammenkædet graf](/da/portfolio/replaced-963-metadata-blocks-with-one-graph/),
som er det første, en agent læser på dette site.

## Sådan forløber et samarbejde

Det begynder med et kort, som vi laver med ren læseadgang: hvilke systemer der
indeholder hvad, hvem der ejer dem, og hvilke spørgsmål en agent skal kunne svare
på. Derefter tager vi det spørgsmål, der betyder mest, og bygger hele vejen fra
ende til anden — kilderne, rensningen, rettighederne og indgangen — med tjek,
der standser en indlæsning, når dataene afviger. Så det næste. Alt ligger i din
egen infrastruktur og dit eget repository, hver ændring går gennem dit review, og
de agenter, der læser dataene, kan være
[skræddersyet til din branche](/da/ai-agents/) eller dem, du allerede bruger. Det
købes som resten af vores arbejde, på vilkårene i
[hvad det koster](/da/what-it-costs/).

Ligger de svar, dine folk har brug for, spredt over flere steder, end nogen kan
holde styr på, så
[fortæl os, hvor dine data ligger](/da/contact/) *(vi svarer samme dag)*.

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