Approfondimento sull'architettura NemoClaw
NemoClaw non è un singolo prodotto — è un'architettura di sicurezza a livelli progettata per rendere gli agenti IA autonomi sicuri per la distribuzione in produzione. Questo articolo percorre ogni livello, spiega come interagiscono e fornisce il contesto tecnico necessario per valutare NemoClaw nella propria infrastruttura.
Panoramica dell'architettura
Lo stack NemoClaw è composto da quattro livelli principali, ognuno dei quali affronta una dimensione diversa della sicurezza degli agenti:
┌─────────────────────────────────────────────┐
│ Agent Application │
│ (OpenClaw Agent Framework) │
├─────────────────────────────────────────────┤
│ Privacy Router │
│ (Local vs. Cloud Model Routing) │
├─────────────────────────────────────────────┤
│ Nemotron Policy Engine │
│ (120B MoE Intent Classification) │
├─────────────────────────────────────────────┤
│ OpenShell Runtime │
│ (Kernel-Level Sandbox + Isolation) │
├─────────────────────────────────────────────┤
│ Host OS / Hardware (DGX) │
└─────────────────────────────────────────────┘
Ogni livello funziona in modo indipendente e può essere distribuito autonomamente, ma lo stack completo fornisce una sicurezza in profondità che nessun singolo livello può raggiungere da solo.
Livello 1: Runtime di sicurezza OpenShell
OpenShell è il fondamento del modello di sicurezza di NemoClaw. Fornisce sandboxing a livello kernel per l'esecuzione degli agenti, garantendo che anche un agente compromesso non possa fuggire dal proprio perimetro di sicurezza.
Come funziona OpenShell
OpenShell utilizza una combinazione di namespace del kernel Linux, filtri seccomp-BPF e programmi eBPF personalizzati di NVIDIA per creare ambienti di esecuzione isolati per ogni attività dell'agente:
# openshell-policy.yaml
apiVersion: openshell.nvidia.com/v1
kind: SandboxPolicy
metadata:
name: customer-support-agent
spec:
isolation:
network: restricted
filesystem: read-only
syscalls: minimal
resources:
maxMemory: 4Gi
maxCPU: 2
gpuAccess: inference-only
permissions:
allowedAPIs:
- crm.read
- crm.update
- ticket.create
- ticket.resolve
deniedAPIs:
- admin.*
- billing.*
- user.delete
auditLog:
enabled: true
destination: siem://security-events
Ogni chiamata di sistema effettuata dall'agente viene intercettata dal livello eBPF di OpenShell, classificata secondo la policy e quindi autorizzata, negata o escalata per l'approvazione umana. L'intero pipeline decisionale viene eseguito nello spazio kernel, aggiungendo meno di 50 microsecondi di latenza per chiamata di sistema.
Workflow di approvazione dell'operatore
Per le operazioni ad alto rischio — eliminazione di dati, modifica dell'infrastruttura, invio di comunicazioni esterne — OpenShell può mettere in pausa l'esecuzione dell'agente e instradare l'azione verso un operatore umano per l'approvazione:
// Approval workflow configuration
const approvalPolicy = {
triggers: [
{ action: 'data.delete', threshold: 'always' },
{ action: 'infra.modify', threshold: 'always' },
{ action: 'email.send', threshold: 'external-only' },
{ action: 'payment.process', threshold: 'above-100-usd' },
],
channels: ['slack', 'teams', 'pagerduty'],
timeout: '15m',
defaultAction: 'deny',
};
Questo garantisce che gli agenti possano operare autonomamente per le attività di routine, mantenendo al contempo la supervisione umana per le azioni consequenziali.
Livello 2: Motore di policy Nemotron 120B MoE
Il modello Nemotron 120B Mixture-of-Experts funge da motore intelligente di valutazione delle policy di NemoClaw. A differenza dei tradizionali sistemi di sicurezza basati su regole, Nemotron può comprendere l'intenzione dietro le azioni degli agenti e valutarle rispetto a policy di sicurezza in linguaggio naturale.
Classificazione delle intenzioni
Quando un agente richiede un'azione, Nemotron classifica l'intenzione su più dimensioni:
- •Sensibilità: Quanto sono sensibili i dati coinvolti? (pubblica, interna, confidenziale, riservata)
- •Reversibilità: Questa azione può essere annullata? (completamente reversibile, parzialmente reversibile, irreversibile)
- •Portata: Quanti sistemi o utenti sono coinvolti? (singolo, team, organizzazione, esterno)
- •Conformità: Questa azione rientra in qualche framework normativo? (GDPR, HIPAA, SOC 2, PCI-DSS)
La classificazione viene eseguita in meno di 200 ms su una singola GPU A100, e in meno di 50 ms su un DGX Spark con la variante quantizzata del modello.
Policy in linguaggio naturale
I team di sicurezza possono definire le policy in linguaggio naturale, che Nemotron interpreta e applica:
Policy: "Customer support agents may access customer records for active tickets only.
They may not access financial data, modify account settings, or communicate
with customers outside of the ticketing system. All PII must be redacted
from internal logs."
Nemotron converte queste policy in linguaggio naturale in regole di sicurezza eseguibili, colmando il divario tra l'intento del team di sicurezza e l'applicazione tecnica.
Livello 3: Privacy Router
Il Privacy Router è il livello di routing intelligente dei modelli di NemoClaw. Determina se ogni attività dell'agente deve essere elaborata da un modello locale (Nemotron in esecuzione on-premises) o instradata verso un endpoint di modello cloud, in base alla classificazione della sensibilità dei dati.
Logica di routing
# Simplified Privacy Router logic
def route_request(request: AgentRequest) -> ModelEndpoint:
sensitivity = classify_sensitivity(request.context)
if sensitivity in ['restricted', 'confidential']:
# Highly sensitive data stays local
return local_nemotron_endpoint
if sensitivity == 'internal':
# Internal data can use cloud with encryption
return cloud_endpoint_with_e2e_encryption
if sensitivity == 'public':
# Public data can use any endpoint for best performance
return optimal_cloud_endpoint
# Default: local processing
return local_nemotron_endpoint
Il Privacy Router mantiene una cache di classificazione in tempo reale, in modo che le richieste ripetute con contesto simile vengano instradate senza rivalutazione. Nei benchmark, il router aggiunge meno di 5 ms di latenza alla pipeline delle richieste.
Conformità alla residenza dei dati
Per le organizzazioni soggette a requisiti di residenza dei dati (GDPR europeo, PIPL cinese, ecc.), il Privacy Router può imporre vincoli di routing geografico:
privacyRouter:
residencyRules:
- region: EU
dataTypes: [personalData, financialData]
allowedEndpoints: [eu-west-1-local, eu-central-1-local]
- region: CN
dataTypes: [all]
allowedEndpoints: [cn-north-1-local]
fallback: local-only
Livello 4: Motore di policy di rete
Il motore di policy di rete controlla quali risorse esterne un agente può accedere. Opera come proxy trasparente, ispezionando e filtrando tutte le richieste di rete in uscita dalle sandbox degli agenti.
Definizione della policy
networkPolicy:
name: sales-ops-agent
egress:
allow:
- domain: "*.salesforce.com"
methods: [GET, POST, PATCH]
- domain: "api.hubspot.com"
methods: [GET]
- domain: "smtp.company.com"
ports: [587]
deny:
- domain: "*" # deny all other outbound traffic
ingress:
allow:
- source: "webhook.salesforce.com"
path: "/api/v1/events"
inspection:
tlsDecrypt: true
logPayloads: false
scanForPII: true
Il motore di policy di rete supporta l'intercettazione TLS per le richieste in uscita (con gestione appropriata dei certificati), consentendo di analizzare i payload delle richieste per individuare fughe accidentali di dati personali.
Assemblare il tutto
Quando un agente OpenClaw riceve un compito, la richiesta attraversa lo stack NemoClaw come segue:
- 1.OpenClaw riceve il compito e costruisce un piano di esecuzione
- 2.Privacy Router classifica la sensibilità dei dati e seleziona l'endpoint del modello appropriato
- 3.Nemotron valuta il piano di esecuzione rispetto alle policy di sicurezza e classifica l'intenzione
- 4.OpenShell crea una sandbox isolata per l'esecuzione del compito
- 5.Il motore di policy di rete configura l'accesso alla rete della sandbox in base al ruolo dell'agente
- 6.L'agente viene eseguito all'interno della sandbox, con ogni azione sottoposta ad audit
- 7.Le azioni ad alto rischio vengono escalate agli operatori umani per l'approvazione
- 8.I risultati vengono restituiti attraverso il Privacy Router, con i dati personali mascherati nei log
L'intera pipeline aggiunge circa 300 ms di latenza alla prima richiesta in una sessione, e meno di 100 ms per le richieste successive (grazie alla cache). Per la maggior parte dei carichi di lavoro enterprise, questo overhead è trascurabile rispetto al tempo di inferenza del modello.
Benchmark delle prestazioni
Su un singolo DGX Spark:
| Metrica | Valore |
|---|---|
| Latenza valutazione policy (p50) | 45 ms |
| Latenza valutazione policy (p99) | 180 ms |
| Tempo di creazione sandbox | 120 ms |
| Applicazione policy di rete | 15 ms |
| Throughput (agenti simultanei) | 64 |
| Overhead di memoria per sandbox | 256 MB |
Su un cluster DGX H100 (8 GPU):
| Metrica | Valore |
|---|---|
| Latenza valutazione policy (p50) | 12 ms |
| Latenza valutazione policy (p99) | 45 ms |
| Throughput (agenti simultanei) | 512 |
Per iniziare
La documentazione dell'architettura NemoClaw è disponibile su GitHub su nvidia/nemoclaw. Ogni livello può essere distribuito indipendentemente, quindi puoi adottare NemoClaw in modo incrementale — iniziando dal sandboxing OpenShell e aggiungendo gli altri livelli man mano che i tuoi requisiti di sicurezza evolvono.
Nel prossimo articolo, ti guideremo attraverso un tutorial pratico per distribuire l'intero stack NemoClaw su un DGX Spark.