AI-modeller og platforme
AIOS: Operativsystem til LLM-agenter
Over de sidste seks ÃĨrtier er operativsystemer udviklet gradvist, fra simple systemer til komplekse og interaktive operativsystemer, der driver i dagens enheder. Oprindeligt fungerede operativsystemer som en bro mellem computerhardwares binÃĶre funktioner, sÃĨsom gate-manipulation, og bruger niveau-opgaver. Over ÃĨrene er de dog udviklet fra simple batch-job-behandlings-systemer til mere avancerede processtyrings-teknikker, herunder multitasking og tidsdeling. Disse fremskridt har gjort det muligt for moderne operativsystemer at hÃĨndtere en bred vifte af komplekse opgaver. Introduktionen af grafiske brugergrÃĶnseflader (GUIâer) som Windows og MacOS har gjort moderne operativsystemer mere brugervenlige og interaktive, samtidig med at de har udvidet OS-Ãļkosystemet med runtime-biblioteker og et omfattende sÃĶt af udvikler-vÃĶrktÃļjer.
Seneste innovationer inkluderer integrationen og implementeringen af Large Language Models (LLMâer), der har revolutioneret forskellige industrier ved at lÃĨse op for nye muligheder. Mere nylig har LLM-baserede intelligente agenter vist bemÃĶrkelsesvÃĶrdige evner, opnÃĨet menneske-lignende prÃĶstationer pÃĨ et bredt spektrum af opgaver. Disse agenter er dog stadig i de tidlige udviklingsfaser, og nuvÃĶrende teknikker stÃĨr over for flere udfordringer, der pÃĨvirker deres effektivitet og efficiens. Almindelige problemer inkluderer underoptimal planlÃĶgning af agent-anmodninger over den store sprogmodel, kompleksiteter i integration af agenter med forskellige specialiseringer og vedligeholdelse af kontekst under interaktioner mellem LLMâen og agenten. Den hurtige udvikling og Ãļgede kompleksitet af LLM-baserede agenter fÃļrer ofte til flaskehalse og underoptimal ressourceanvendelse.
For at lÃļse disse udfordringer vil denne artikel diskutere AIOS, et LLM-agent-operativsystem designet til at integrere store sprogmodeller som âhjernenâ i operativsystemet, effektivt givende det en âsjÃĶlâ. Specifikt sigter AIOS-rammen mod at facilitere kontekstskift mellem agenter, optimere ressourceallokering, tilbyde vÃĶrktÃļjservice til agenter, vedligeholde adgangskontrol og muliggÃļre samtidig udfÃļrelse af agenter. Vi vil dykke dybt ind i AIOS-rammen, udforske dens mekanismer, metode og arkitektur, og sammenligne det med state-of-the-art-rammer. Lad os dykke ind.
Efter at have opnÃĨet bemÃĶrkelsesvÃĶrdig succes med store sprogmodeller er nÃĶste fokus for AI- og ML-industrien at udvikle autonome AI-agenter, der kan operere uafhÃĶngigt, trÃĶffe beslutninger pÃĨ egen hÃĨnd og udfÃļre opgaver med minimal eller ingen menneskelige indgreb. Disse AI-baserede intelligente agenter er designet til at forstÃĨ menneskelige instruktioner, behandle information, trÃĶffe beslutninger og tage passende handlinger for at opnÃĨ en autonom tilstand, med udviklingen af store sprogmodeller ÃĨbner nye muligheder for udviklingen af disse autonome agenter. NuvÃĶrende LLM-rammer, herunder DALL-E, GPT og flere, har vist bemÃĶrkelsesvÃĶrdige evner til at forstÃĨ menneskelige instruktioner, resonere og lÃļse problemer, samt interagere med menneskelige brugere og eksterne miljÃļer. Bygget oven pÃĨ disse kraftfulde og kapable store sprogmodeller har LLM-baserede agenter stÃĶrke opgave-udfyldelsesevner i diverse miljÃļer, fra virtuelle assistenter til mere komplekse og avancerede systemer, der involverer problemlÃļsning, resonnering, planlÃĶgning og udfÃļrelse.

Figuren ovenfor giver et overbevisende eksempel pÃĨ, hvordan en LLM-baseret autonom agent kan lÃļse virkelige opgaver. Brugeren anmoder systemet om rejseinformation, hvorefter rejseagenten bryder opgaven ned i udfÃļrbare trin. Derefter udfÃļrer agenten trinnene sekventielt, booker fly, reserverer hoteller, behandler betalinger og mere. Under udfÃļrelsen af trinnene adskiller disse agenter sig fra traditionelle software-applikationer ved deres evne til at vise beslutningstagningsevner og inkorporere resonnering i udfÃļrelsen af trinnene. Sammen med en eksponentiel vÃĶkst i kvaliteten af disse autonome agenter har belastningen pÃĨ funktionaliteten af store sprogmodeller og operativsystemer Ãļget, og et eksempel herpÃĨ er, at prioritering og planlÃĶgning af agent-anmodninger i begrÃĶnsede store sprogmodeller udgÃļr en betydelig udfordring. Derudover kan genereringsprocessen for store sprogmodeller blive en tidskrÃĶvende opgave, nÃĨr man har at gÃļre med lange kontekster, og det er muligt for planlÃĶggeren at suspendere den resulterende generering, hvilket rejser et problem om at udvikle en mekanisme til at snapshot den nuvÃĶrende generationsresultat for sprogmodellen. Dette medfÃļrer, at pause/fortsÃĶt-adfÃĶrd er aktiveret, nÃĨr den store sprogmodel ikke har afsluttet respons-genereringen for den nuvÃĶrende anmodning.
For at lÃļse de nÃĶvnte udfordringer tilbyder AIOS, et stort sprogmodel-operativsystem, aggregater og modul-isolation af LLM- og OS-funktioner. AIOS-rammen foreslÃĨr en LLM-specifik kernel-design i et forsÃļg pÃĨ at undgÃĨ potentielle konflikter mellem opgaver, der er tilknyttet den store sprogmodel, og dem, der ikke er det. Den foreslÃĨede kernel adskiller operativsystem-lignende pligter, isÃĶr de, der overvÃĨger LLM-agenter, udviklingsvÃĶrktÃļjer og deres respektive ressourcer. Som fÃļlge heraf forsÃļger LLM-kernen at forbedre koordinationen og styringen af aktiviteter relateret til LLMâer.
AIOS: Metodik og Arkitektur

Som du kan se, er der seks store mekanismer involveret i AIOS-rammens funktionsmÃĨde.
- Agent-planlÃĶgger: Agent-planlÃĶggerens opgave er at planlÃĶgge og prioritere agent-anmodninger for at optimere udnyttelsen af den store sprogmodel.
- Kontekst-manager: Kontekst-managernes opgave er at understÃļtte snapshots samt genskabe den midlertidige generationsstatus i den store sprogmodel, samt kontekst-vindue-styring af den store sprogmodel.
- Hukommelses-manager: Hukommelses-managernes primÃĶre ansvar er at tilbyde midlertidig hukommelse til interaktions-loggen for hver agent.
- Lagring-manager: Lagrings-managernes ansvar er at.persistere interaktions-loggene for agenter til langsigtede lagringsmedier til fremtidig hentning.
- VÃĶrktÃļjs-manager: VÃĶrktÃļjs-managernes mekanisme styrer opkald til eksterne API-vÃĶrktÃļjer.
- Adgangs-manager: Adgangs-managernes ansvar er at gennemtvinge privatlivs- og adgangskontrol-politikker mellem agenter.
Ud over de ovennÃĶvnte mekanismer har AIOS-rammen en lagdelt arkitektur, der er inddelt i tre distinkte lag: applikationslaget, kernel-laget og hardware-laget. Den lagdelte arkitektur, der er implementeret af AIOS-rammen, sikrer, at ansvarerne er fordelt jÃĶvnt over systemet, og at de Ãļvre lag abstraherer kompleksiteterne i lagene under dem, hvilket muliggÃļr interaktioner ved hjÃĶlp af bestemte moduler eller grÃĶnseflader, hvilket forbedrer modulariteten og forenkler system-interaktioner mellem lagene.
Startende med applikationslaget bruges dette lag til at udvikle og implementere applikations-agenter, sÃĨsom matematik- eller rejse-agenter. I applikationslaget tilbyder AIOS-rammen AIOS-software-udviklingskit (AIOS SDK) med en hÃļjere abstraktion af system-kald, der forenkler udviklingsprocessen for agent-udviklere. Software-udviklingskitet, der tilbydes af AIOS, tilbyder et rigt vÃĶrktÃļjsÃĶt til at faciliterer udviklingen af agent-applikationer ved at abstrahere kompleksiteterne af de lavere niveau-systemfunktioner, hvilket tillader udviklere at fokusere pÃĨ funktionaliteten og den vÃĶsentlige logik af deres agenter, hvilket resulterer i en mere effektiv udviklingsproces.
Herefter er kernel-laget yderligere inddelt i to komponenter: LLM-kernen og OS-kernen. Begge OS-kernen og LLM-kernen tjener de unikke krav til LLM-specifikke og ikke-LLM-operationer, med den forskel, der tillader LLM-kernen at fokusere pÃĨ store sprogmodel-specifikke opgaver, herunder agent-planlÃĶgning og kontekst-styring, aktiviteter, der er essentielle for hÃĨndtering af aktiviteter relateret til store sprogmodeller. AIOS-rammen koncentrerer sig primÃĶrt om at forbedre den store sprogmodel-kernel uden at ÃĶndre strukturen af den eksisterende OS-kernel vÃĶsentligt. LLM-kernen er udstyret med flere nÃļgle-moduler, herunder agent-planlÃĶgger, hukommelses-manager, kontekst-manager, lagrings-manager, adgangs-manager, vÃĶrktÃļjs-manager og LLM-system-kald-grÃĶnsefladen. Komponenterne i kernel-laget er designet til at lÃļse de forskellige udfÃļrelses-krav for agent-applikationer, hvilket sikrer effektiv udfÃļrelse og styring inden for AIOS-rammen.
Til sidst har vi hardware-laget, der bestÃĨr af de fysiske komponenter i systemet, herunder GPU, CPU, periferienheder, disk og hukommelse. Det er vigtigt at forstÃĨ, at systemet af LLM-kerner ikke kan interagere direkte med hardwaren, og disse kald grÃĶnseflade med system-kaldene af operativsystemet, der i sin tur styrer hardware-ressourcerne. Denne indirekte interaktion mellem LLM-kernens system og hardware-ressourcerne skaber et lag af sikkerhed og abstraktion, der tillader LLM-kernen at udnytte hardware-ressourcerne uden at krÃĶve direkte styring af hardwaren, hvilket faciliterer vedligeholdelsen af integriteten og efficiensen af systemet.
Implementering
Som nÃĶvnt ovenfor er der seks store mekanismer involveret i AIOS-rammens funktionsmÃĨde. Agent-planlÃĶggeren er designet til at kunne hÃĨndtere agent-anmodninger pÃĨ en effektiv mÃĨde og har flere udfÃļrelses-trin i modsÃĶtning til en traditionel sekventiel udfÃļrelses-paradigme, hvor agenten behandler opgaverne i en lineÃĶr mÃĨde med trin fra samme agent, der behandles fÃļrst, fÃļr man gÃĨr videre til nÃĶste agent, hvilket resulterer i Ãļgede ventetider for opgaver, der opstÃĨr senere i udfÃļrelses-sekvensen. Agent-planlÃĶggeren anvender strategier som Round Robin, First In First Out og andre planlÃĶgnings-algoritmer til at optimere processen.

Kontekst-managernes er designet til at kunne hÃĨndtere konteksten, der gives til den store sprogmodel, og genereringsprocessen, givet den bestemte kontekst. Kontekst-managernes involverer to afgÃļrende komponenter: kontekst-snapshot og genskabelse, samt kontekst-vindue-styring. Kontekst-snapshot- og genskabelse-mekanismen, der tilbydes af AIOS-rammen, hjÃĶlper med at mildne situationer, hvor planlÃĶggeren suspenderer agent-anmodningerne, som vist i fÃļlgende figur.

Som vist i fÃļlgende figur er det hukommelses-managernes ansvar at hÃĨndtere midlertidig hukommelse inden for en agents livscyklus og sikre, at data er gemt og tilgÃĶngelig kun, nÃĨr agenten er aktiv, enten under kÃļrsel eller nÃĨr agenten venter pÃĨ udfÃļrelse.

PÃĨ den anden side er lagrings-managernes ansvar at bevare data pÃĨ lang sigt og at overvÃĨge lagringen af information, der skal gemmes for en ubestemt periode, ud over en enkelt agents aktivitetstid. AIOS-rammen opnÃĨr permanent lagring ved hjÃĶlp af en rÃĶkke varige medier, herunder cloud-baserede lÃļsninger, databaser og lokale filer, hvilket sikrer data-tilgÃĶngelighed og integritet. Derudover er det vÃĶrktÃļjs-managernes ansvar i AIOS-rammen at styre en varieret rÃĶkke af API-vÃĶrktÃļjer, der forbedrer funktionaliteten af de store sprogmodeller, og fÃļlgende tabel summerer, hvordan vÃĶrktÃļjs-managernes integrerer almindelige vÃĶrktÃļjer fra forskellige ressourcer og klassificerer dem i forskellige kategorier.

Adgangs-managernes organiserer adgangskontrol-operationer inden for distinkte agenter ved at administrere en dedikeret privilegie-gruppe for hver agent og nÃĶgter en agent adgang til dens ressourcer, hvis de er ekskluderet fra agentens privilegie-gruppe. Derudover er adgangs-managernes ogsÃĨ ansvarlig for at samle og vedligeholde overvÃĨgnings-logfiler, der forbedrer systemets gennemsigtighed yderligere.
AIOS: Eksperimenter og Resultater
Evalueringen af AIOS-rammen er guidet af to forsknings-spÃļrgsmÃĨl: fÃļrst, hvordan er AIOS-planlÃĶgnings-prÃĶstationen i forbedring af balance og ventetid, og anden, om svaret fra LLMâen til agent-anmodninger er konsistent efter agent-suspension?
For at besvare konsistens-spÃļrgsmÃĨlet kÃļrer udviklerne hver af de tre agenter individuelt og herefter udfÃļrer disse agenter i parallel, og forsÃļger at fange deres output under hver fase. Som vist i fÃļlgende tabel opnÃĨr BERT- og BLEU-scores vÃĶrdien 1,0, hvilket indikerer en perfekt alignment mellem output, der er genereret i enkelt-agent- og multi-agent-konfigurationer.

For at besvare efficiens-spÃļrgsmÃĨlet gennemfÃļrer udviklerne en sammenlignende analyse mellem AIOS-rammen, der anvender FIFO eller First In First Out-planlÃĶgning, og en ikke-planlagt tilgang, hvor agenterne kÃļrer samtidigt. I den ikke-planlagte indstilling udfÃļres agenterne i en foruddefineret sekventiel rÃĶkkefÃļlge: Matematik-agent, FortÃĶlling-agent og Rec-agent. For at vurdere den tidsmÃĶssige efficiens anvender AIOS-rammen to metrikker: ventetid og udfÃļrelsestid, og da agenterne sender multiple anmodninger til den store sprogmodel, beregnes ventetiden og udfÃļrelsestiden for enkelt-agenter som gennemsnittet af ventetiden og udfÃļrelsestiden for alle anmodninger. Som vist i fÃļlgende tabel viser den ikke-planlagte tilgang tilfredsstillende prÃĶstation for agenter tidligt i sekvensen, men lider under forlÃĶngede ventetider og udfÃļrelsestider for agenter senere i sekvensen. PÃĨ den anden side regulerer planlÃĶgnings-tilgangen, der er implementeret af AIOS-rammen, bÃĨde ventetid og udfÃļrelsestid effektivt.

Endelige Tanker
I denne artikel har vi talt om AIOS, et LLM-agent-operativsystem, der er designet til at indlejre store sprogmodeller i operativsystemet som âhjernenâ i operativsystemet, hvilket giver operativsystemet en âsjÃĶlâ. For at vÃĶre mere specifik er AIOS-rammen designet med det formÃĨl at facilitere kontekst-skift mellem agenter, optimere ressource-allokering, tilbyde vÃĶrktÃļjs-service til agenter, vedligeholde adgangskontrol for agenter og muliggÃļre samtidig udfÃļrelse af agenter. AIOS-arkitekturen demonstrerer potentialet for at facilitere udviklingen og implementeringen af store sprogmodel-baserede autonome agenter, hvilket resulterer i et mere effektivt, samlet og effektivt AIOS-Agent-Ãļkosystem.












