Глубокое погружение в архитектуру NemoClaw
NemoClaw — это не отдельный продукт, а многоуровневая архитектура безопасности, разработанная для безопасного промышленного развёртывания автономных ИИ-агентов. В этой статье мы пройдём по каждому уровню, объясним, как они взаимодействуют, и предоставим технический контекст, необходимый для оценки NemoClaw для вашей инфраструктуры.
Обзор архитектуры
Стек NemoClaw состоит из четырёх основных уровней, каждый из которых отвечает за отдельный аспект безопасности агентов:
┌─────────────────────────────────────────────┐
│ 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) │
└─────────────────────────────────────────────┘
Каждый уровень работает независимо и может быть развёрнут самостоятельно, однако полный стек обеспечивает эшелонированную защиту, которую ни один отдельный уровень не может предоставить.
Уровень 1: Среда безопасности OpenShell
OpenShell — это основа модели безопасности NemoClaw. Он обеспечивает изоляцию на уровне ядра для выполнения агентов, гарантируя, что даже скомпрометированный агент не сможет выйти за границы своего периметра безопасности.
Как работает OpenShell
OpenShell использует комбинацию пространств имён ядра Linux, фильтров seccomp-BPF и пользовательских программ eBPF от NVIDIA для создания изолированных сред выполнения для каждой задачи агента:
# 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
Каждый системный вызов, совершаемый агентом, перехватывается слоем eBPF OpenShell, классифицируется в соответствии с политикой и затем разрешается, отклоняется или передаётся на одобрение человеку. Весь конвейер принятия решений работает в пространстве ядра, добавляя менее 50 микросекунд задержки на каждый системный вызов.
Процессы утверждения оператором
Для операций с высоким уровнем риска — удаление данных, изменение инфраструктуры, отправка внешних сообщений — OpenShell может приостановить выполнение агента и направить действие оператору-человеку на утверждение:
// 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',
};
Это гарантирует, что агенты могут работать автономно для рутинных задач, сохраняя при этом контроль человека над значимыми действиями.
Уровень 2: Движок политик Nemotron 120B MoE
Модель Nemotron 120B Mixture-of-Experts служит интеллектуальным движком оценки политик NemoClaw. В отличие от традиционных систем безопасности на основе правил, Nemotron способен понять намерение, стоящее за действиями агента, и оценить его в соответствии с политиками безопасности, описанными на естественном языке.
Классификация намерений
Когда агент запрашивает выполнение действия, Nemotron классифицирует намерение по нескольким измерениям:
- •Чувствительность: Насколько конфиденциальны задействованные данные? (публичные, внутренние, конфиденциальные, ограниченные)
- •Обратимость: Можно ли отменить это действие? (полностью обратимое, частично обратимое, необратимое)
- •Масштаб: Сколько систем или пользователей затронуто? (один, команда, организация, внешние)
- •Соответствие: Подпадает ли это действие под какие-либо нормативные рамки? (GDPR, HIPAA, SOC 2, PCI-DSS)
Классификация выполняется менее чем за 200 мс на одном GPU A100 и менее чем за 50 мс на DGX Spark с квантизированным вариантом модели.
Политики на естественном языке
Команды безопасности могут определять политики на обычном английском языке, которые Nemotron интерпретирует и применяет:
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 преобразует эти политики на естественном языке в исполняемые правила безопасности, устраняя разрыв между намерениями команды безопасности и техническим применением.
Уровень 3: Privacy Router
Privacy Router — это уровень интеллектуальной маршрутизации моделей в NemoClaw. Он определяет, должна ли каждая задача агента обрабатываться локальной моделью (Nemotron, работающий в локальной среде) или перенаправляться на облачную конечную точку модели, на основе классификации чувствительности данных.
Логика маршрутизации
# 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
Privacy Router поддерживает кэш классификации в реальном времени, поэтому повторные запросы с аналогичным контекстом маршрутизируются без повторной оценки. В тестах производительности маршрутизатор добавляет менее 5 мс задержки к конвейеру запросов.
Соответствие требованиям к размещению данных
Для организаций, работающих в условиях требований к размещению данных (GDPR ЕС, PIPL Китая и т. д.), Privacy Router может обеспечить соблюдение географических ограничений маршрутизации:
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
Уровень 4: Движок сетевых политик
Движок сетевых политик контролирует, к каким внешним ресурсам агент может обращаться. Он работает как прозрачный прокси, проверяя и фильтруя все исходящие сетевые запросы из песочниц агентов.
Определение политики
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
Движок сетевых политик поддерживает перехват TLS для исходящих запросов (с надлежащим управлением сертификатами), что позволяет сканировать тела запросов на предмет случайной утечки персональных данных.
Объединяем всё вместе
Когда агент OpenClaw получает задачу, запрос проходит через стек NemoClaw следующим образом:
- 1.OpenClaw получает задачу и формирует план выполнения
- 2.Privacy Router классифицирует чувствительность данных и выбирает подходящую конечную точку модели
- 3.Nemotron оценивает план выполнения в соответствии с политиками безопасности и классифицирует намерение
- 4.OpenShell создаёт изолированную песочницу для выполнения задачи
- 5.Движок сетевых политик настраивает сетевой доступ песочницы в соответствии с ролью агента
- 6.Агент выполняет задачу внутри песочницы, при этом каждое действие фиксируется в журнале аудита
- 7.Действия с высоким уровнем риска передаются операторам-людям на утверждение
- 8.Результаты возвращаются через Privacy Router с редакцией персональных данных из журналов
Весь этот конвейер добавляет примерно 300 мс задержки к первому запросу в сессии и менее 100 мс для последующих запросов (благодаря кэшированию). Для большинства корпоративных нагрузок эти накладные расходы незначительны по сравнению со временем инференса модели.
Тесты производительности
На одном DGX Spark:
| Метрика | Значение |
|---|---|
| Задержка оценки политики (p50) | 45 мс |
| Задержка оценки политики (p99) | 180 мс |
| Время создания песочницы | 120 мс |
| Применение сетевой политики | 15 мс |
| Пропускная способность (параллельные агенты) | 64 |
| Накладные расходы памяти на песочницу | 256 МБ |
На кластере DGX H100 (8 GPU):
| Метрика | Значение |
|---|---|
| Задержка оценки политики (p50) | 12 мс |
| Задержка оценки политики (p99) | 45 мс |
| Пропускная способность (параллельные агенты) | 512 |
Начало работы
Документация по архитектуре NemoClaw доступна на GitHub по адресу nvidia/nemoclaw. Каждый уровень может быть развёрнут независимо, поэтому вы можете внедрять NemoClaw постепенно — начав с песочницы OpenShell и добавляя другие уровни по мере роста ваших требований к безопасности.
В следующей статье мы проведём практическое руководство по развёртыванию полного стека NemoClaw на DGX Spark.