Когда агенты должны работать, а не взрывать
Дать AI-агенту доступ к файловой системе — всё равно что доверить управление ядерным реактором голодному еноту. Он не злой. Он просто хочет кушать. И ваш файл .env с ключами API выглядит очень аппетитно.
После волны инцидентов в 2024-2025 годах, когда автономные агенты на GPT-4.5 и Claude 3.7 Opus устроили цифровой погром в корпоративных сетях, вопрос изоляции стал ребром. Все вспомнили про песочницы, но традиционные методы оказались либо слишком дырявыми, либо непозволительно медленными.
Luminarys AI вышел в начале 2026 с простым тезисом: если нельзя доверять агенту, нужно изолировать его навыки, а не запихивать всего агента в клетку. И сделали это на WebAssembly.
Архитектура: WASM не только для браузера
Платформа построена вокруг гетерогенного кластера. Звучит сложно, но на деле это значит, что вы можете запускать агентов на разных железяках — от Raspberry Pi до GPU-серверов. Ядро — рантайм на WebAssembly System Interface (WASI).
На 03.04.2026 WebAssembly вышел далеко за пределы браузера. WASI 0.3 стабилен, а компиляторы Rust и Go генерируют оптимизированный WASM-код, который выполняется с нативным быстродействием.
1 Модули вместо монолитов
Вместо одного агента с доступом ко всему, Luminarys разбивает функциональность на изолированные навыки (skills). Каждый навык — это скомпилированный в WASM модуль на Rust или Go. Агент-оркестратор вызывает эти модули через строго типизированный API.
Хотите, чтобы агент работал с файлами? Подключаете модуль file_ops.wasm с правами только на чтение в директорию /tmp. Нужен доступ к сети? http_client.wasm с белым списком доменов. Если модуль сходит с ума — он упрётся в песочницу WASI и не тронет хост.
Сравнение: не Docker, и не LangChain
Здесь начинается интересное. Люди путают Luminarys с контейнеризацией или фреймворками для агентов. Это ошибка.
| Подход | Изоляция | Запуск агента | Главная проблема |
|---|---|---|---|
| Docker/containerd | Уровень ядра (номинально) | Секунды | Вес (~100 МБ), escape-векторы |
| gVisor/Firecracker | Виртуализация | ~100 мс | Сложность, overhead памяти |
| LangChain + LangSmith Sandboxes | Сетевая прокси | Зависит от инфраструктуры | Нет изоляции кода, только IO |
| Luminarys AI | WASM + capabilities | <1 мс (холодный старт) | Нужно компилировать в WASM |
Разница фундаментальна. Docker изолирует целый процесс. Luminarys изолирует отдельные функции. Это как разница между тюрьмой для человека и сейфом для его рук. (Странная аналогия, но вы поняли).
По сравнению с Cogitator или другими рантаймами для агентов, Luminarys не пытается быть фреймворком. Это инфраструктурный слой. Вы можете использовать его с любым агентом — хоть на базе GPT-4.5, хоть на открытой модели Qwen2.5-72B.
Пример: агент, который читает логи, но не может их удалить
Допустим, вам нужен агент для мониторинга. Он должен анализировать логи в /var/log, но ни при каких условиях не иметь возможности их стереть или выйти в интернет.
2 Пишем навык на Rust
Создаём модуль с одной экспортируемой функцией analyze_log. Весь код выполняется в песочнице WASI, где файловая система — это виртуальный слой с доступом только к /var/log/app.log.
// skills/log_analyzer/src/lib.rs
use std::fs;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn analyze_log(path: &str) -> String {
// Читаем только указанный файл
let content = fs::read_to_string(path).unwrap_or_default();
// Анализируем...
if content.contains("ERROR") {
return "Found errors in log".to_string();
}
"Logs are clean".to_string()
}
Компилируем в WASM с целевой платформой wasm32-wasi. Получаем файл ~200 КБ.
3 Запускаем в кластере
Развертываем модуль в кластер Luminarys. Конфигурация в YAML определяет capabilities: только чтение одного файла, нет сети, нет доступа к окружению.
# log_skill.yaml
skill:
name: "log_analyzer"
wasm_module: "./target/wasm32-wasi/release/log_analyzer.wasm"
capabilities:
- "fs:read:/var/log/app.log"
- "env:none"
- "net:none"
Агент-оркестратор (например, на Python с использованием SDK Luminarys) вызывает этот навык, когда нужно проверить логи. Если в промпте агента попытаться инжектить команду на удаление файла — модуль просто не имеет на это прав. Физически.
Кому подойдёт Luminarys? (Спойлер: не всем)
Берите, если: вы запускаете автономных агентов в продакшене, где есть чувствительные данные. Или если ваши агенты выполняют код, написанный пользователями (например, в AI-ассистентах для разработчиков). Или если вы устали от танцев с бубном вокруг Docker.
Не берите, если: вы делаете прототип за выходные и вам нужно "просто запустить что-то". Или если все ваши агенты — это безобидные чат-боты без доступа к API. Или если вы не готовы компилировать код в WASM (хотя для Go и Rust это одна команда).
Главный недостаток Luminarys на 03.04.2026 — молодость экосистемы. Готовых навыков мало. Придётся писать свои. Но это же и преимущество — вы контролируете каждый байт кода, который выполняет агент.
Что в итоге?
Luminarys AI — это не очередной фреймворк. Это инфраструктурный сдвиг. Вместо того чтобы надеяться, что агент не сломает систему, платформа гарантирует это на уровне архитектуры.
Она сложнее, чем no-code инструменты. Но когда ваш агент на GPT-5 (которая уже на горизонте 2026) получит доступ к продакшен-базе, вы будете спать спокойнее, зная, что его навыки заперты в песочнице из WebAssembly.
Попробуйте, если задумывались о безопасности. Игнорируйте, если считаете, что проблема преувеличена. Но не удивляйтесь, когда следующий инцидент с агентом попадет в новости.