Agentisk mjukvara – när program börjar göra saker utan att fråga först
Agentisk mjukvara förändrar synen på vad ett datorprogram kan göra. I stället för att enbart vänta på instruktioner kan den här typen av mjukvara tolka mål, fatta beslut och genomföra flera steg på egen hand. Det innebär att program inte längre bara fungerar som verktyg som användaren styr i varje moment, utan som aktiva system som kan driva en uppgift framåt. Utvecklingen väcker samtidigt frågor om kontroll, ansvar och säkerhet. Vad händer när program får större frihet att agera? Och hur vet man att besluten som fattas automatiskt verkligen ligger i linje med användarens avsikt? Dessa frågor blir allt viktigare när tekniken tar plats i vardagen.
Vad är agentisk mjukvara och hur fungerar den?
Agentisk mjukvara är programvara som kan ta ett övergripande mål och själv bestämma vilka steg som krävs för att nå det. Till skillnad från traditionella program, där användaren ofta behöver ange varje kommando, kan ett agentiskt system tolka information, planera sitt arbete, använda olika verktyg och anpassa sig efter vad som händer under processen. Det kan exempelvis handla om en digital assistent som inte bara skriver ett mejl, utan även hittar relevant information, föreslår mottagare och förbereder meddelandet. Kärnan är alltså förmågan att agera utifrån ett mål snarare än enbart reagera på en enskild instruktion.
Från instruktion till mål
Skillnaden mellan vanlig automatisering och agentisk mjukvara ligger framför allt i graden av självständighet. Ett automatiserat system följer vanligtvis en förutbestämd sekvens med tydliga regler. En agent kan däremot behöva avgöra hur uppgiften ska lösas när förutsättningarna förändras. Den kan exempelvis upptäcka att en viss väg inte fungerar och försöka hitta ett alternativ. För att göra detta kombineras ofta artificiell intelligens med tillgång till data, externa tjänster och olika programverktyg. Systemet fungerar då mer som en beslutsfattande mellanhand än som ett traditionellt program som enbart utför kommandon.

En agentisk lösning kan arbeta genom flera steg som användaren inte behöver specificera i detalj. Ett uppdrag kan exempelvis vara att undersöka ett ämne, jämföra information och ta fram ett underlag. Programmet kan då själv identifiera vilka källor och verktyg som behövs, bearbeta informationen och gå vidare när ett moment är färdigt. Vanliga funktioner i sådana system kan vara att:
-
Tolka mål och instruktioner.
-
Planera flera steg i en uppgift.
-
Använda externa verktyg och tjänster.
-
Bedöma resultat och justera sitt arbetssätt.
-
Genomföra åtgärder utan ett nytt kommando efter varje steg.
En mjukvara som kan agera
Tekniken bygger ofta på flera komponenter som samverkar. En språkmodell eller annan AI-teknik kan tolka instruktionen och resonera kring vad som behöver göras. Ett minnessystem kan hålla reda på tidigare information, medan verktygsintegrationer gör det möjligt att exempelvis söka efter uppgifter, läsa dokument eller kommunicera med andra system. En kontrollmekanism kan dessutom avgöra vilka åtgärder som får genomföras. Det är kombinationen som gör att agenten kan gå från att ge ett svar till att faktiskt utföra en uppgift i en digital miljö.
Det innebär också att agentisk mjukvara inte behöver vara helt självständig för att vara användbar. I många sammanhang är det mer praktiskt med en modell där programmet får sköta rutinmässiga delar men kräver godkännande när konsekvenserna blir större. Ett system kan exempelvis själv sortera information och förbereda ett beslut, men låta en människa godkänna innan något skickas eller ändras. På så sätt kan agentisk funktionalitet införas utan att kontrollen över viktiga beslut helt lämnas över till programvaran.
När program får fatta egna beslut
När program får möjlighet att fatta beslut förändras relationen mellan människa och mjukvara. Tidigare har användaren i regel varit den som bestämt när en åtgärd ska genomföras. Ett agentiskt system kan däremot tolka en instruktion som ett mål och själv avgöra vilka handlingar som krävs på vägen dit. Det kan spara tid, särskilt när uppgiften består av många återkommande moment. Samtidigt innebär större handlingsutrymme att användaren inte längre behöver ha full insyn i varje enskilt steg som programmet tar under arbetets gång.
Från assistent till aktör
Skillnaden blir tydlig om man jämför en vanlig digital assistent med en agentisk sådan. En traditionell assistent kan exempelvis svara på frågan om vilka möten som finns i kalendern. En agent kan få uppdraget att hantera dagens möten och därefter kontrollera kalendern, identifiera konflikter, föreslå förändringar och förbereda åtgärder. Den behöver alltså fatta flera beslut mellan instruktionen och resultatet. Ju fler system den har tillgång till, desto fler saker kan den potentiellt göra utan att användaren behöver ingripa mellan varje moment.

Detta öppnar för användningsområden inom exempelvis administration, kundservice, ekonomi och IT. Ett företag kan låta ett agentiskt system övervaka vissa processer, upptäcka avvikelser och vidta definierade åtgärder. Inom IT kan en agent exempelvis analysera ett fel, kontrollera relevanta loggar och föreslå eller genomföra en korrigering. Inom administration kan den bearbeta inkommande information och förbereda nästa steg. Den stora förändringen är att mjukvaran inte längre enbart levererar information, utan kan delta aktivt i arbetsprocessen.
Hur mycket frihet ska programmet få?
Agentens handlingsutrymme behöver därför vara noggrant definierat. Ett system som bara får läsa information har betydligt mindre möjlighet att orsaka skada än ett som också får ändra dokument, skicka meddelanden eller genomföra ekonomiska transaktioner. Behörigheter blir därmed en central del av hur agentisk mjukvara bör utformas. Det kan vara klokt att begränsa vilka system agenten får använda, vilka data den får komma åt och vilka åtgärder den får utföra på egen hand. För känsligare handlingar kan mänskligt godkännande fortfarande krävas.
En annan aspekt är att agenten kan behöva hantera situationer som utvecklaren inte förutsett. Om instruktionen är vag kan systemet göra en rimlig tolkning som ändå inte motsvarar användarens avsikt. Ett mål som ”gör klart rapporten” säger exempelvis inte nödvändigtvis vilka uppgifter som får ändras eller vilka källor som får användas. Därför behöver agentiska system ofta tydliga regler för när de ska fortsätta själva och när de ska stanna och be om besked. Det är en viktig skillnad mellan automatisering och verkligt självständigt agerande.
Möjligheter, risker och kontroll när mjukvara agerar själv
Agentisk mjukvara kan effektivisera arbetsuppgifter genom att ta hand om processer som tidigare krävt ständig mänsklig inblandning. Ett system kan exempelvis övervaka information, upptäcka förändringar och reagera på dem inom givna ramar. Det kan göra tekniken användbar i situationer där stora mängder data behöver bearbetas eller där många små beslut måste fattas snabbt. För användaren kan vinsten vara att mindre tid går åt till manuella moment. Men samma självständighet som skapar effektivitet gör också att felaktiga beslut kan få större konsekvenser.
Effektivitet utan ständig övervakning
En av de tydligaste fördelarna är möjligheten att låta programvara arbeta kontinuerligt. Ett agentiskt system behöver inte vänta på att en person ska starta nästa moment, utan kan fortsätta så länge uppgiften och behörigheterna tillåter det. Det kan exempelvis kontrollera inkommande ärenden, prioritera dem och förbereda svar. I mer avancerade miljöer kan flera agenter samarbeta och dela information mellan olika arbetsflöden. Potentialen ligger därför inte bara i att automatisera en enskild uppgift, utan i att automatisera delar av hela processer.

Samtidigt måste säkerheten anpassas efter den ökade handlingsförmågan. Ett program som själv kan utföra åtgärder behöver skydd mot felaktiga instruktioner, manipulerad information och olämpliga beslut. Det behöver också gå att se vad systemet har gjort och varför. Loggning, behörighetsstyrning och tydliga gränser blir därför centrala tekniska funktioner. Om något går fel måste det vara möjligt att identifiera vilken information agenten använde, vilka beslut den fattade och vilka åtgärder som faktiskt genomfördes.
Mänsklig kontroll blir en teknisk fråga
Kontroll behöver inte innebära att en människa godkänner varje enskild åtgärd. Det skulle minska mycket av den effektivitet som agentisk mjukvara är tänkt att skapa. I stället kan kontrollen byggas in genom olika nivåer av behörighet. En agent kan exempelvis få genomföra lågriskåtgärder själv, medan mer känsliga operationer kräver godkännande. Systemet kan också sätta gränser för hur mycket information som får ändras eller hur många åtgärder som får genomföras inom en viss tidsperiod.
Ansvarsfrågan blir samtidigt mer komplicerad när ett program agerar på egen hand. Om en agent gör ett felaktigt val är det fortfarande människor och organisationer som behöver kunna förklara varför systemet hade möjlighet att fatta beslutet. Därför blir dokumentation, testning och uppföljning viktiga delar av utvecklingen. Agentisk mjukvara handlar därmed inte bara om att ge program större frihet, utan om att bygga strukturer som gör den friheten möjlig att kontrollera. Ju större konsekvenser en agent kan orsaka, desto viktigare blir dessa mekanismer.