I løpet av det siste året har generativ AI gått fra chatbots til copiloter og, i stadig større grad, AI-agenter. Dette har vært drevet av en rask økning i kapasiteten til store språkmodeller (LLM-er), men modellens ytelse er ikke lenger den eneste flaskehalsen. Det største innovasjonsområdet er hvordan man bygger systemer rundt disse modellene som kobler seg til de riktige dataene og hjelper brukerne med deres faktiske arbeid.
Innenfor områder som energi og undergrunnsressurser avhenger nyttig AI av mye mer enn språkgenerering. Arbeidet på disse områdene innebærer komplekse tverrfaglige data og numeriske beregninger under usikkerhet.
Beslutninger her tas på grunnlag av erfaring og dyp fagkunnskap, anvendt gjennom strenge regelverk og beslutningsprosesser for å minimere risiko.
Thomas Bartholomew Grant, Lead Domain Expert, Cegal
Nyttig AI i disse fagområdene er derfor mye mer enn selve modellen og omfatter hele systemet som er bygget opp rundt den. Det er dette bredere systemet vi vanligvis mener når vi snakker om AI-agenter.
En språkmodell kan ikke utføre meningsfulle oppgaver på egen hånd; den kan ikke hente data, utføre handlinger i eksterne systemer eller fullføre oppgaver som består av flere trinn. Agenter endrer dette gjennom en enkel arkitektur som forvandler modellens evner til et system som ikke bare kan planlegge, men også handle. En AI-agent består av en modell, et grensesnitt, et rammeverk og et sett med verktøy.
Figur 1: En enkel agentarkitektur som viser hvordan modellen, grensesnittet, rammeverket og verktøyene samarbeider for å knytte brukerens intensjon til data og handlinger.
Vi kan forstå dette gjennom en enkel mental modell:
Verktøyene gjør det mulig for agenten å utføre handlinger og samhandle med data, og sende informasjon tilbake til modellen slik at den kan bestemme hva den skal gjøre videre.
Harnesset er utførelseslaget og bestemmer hvordan agenten påkaller modellen og dens verktøy, samt når den skal stoppe. Det setter en deterministisk grense for agentens handlinger.
Scaffoldet former hvordan agenten oppfører seg og er linsen gjennom hvilken modellen ser og samhandler med data. Det inkluderer tilleggskontekst som instruksjoner eller ferdigheter for agenten, som hjelper agenten med å bryte ned oppgaver og bestemme hvordan svarene skal formateres.
Begrepene «harness» og «scaffold» er nye, så definisjonene av dem er under utvikling. I denne artikkelen skiller jeg imidlertid klart mellom dem: «harness» er enhver hardkodet, påtvunget atferd hos agenten, mens «scaffold» er enhver instruksjon eller retningslinje i naturlig språk som agenten kan bruke.
En agent kan bygges som et statisk AI-system der verktøyene, «harness», «scaffold» og modellen forblir de samme. Dette er ideelt når man ønsker at agenten skal være svært begrenset og stabil. Tenk på en kundevendt chatbot med et definert sett av funksjoner og bruksområder.
Den virkelige fordelen med en agent er imidlertid at hver av disse komponentene kan byttes ut. Du kan endre modellen, hvilke verktøy den har tilgang til, og hvordan den fungerer gjennom «harness» og «scaffold». Den modulære naturen til agenter betyr at det samme systemet blir dynamisk og i stand til å tilpasse seg et mye bredere spekter av brukere og arbeidsflyter. Når det gjelder forsknings- og kodingsoppgaver, er det ikke alltid man på forhånd vet hva resultatet skal være eller hvordan man skal komme dit. Å løse åpne problemer krever fleksibilitet og utforsking av flere løsningsveier.
I et dynamisk agentsystem, der modellen, rammeverket, grensesnittet eller verktøyene kan endres, resulterer hver konfigurasjon i en agent som er vesentlig forskjellig fra en annen. Vi bør derfor betrakte agenter som midlertidige og tilpasningsdyktige grensesnitt som er satt sammen for en bestemt bruker, et bestemt datasett eller en bestemt oppgave.
Utfordringen for de som bygger agentsystemer er å avgjøre hva som skal være deterministiske, faste grenser for agenten. En enkel måte å tenke på dette på er at hvis atferden kan beskrives som «alltid» eller «aldri», må den begrenses innenfor rammen. Retningslinjer som bidrar til å styre agentens atferd innenfor denne grensen, kan plasseres i stillaset.
Balansen består i å sikre kontrollert, sikker og pålitelig atferd uten å legge for strenge begrensninger på agenten. Språkmodeller og agenter er utformet for å være dynamiske, og hvis dette ikke er tillatt, kan et deterministisk, regelbasert system være mer hensiktsmessig. Hybridsystemer er derfor interessante fordi agenter kan koordinere, optimalisere og koble sammen regelbaserte systemer, men samtidig er bedre i stand til å tilpasse seg unntak.
For at agenter skal være nyttige, må organisasjoner fokusere mindre på agenten som et frittstående objekt og mer på miljøet den opererer i. Grunnlaget starter med å forstå hvordan data skal organiseres og styres, hvordan agenter skal få tilgang til og behandle disse dataene, og hvilke arbeidsflyter de skal ha lov til å støtte. Disse spørsmålene er viktige fordi svarene på dem vil være forskjellige for hvert selskap, og de former kravene til sikkerhet, samsvar med regelverk og menneskelig validering.
1 Data
Hvis en agent ikke får tilgang til de riktige dataene, hvis dataene er dårlig organisert, eller hvis dataene er utdaterte, ufullstendige eller feilaktige, kan en agent svikte på måter som er subtile eller vanskelige å oppdage. Resultatet kan virke plausibelt, men kan være feilaktig eller av dårlig kvalitet. Dette medfører en risiko, fordi beslutninger kan bli tatt på grunnlag av agentens resultater.
Organisasjoner må tenke grundig gjennom hvordan de skal strukturere og styre sin interne kunnskap, som ikke bare omfatter rådata under overflaten, men også tolkninger, fagkompetanse, forretningsprosesser og arbeidsflyter. Agenter genererer også nye data, noe som betyr at datastyring også bør gjelde for resultatene deres.
Siden konteksten som gis til agenten påvirker resultatet, bør organisering av data være mer enn bare å tilveiebringe verktøy for personlig produktivitet – det bør være en måte å koble sammen team og informasjon på tvers av hele selskapet i stor skala. Open Knowledge Framework (OKF) forsøker å løse dette ved å opprette en sammenkoblet katalog over organisasjonskunnskap i filformater som er mer effektive for agenter å bruke.
2 Verktøy
Verktøy gjør det mulig for en agent å utføre handlinger og motta data og kontekst, og uten dem er en agent begrenset. Data bør være tilgjengelige og forvaltes sikkert gjennom API-er og andre former for integrasjon som sikrer at agenten kun får tilgang til de riktige dataene. Agenten bør ikke bygge sin egen funksjonalitet hver gang den kjører, fordi dette vil gi forskjellige resultater hver gang. Å gjøre algoritmer og gjenbrukbar funksjonalitet tilgjengelig, slik at en agent kan kalle dem opp via verktøy, er en mye tryggere måte å sikre at visse handlinger kan gjentas.
Model Context Protocol (MCP) gir en konsistent måte for en agent å oppdage og kalle opp verktøy på, i stedet for å være avhengig av skreddersydde integrasjoner for hvert system. MCP har blitt det dominerende kommunikasjonslaget mellom agenter og data.
3 Arbeidsflyter
Agenter kan koble sammen flere handlinger i en arbeidsflyt for å løse en oppgave, der modellen bestemmer hvilke verktøy som skal påkalles og i hvilken rekkefølge. For eksempel kan en agent hente data fra flere kilder og utføre beregninger som en del av en helhetlig oppgave. Dette betyr imidlertid også at små feil tidlig i arbeidsflyten kan akkumuleres og føre til resultater som virker sikre, men som i realiteten er upålitelige. Å dokumentere hvordan arbeidet skal utføres, kan også bidra til å strukturere agentens atferd. Arbeidsflyter kan legges til i rammeverket, leveres som styringsmateriale som agenten har tilgang til innenfor rammeverket, eller implementeres som regelbaserte systemer som kan påkalles innenfor verktøyene.
I denne artikkelen har vi sett på hvordan utformingen av systemer rundt AI påvirker hvor effektive de kan være når det gjelder å bistå brukere. Modellleverandører og generiske agentrammeverk som de fra Anthropic og OpenAI er ekstremt kraftfulle. De må imidlertid tilpasses energisektoren, slik at agentene får tilgang til de riktige dataene, behandler dem med de riktige verktøyene og tilpasser agentens atferd til brukernes arbeidsflyt. Agenter bør ikke betraktes som moduler som skal kobles til eksisterende programvare, men som et nytt lag der vi arbeider med dataene, produktene og domenekunnskapen vi allerede har.