INDLÆG · INDSIGTER

Giv AI’en værktøjer OG begrænsninger

23. aug 2026 9 min. læsning jensulrik

Hvis du giver din AI agent adgang til de data du bruger mest i dit daglige arbejde, er en samtale i et chat vindue ikke længere en isoleret hændelse samtale, men begyndelsen på et problem du løser.

Lad os starte med at definere en AI agent, for Claude er f.eks. en AI agent, der består af en stor sprogmodel / LLM, der i hverdagssprog bare kaldes model – i Claude verdenen hedder de f.eks. Haiko, Sonnet, Opus eller Fable og har et versionsnummer. Derudover består AI agenten af et såkaldt harness, som er “alt det andet”, f.eks. det indtastningsfelt du sender din prompt fra, det kan være muligheden for at læse filer fra din lokale harddisk, eller det kan være muligheden for at gå på nettet og søge og læse indhold. Alt dette er muligt hvis du f.eks. har installeret Claude på din PC.

En AI agent er altså kombinationen af et harness og den model den anvender.

I de tidligee ChatGPT-dage kunne en prompt til forveksling ligne en Google-søgning, a’la “Hvor gammel bliver en ræv?”. Du får måske / måske ikke et brugbart svar.

Giver du til gengæld din AI lov til at søge på nettet og foretage sin egen research, er den viden modellen er trænet på mindre relevant, for den vil altid kunne fremsøge den information du har brug for. Til gengæld er der en åbenlys sikkerhedsrisiko forbundet med at give din AI disse kræfter, for “at kunne gå på nettet” via en browser betyder jo ikke bare, at den kan læse indholdet af en hjemmeside. Hvis AI’en besøger en side med felter der kan udfyldes eller knapper der kan trykkes på, kan den pludselig også gøre mere end bare at læse – den kan også begynde at gøre ting ved sin omverden.

Stram tøjlerne

I AI verdenen kan man sige, at alt der interagerer med en model er et harness (sele/seletøj). Det er netop bygget til at sørge for at du stadig har kontrol over hvad der sker, og at din AI ikke pludselig kan agere 100% på dine vegne, uden at du har givet den lov. Vi har set harness’s som eksempelvis kode-værktøjer, som får udleveret nøglerne til den folder på dit filsystem hvor din kode ligger, og den kan udføre egentligt programmør-arbejde på din kode. Giver du den også adgang til versionsstyringen af kildekode, kan den efterhånden opføre sig som en reel programmør under din ledelse.

Effektivt AI arbejde

Når en AI aktiveres, starter en ikke-deterministisk proces. Du kan stille det samme spørgsmål flere gang, og får måske et nyt svar hver gang. Det kan måske være inspirerende, men har du f.eks. brug for en kvantitativ analyse af et datasæt, skal input og output følges ad – hver gang. Det kan din AI godt hjælpe dig med, og første trin i dén proces er at oprette en skill.

Skills i praksis

En skill er struktureret prosa, der beskriver hvad du gerne vil have din AI agent til at gøre, og hvornår den specifikke skill er relevant og skal tages i brug. Sammenlign det med en opskrift på en ret, som du gerne vil have til at smage ens hver gang. En skill kan også indeholde f.eks. grafiske elementer, styling og programkode, som kan tages i anvendelse, når din AI agent skal udføre din skill.

Hos Overskrift har jeg f.eks. en skill, der kan omsætte udtræk af medieomtaler til en medieanalyse, som dels skal indeholde nogle faste kvantitative elementer som optælling af omtaler pr. kategori og en liste af de mest aktive kilder. Disse ting vil jeg gerne have beregnet på helt samme måde hver eneste gang jeg kører min skill ud fra et datasæt.

Min skill indeholder derfor kode (skrevet af min AI), som bliver kørt hver gang og tæller sammen på den samme måde hver gang. Derudover vil jeg gerne have at analysen følger den samme grafiske linje (farver, fonte, grafiske elementer som f.eks. vores logo) og de samme elementer til at visualisere optælling af mest aktive kilder etc. Derfor indeholder min skill programkode (i dette tilfælde Python og Javascript udviklet af min AI) som sikrer en konsistent metode til de kvantitative dele af analysen og til at producere et konsistent output.

Derudover har analysen også et kvalitativt element, som skal udtrække de mest omtalte emner på tværs af alle de medieomtaler der indgår i analysen. Desuden beskriver min skill hvordan AI’en præcist skal aflevere sin kvalitative analyse til min kode, så den kan visualiseres på samme måde HVER gang analysen er gennemført. Selvom indholdet er et resultat af en kvalitativ analyse, SKAL output altså være i en genkendelig form, der kan layout’es til den samme slags visualisering.

Stop dig selv, hvis du skal til at lave kode

Endelig er en af instruktionerne til denne skill, at den skal stoppe sig selv og foreslå forbedringer til koden, hvis den opdager at den er ved at producere kode som en del af afviklingen. Al kode skal være skrevet på forhånd, og det er spild af ressourcer hvis skill’en ikke kan bruge eksisterende kode til at producere analysen. Det sidste er vigtigt, dels for at få nedbragt tiden det tager at producere en analyse, for afvikling af kode er naturligvis meget hurtigere end at skrive kode, der derefter skal afvikles. Jo mere deterministisk min skill er designet, jo færre antagelser skal AI’en forholde sig til og jo færre tokens kræver en analyse.

Lige nu tæller vi AI-forbrug i tokens. Typisk kan du afregne direkte fra dit forbrug, eller du kan have et abonnement hos f.eks. OpenAI/ChatGPT eller Anthropic/Claude som giver dig en begrænset mængde tokens at bruge indenfor nogle definerede tidsrammer – typisk 5-6 timer og en uge. Det er sjældent 100% klart hvor mange tokens du bruger hos f.eks. Claude.

Har du en lokal LLM kørende, afregnes du ikke for forbruget, men du kan stadig aflæse dit forbrug af AI-ressourcer i tokens.

Typer af seletøj

Vi får udleveret et harness med Claude og med ChatGPT. En anden type harness kunne være de agenter som Hermes, Openclaw eller Pi, som kan pilles ned fra hylden i den lidt mere nørdede afdeling.

Er du mere drag’n’drop-typen, kan det være værd at se på f.eks. Make.com eller N8N hvor en AI Agent er en klods der forbindes med:

  • en model (f.eks. Anthropic’s Sonnet version 5)
  • noget hukommelse, så den kan huske informationer mellem hver iteration og
  • tools/værktøjer, som kan gøre den i stand til at slå noget op online, kalde andre værktøjer, sætte en linje ind i et regneark osv.

Hvorfor dit harness kan være vigtigere end modellen

I de tidlige AI-dage, følte jeg mig bagefter, hvis jeg ikke var HELT med på hvilke modeller de forskellige AI-firmaer havde udgivet, hvilke versioner der kunne hvad og hvor mange milliarder parametre de havde. Nogle målte kvaliteten af en model efter om den kunne eller ville svare på hvad der skete på Den Himmelske Freds Plads i 1989.

Men vi har jo allerede Google og Wikipedia, så hvor vigtigt er det hvad en model ved, sammenlignet med hvad den kan? Hvis den ved hvordan man researcher online, er kritisk i sine udvælgelse af kilder og kan identificere biased indhold, skal dens harness blot stille de rigtige adgang til rådighed (f.eks. til at kunne fjernstyre en browser der kan gå online, et filsystem eller en anden form for hukommelse, der kan opbevare informationer til senere).

Adgangen til værktøjer er ved at blive standardiseret via en protokol: Model Context Protocol / MCP. Hos Overskrift har vi f.eks. åbnet for MCP-adgang til vores kunders medieomtaler i realtid.

I praksis gør det alle vores kunder i stand til at de f.eks. via Claude eller ChatGPT kan stille spørgsmål til medieomtaler af deres interesser (f.eks. navnet på deres egen organisation eller deres mærkesager) og f.eks. bede om en tidslinje for specifikke omtaler, visualisering af perioder med ekstra omtaler eller en månedsanalyse, der også kortlægger de mest kritiske omtaler af deres brand. Overskrift skal altså ikke bygge special-værktøjer til særkrav hos den enkelte kunde – de kan bede om at få deres data behandlet og visualiseret 100% fra deres egne behov og præferencer. Og de kan gøre det uanset om de bruger ChatGPT, Claude eller et andet harness der understøtter MCP.

Pi: Et mere nørdet harness

Lige nu arbejder jeg med et harness kaldet pi (læs mere på pi.dev).

Uden en model kan det ikke rigtig noget, så det skal du sørge for at forbinde den til. Som harness kan den udføre de mest almindelige operationer på filer (læs, søg, skriv etc.) og intet andet. Den har altså heller ikke indbygget MCP-understøttelse, men det kan man give den via en extension man enten henter eller skriver selv. På den måde tilpasser du præcis hvad din instans af pi skal kunne.

Hvor eksempelvis Claude Code har et stort bibliotek af features baseret på hvordan de anbefaler dig at arbejde, får du med pi et blankt kanvas, som du til gengæld tilpasser 100% til din egen måde at arbejde på.

Til gengæld har det heller ikke pop-up vinduer der beder dig bekræfte adgang til eksterne tjenester. Har du tilføjet en mulighed i pi, gør den det bare når den bliver bedt om det – uden at spørge om lov. Den er også baseret på at du skriver med den i en terminal, og det kan jo kræve tilvænning for nogle, men de fleste programmører vil nok føle sig helt hjemme.

Kontakt

Lad os tage en snak.

Book et møde →
AdresseRørmosevej 13, 2400 København NV
CVR28 42 23 93