LACUNA: Safe Agents as Recursive Program Holes
LACUNA is een veilig programmeermodel voor LLM-agenten dat acties behandelt als getypeerde programmagaten die door het model worden ingevuld en via statische typecontrole worden gevalideerd voordat ze worden uitgevoerd, waardoor de besturingsflow van agenten wordt verenigd met gegenereerde code terwijl runtime-fouten worden voorkomen en de toegang tot hulpmiddelen wordt beperkt.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je de CEO bent van een bedrijf en je huurt een briljante maar iets onbetrouwbare assistent (de AI) in om je werk te doen.
De Oude Manier (Huidige Agents):
Meestal geef je de assistent een specifieke, kleine instructie: "Bel het telefoonbedrijf." De assistent doet precies dat, stopt dan en wacht op je volgende bevel. Jij houdt het klembord vast, bepaalt de volgorde van taken en houdt de sleutels van het kantoor. De assistent kan niet beslissen om in plaats daarvan de bank te bellen, of om de kantoorregels te herschrijven, omdat ze slechts één knop per keer kunnen indrukken.
Het Probleem:
Soms raakt de assistent in de war door een lastige notitie die je schreef (een "prompt injection"), of ze halverwege een taak en maken een fout, waardoor het kantoor in een rommelige, inconsistente toestand achterblijft. Omdat de assistent alleen knoppen mag indrukken, kunnen ze het gebouw niet vernielen, maar kunnen ze toch veel chaos veroorzaken binnen de ruimte waarin ze zich bevinden.
De Nieuwe Manier (LACUNA):
Het paper introduceert LACUNA, wat de relatie verandert. In plaats van de assistent één knop te geven om in te drukken, geef je ze een lege ruimte in een contract (een "getypte holte") en zeg je: "Vul deze ruimte met de code die je nodig hebt om dit probleem op te lossen, maar het moet perfect passen in ons juridische contract."
Hier is hoe het werkt, met eenvoudige analogieën:
1. Het "Magische Contract" (Getypte Holtes)
Stel je voor dat je een contract hebt dat zegt: "Het eindresultaat van dit gedeelte moet een Lijst met Getallen zijn."
- Je vraagt de AI: "Zoek de priemgetallen in deze lijst."
- De AI schrijft een heel alinea met instructies (code) om het op te lossen.
- De Veiligheidscontrole: Voordat de AI iets daadwerkelijk mag doen, controleert een strenge Inspecteur (de compiler) het alinea van de AI.
- Resulteert het alinea daadwerkelijk in een "Lijst met Getallen"? Als de AI probeert een "Lijst met Appels" terug te geven, verwierpt de Inspecteur het direct.
- Probeerde de AI een tool te gebruiken die ze niet mogen aanraken? (bijvoorbeeld proberen een bestand te openen waar ze geen sleutel voor hebben). De Inspecteur vangt dit ook op.
- Het Resultaat: Als de AI een fout maakt, wordt het contract verworpen voordat er enige actie plaatsvindt. Het kantoor blijft schoon. De AI krijgt de afwijzingsmelding, probeert het opnieuw en schrijft een beter alinea.
2. De "Alles-of-Niets" Regel
Op de oude manier, als een AI probeerde "Een bestand te verwijderen" en daarna "Een som te berekenen", en de berekening faalde, zou het bestand misschien al verwijderd zijn.
Bij LACUNA is het als een enkel, ondeelbaar blok klei.
- De AI beeldt het hele blok uit.
- De Inspecteur controleert het hele blok in één keer.
- Als enig deel van het beeldhouwwerk verkeerd is (de verkeerde vorm, het verkeerde materiaal), wordt het hele blok weggegooid. Er gebeurt niets. Het kantoor blijft precies zoals het was voordat de AI begon. Dit voorkomt "halfafgewerkte" rampen.
3. De "Sleutelbos" (Mogelijkheden)
Het paper spreekt ook over Mogelijkheden. Stel je voor dat de AI een specifieke set sleutels (een sleutelbos) krijgt voor de baan.
- Als de baan is "Lees het menu", krijgt de AI de "Menu-sleutel".
- Als de baan is "Verstuur een e-mail", krijgt de AI de "E-mail-sleutel".
- Zelfs als de AI wordt bedrogen door een slechte notie die zegt: "Gebruik de Bank-sleutel om geld te stelen", kunnen ze het fysiek niet doen. Ze hebben de Bank-sleutel niet in hun zak. De Inspecteur controleert hun sleutelbos voordat ze de slot mogen draaien.
- Dit betekent dat zelfs als een hacker de AI bedriegt om iets slechts te proberen, de AI letterlijk de "sleutels" mist om die deuren open te maken.
4. De "Gestapelde Russische Poppen" (Recursie)
De AI kan code schrijven die meer instructies voor zichzelf bevat.
- Je vraagt: "Schrijf een rapport over drie onderwerpen."
- De AI schrijft een plan dat zegt: "Eerst zal ik de AI vragen om Onderwerp A te onderzoeken, dan Onderwerp B, dan Onderwerp C, en ze uiteindelijk te combineren."
- Elk van die kleinere verzoeken is ook een "holte" die door de Inspecteur wordt gecontroleerd voordat het wordt uitgevoerd. Het is als een set Russische poppen, waarbij elke enkele pop wordt geïnspecteerd voordat deze mag worden geopend.
Wat het Paper Eigenlijk Vond
De onderzoekers testten dit systeem (LACUNA) met een programmeertaal genaamd Scala 3.
- Veiligheid: Ze ontdekten dat de "Inspecteur" ongeveer 8,6% van de pogingen van de AI opving voordat ze konden worden uitgevoerd. Dit waren pogingen die ofwel de verkeerde vorm hadden, of probeerden tools te gebruiken waar de AI geen toestemming voor had.
- Opnieuw proberen: Wanneer de AI een fout maakte, vroeg het systeem het om het opnieuw te proberen. Gemiddeld duurde het slechts 0,7 pogingen om een geldig antwoord te krijgen.
- Prestaties: Het systeem loste ongeveer 27% van de moeilijke onderzoekstaken op en 76% van de klantenservicetaken. Dit was ongeveer hetzelfde als andere standaard AI-agents, wat bewijst dat het toevoegen van deze strenge veiligheidscontrole de AI niet "dommer" maakte, alleen veiliger.
- Beveiliging: Ze testten het systeem tegen hackers die probeerden de AI te bedriegen (prompt injection). Omdat de AI werd beperkt door zijn "sleutelbos" (mogelijkheden), konden de hackers de AI niet krijgen om dingen buiten zijn toegestane scope te doen, zelfs niet als ze de AI succesvol bedroegen om het te proberen.
De Vang (Beperkingen)
Het paper geeft een paar dingen toe:
- Het is niet perfect: De Inspecteur controleert of de AI de regels heeft gevolgd (gebruikte het de juiste tools? gaf het het juiste type antwoord terug?), maar het controleert niet of de AI het juiste ding logisch heeft gedaan. Als de AI een perfecte code schrijft die de verkeerde wiskunde berekent, laat de Inspecteur het door.
- Het heeft een slimme AI nodig: Als de AI niet erg goed is in het schrijven van code, wordt het vaak afgewezen en zal het proces traag zijn.
- Het is trager: Omdat het systeem elke keer moet stoppen, controleren en opnieuw controleren, kost het meer tijd en rekenkracht dan gewoon de AI een knop te laten indrukken.
Samenvattend: LACUNA verandert de AI van een knop-indrukker in een aannemer die een volledig plan moet indienen voor goedkeuring voordat er werk wordt uitgevoerd. Als het plan tegen de regels indruist, begint het werk nooit, waardoor het systeem veilig blijft voor fouten en trucs.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.