Insikt

Arkitektur för guardrails i on-premises AI-agenter: bortom ett enda filter

On-Premises AI · AI Agents · Data Security · Design Principles · Advanced

Ett lagerbaserat angreppssätt för guardrails i on-premises LLM-agenter, som täcker indatasklassificering, policy-as-code, utdatasvalidering och runtime-övervakning utan att skicka data till externa säkerhetstjänster.

Abstrakt visualisering av ett neuralt nätverk och beslutsvägar

Varför en enda säkerhetsmodell inte räcker

Många team inför en enskild innehållsklassificerare — en säkerhets-LLM, en moderationsmodell eller en regelmotor — och kallar det "guardrailen". On-premises-installationer avslöjar begränsningarna snabbt. En enda kontrollpunkt kan inte samtidigt skilja en legitim policyfråga från ett extraktionsförsök, upprätthålla verktygsbehörigheter, redigera PII i en transkription och granska en långkörd agentkonversation. Guardrails är en arkitektur, inte en tjänst.

Målet är ett lagerförsvar: flera oberoende kontroller där varje lager är enkelt nog att granska och snabbt nog att sitta i request-vägen. När allt körs on-premises bestämmer du latensbudget, modellval och logggränser, vilket gör en verkligt lagerbaserad design möjlig snarare än ambitiös.

Lager ett: indatasklassificering och normalisering

Innan en prompt når resoneringsmodellen ska en inport hantera de billiga, signalrika kontrollerna. Dessa inkluderar typiskt språkdetektion, PII- och hemlighetsscanning, ämnesklassificering mot tillåtna användningsfall samt längd- och tokenbudgetkontroller. Klassificeraren själv kan vanligtvis vara en liten encoder eller en destillerad Llama Guard-liknande policymodell och körs till en bråkdel av huvud-LLM:ens kostnad.

Normalisera aggressivt. Ta bort nollbredda tecken, homoglyfer och dold markdown som kan smuggla in instruktioner. Normalisera blanksteg och unicode så att efterföljande mönstermatchning fungerar konsekvent. Spara originalbegäran vid sidan av den normaliserade versionen så att revisorer senare kan rekonstruera exakt vad användaren skickade.

Avvisa tydligt men vänligt. När indata blockeras, returnera en strukturerad anledning och ett korrelations-ID som användaren kan ange vid support. Tysta avslag genererar supportärenden; explicita avslag genererar återkoppling du kan lära av.

Lager två: policy-as-code och verktygsbehörigheter

När en begäran väl släppts in ska policyn inte leva i systemprompten som fri engelsk text. Koda den som strukturerade regler bredvid applikationen: vilka verktyg som får anropas, av vilken användarroll, mot vilka dataklassificeringar och med vilka godkännandekrav. Motorer som OPA (Open Policy Agent) eller särskilt byggda ramverk som NVIDIA NeMo Guardrails gör dessa regler granskningsbara, testbara och versionerade.

Bind policy till identitet, inte till prompten. Den som anropar i runtime ska ha en principal — en användare, ett servicekonto eller en delegerad agentidentitet — och varje verktygsanrop ska utvärderas mot den principalen. LLM:er producerar då och då verktygsanrop som deras prompt inte auktoriserade; policy-as-code är hur du fångar det innan anropet utförs.

Använd separata tillåtlistor per arbetsflöde i stället för en enda "agenten kan göra vad dess prompt tillåter"-yta. En dokumentsammanfattningsagent behöver inte databasskrivverktyg, och en biljettagent behöver inte shell-exekvering.

Lager tre: utdatasvalidering och strukturerad avkodning

Utdatasguardrails är lättare att resonera kring när modellen producerar begränsade strukturer snarare än fri text. Använd JSON-scheman, reguljära uttryck som begränsningar eller grammatikbaserad avkodning (till exempel grammatikerna som stöds av llama.cpp eller vLLM) när nedströmssystemet förväntar sig en specifik form. Ett svar som inte kan parsas avvisas innan en människa eller ett annat system någonsin ser det.

För fri-textsvar, kör en utdataklassificerare och en grundlagskontroll. Klassificeraren letar efter policybrott, läckta hemligheter eller otillåtet innehåll. Grundlagskontrollen, för RAG-arbetsflöden, verifierar att svaret stöds av hämtade dokument — en liten verifieringsmodell eller en embedding-likhetskontroll mellan svarspass och hämtade chunks fungerar tillförlitligt on-premises.

När ett svar inte klarar validering, föredra deterministisk reparation framför regenerering där det är möjligt: ta bort det trasiga fältet, kör om med en smalare prompt eller fall tillbaka till ett färdigt svar. Oavgränsade regenereringsloopar är en vanlig källa till latensspikar och kostnadsöverraskningar.

Lager fyra: runtime-övervakning och driftdetektion

Guardrails som sätts i drift utan telemetri försämras tyst. Instrumentera varje lager med strukturerade händelser: beslut i inporten, policyutvärderingar, verktygsanrop, utdatasvalideringar och eventuella reparationsåtgärder. Skicka dem till din on-premises-loggstack med sessions- och tenant-kontext så att utredningar kan följa en konversation från slut till slut.

Bevaka drift i guardrail-beteende, inte bara modellbeteende. Plötsliga förändringar i avslagsfrekvenser, klassificerarkonfidens eller policyavslagsfördelningar signalerar vanligen en av tre saker: en modelluppdatering, en korpusändring eller ett nytt attackmönster. Alla tre förtjänar en larmväg, och ingen av dem kan diagnosticeras från råa promptloggar ensamma.

Planera för red team-regressionstester som körs mot staging vid varje förändring av prompter, modeller eller policies. Behandla dem som säkerhetsskanningar: de passerar eller blockerar releasen.

Lager fem: mänskligt godkännande för högpåverkande åtgärder

Oavsett hur goda dina automatiska lager är kräver vissa åtgärder explicit mänskligt godkännande: finansiella transaktioner, åtkomstförändringar, utgående kommunikation i organisationens namn eller irreversibla dataoperationer. On-premises-plattformar för agenter ska erbjuda en förstklassig godkännandekö där en granskare ser hela kontexten — användarens begäran, hämtad evidens, föreslaget verktygsanrop och policyutvärdering — innan godkännande.

Designa godkännanden för att minska granskartrötthet. Sammanfatta intentionen, lyft fram vad som skulle förändras och gruppera liknande förfrågningar så att en granskare med trygghet kan godkänna en batch. Trötthet är i sig själv ett felläge; en granskare som rutinmässigt godkänner allt ger inte mer säkerhet än ingen granskning alls.

Att knyta ihop det

En försvarbar on-premises-guardrails-arkitektur kombinerar indata-normalisering och klassificering, policy-as-code kopplad till identitet, strukturerad utdatasvalidering, kontinuerlig telemetri och explicit godkännande för högpåverkande åtgärder. Varje lager är enkelt för sig, och den enkelheten är poängen: komplexa guardrails döljer fel, medan enkla lagrade guardrails lyfter fram dem. Designa för granskbarhet, inte för ett enda magiskt filter, så blir resten av din agentplattform betydligt lättare att driva säkert.

Utvald bild av Google DeepMindUnsplash.