Skip to main content
AI AgentsSecurityPython

Monty от Pydantic: как безопасно исполнять LLM‑код и не платить за контейнеры

Pydantic выпустили Monty — минимальный интерпретатор Python на Rust для безопасного выполнения недоверенного кода LLM-агентов. Это критично для бизнеса: снижает риск RCE и утечек, ускоряет сценарную работу без контейнеров и упрощает контроль действий кода в пайплайне.

Technical Context

6 февраля 2026 команда Pydantic (экосистема, которая фактически стала стандартом валидации данных в Python) опубликовала Monty — минимальный, «закрытый по умолчанию» интерпретатор Python, написанный на Rust. Цель предельно прагматичная: безопасно исполнять недоверенный код, который создают LLM в составе AI-агентов и автоматизаций, без классических накладных расходов контейнеров и без риска превратить ваш прод в удалённо исполняемую песочницу для злоумышленников.

На момент публикации репозиторий экспериментальный (ветка 0.0.x, свежий релиз v0.0.4 от 7 февраля 2026), лицензия MIT. Дата новости совпадает с текущим периодом (прошло несколько дней) — это именно «горячий» инструмент, который стоит оценивать как технологический фундамент, но внедрять осторожно.

Что именно такое Monty

Monty — это не «ещё один Python». Это ограниченное подмножество Python, выполняемое внутри Rust-рантайма, поставляемое как:

  • Rust-библиотека (для встраивания в сервисы и агентные рантаймы),
  • Python-пакет pydantic-monty (интеграция в существующие Python-проекты),
  • сборки под WebAssembly (включая сценарии в браузере/через Pyodide).

Ключевые технические свойства (важно для архитектуры)

  • Sandbox по дизайну: запрет на файловую систему, переменные окружения и сеть «из коробки». Это принципиально снижает класс рисков RCE/эксфильтрации.
  • Микросекундный старт: позиционируется как альтернатива контейнерам там, где критична задержка (чат-агенты, real-time workflow).
  • Ограниченный язык: на ранних версиях нет классов, match, context managers, generators и большей части stdlib. Идея — не «совместимость любой ценой», а минимальная поверхность атаки.
  • Управляемые вызовы наружу: поддержка external functions — вы можете разрешить коду вызывать только явно предоставленные функции хоста. Это ключ к безопасной интеграции с данными/моделями.
  • Кросс-платформенность: один и тот же подход применим в backend-сервисе и в браузере (WASM), что важно для гибридных продуктов.

Как это обычно выглядит в коде

Ментальная модель простая: вы передаёте выражение/код, описываете входы и (при необходимости) список разрешённых внешних функций.

  • Простой вычислительный шаг (подходит для feature-трансформаций без доступа к окружению):

Пример: выражение вроде x * y с переданными входами.

  • Контролируемый доступ к данным через external functions: вместо того чтобы разрешать сети/ФС, вы даёте одну функцию fetch_data, которая внутри вашего сервиса сама решает, что можно читать и как логировать.

Ограничения, о которых нельзя забывать

Monty сейчас — инструмент “узкий, но безопасный”. Это означает:

  • он не заменяет CPython для сложной бизнес-логики;
  • вы не можете рассчитывать на богатую stdlib и привычные паттерны Python;
  • экосистема вокруг ещё не устоялась: наблюдаем, тестируем, закладываем возможность отката.

Business & Automation Impact

Главный эффект Monty — он меняет подход к агентным системам и к «динамическому коду» в production. Раньше у вас был неприятный выбор:

  • либо не исполнять LLM-код вообще (и ограничиться строго фиксированными инструментами),
  • либо исполнять в контейнере/VM (дорого, медленно, сложно),
  • либо «как-нибудь» исполнять в Python-процессе (опасно).

Monty предлагает четвёртый путь: интерпретаторный sandbox с очень малой поверхностью атаки и быстрым запуском. Для компаний, которые делают автоматизация с помощью ИИ в операционных процессах, это принципиально снижает стоимость итерации и уровень риска.

Где это даёт максимум пользы

  • ML/DS пайплайны с динамическими трансформациями: пользовательские правила очистки/нормализации, лёгкие feature-инженерные шаги, формирование промптов и пост-обработка результатов.
  • AI-агенты “tool-using”: когда LLM пишет небольшие куски кода, чтобы преобразовать структуру данных, склеить ответы, подготовить запросы к вашим внутренним API (через разрешённые функции).
  • Встраивание в продукты: “формулы”, “правила”, “макросы” от пользователей. Раньше это делали на своём DSL; теперь можно дать ограниченный Python, но безопасно.
  • Edge/Browser сценарии через WASM: часть вычислений можно переносить на клиент, сохраняя безопасность и предсказуемость.

Кто в зоне риска (и почему)

  • Команды, которые уже запустили агентные системы без изоляции: Monty подсвечивает проблему — исполнять LLM-код в «обычном» интерпретаторе = открывать дверь для утечек и саботажа.
  • Платформы, которые строили кастомные DSL только ради безопасности: часть кейсов может уехать в Monty, если ограничения языка приемлемы.
  • Сложные enterprise-системы: здесь риск не в технологии, а в интеграции. Если вы начнёте «разрешать всё» через external functions, вы вернёте уязвимости обратно, только другим путём.

Как это влияет на архитектура ИИ-решений

В практической AI-архитектура появляется новый слой: Execution Sandbox между LLM и вашими системами (данными, моделями, ERP/CRM, файловыми хранилищами). Архитектурно это означает:

  • Политика разрешений как код: список внешних функций — это ваш контракт безопасности. Его можно версионировать, тестировать и ревьюить.
  • Наблюдаемость: можно логировать все вызовы external functions, параметры, время выполнения, ошибки — и строить риск-скоринг действий агента.
  • Упрощение деплоя: меньше зависимости от контейнеров в “каждом шаге”, потенциально ниже латентность и стоимость для high-QPS агентных потоков.

Но есть и обратная сторона: чтобы получить реальную выгоду, нужно правильно спроектировать интерфейсы внешних функций и модель данных. На практике компании часто «ломаются» именно здесь: LLM-код вроде бы исполняется, но интеграция искусственного интеллекта с внутренними системами превращается в хаос из непредсказуемых контрактов и исключений. И это ровно тот класс задач, где нужны специалисты по внедрение ИИ и промышленной интеграции.

Expert Opinion Vadym Nahornyi

Monty — это не про “новый Python”, а про новый стандарт безопасного исполнения в агентной экономике. В Nahornyi AI Lab мы регулярно видим один и тот же сценарий: бизнес хочет, чтобы агент “сам писал код для обработки данных”, но безопасность и комплаенс блокируют идею. Monty впервые делает компромисс достаточно практичным: быстрая изоляция + управляемые точки выхода наружу.

Почему именно команда Pydantic — важный сигнал

Pydantic в отрасли ассоциируется с дисциплиной данных: схемы, типы, проверяемость. Логичное продолжение — дисциплина исполнения. Если Monty со временем будет стыковаться с Pydantic AI и валидированными входами/выходами, мы получим сильную связку: валидируем данные → исполняем безопасно → валидируем результат. Для разработки ИИ решений в реальном секторе это почти идеальная ось управляемости.

Где будет “хайп”, а где утилитарная ценность

  • Утилитарно: малые трансформации данных, маршрутизация, нормализация, «склейка» структур — то, что сейчас часто делают LLM-агенты между вызовами инструментов.
  • Хайп-зона: попытка запускать в Monty полноценные библиотеки/научный стек. Текущие ограничения языка и stdlib делают это малореалистичным.

Три типовых ошибки внедрения (которые я бы предупредил заранее)

  • Ошибка 1: “Мы добавим external function, которая умеет всё”. Так вы превращаете безопасный sandbox в тонкую прокладку до опасного API. Нужны узкие, предметные функции: “получить агрегат продаж по периоду”, а не “выполнить SQL”.
  • Ошибка 2: отсутствие контрактов данных. Если вход/выход не валидировать (Pydantic/схемы), агент будет производить “почти правильные” структуры, которые ломают пайплайн в неожиданных местах.
  • Ошибка 3: нет политики наблюдаемости. В агентных системах важны трассировки: что исполнилось, почему, какие ресурсы затронуло. Без этого вы не сможете доказать безопасность и поддерживать SLA.

Мой прогноз: в ближайшие 3–6 месяцев Monty станет “дефолтным кандидатом” для песочницы в Python-экосистеме агентных решений, но в прод его будут брать только те команды, кто умеет проектировать безопасные интерфейсы и тестировать ограничения. Остальным потребуется внешняя экспертиза — потому что сложность не в установке пакета, а в системной инженерии вокруг него.

Теория хороша, но результат требует практики. Если вы планируете внедрение искусственного интеллекта с агентными сценариями, хотите снизить риски исполнения LLM-кода и при этом ускорить ИИ автоматизация без контейнерной “тяжести” — обсудим ваш кейс в Nahornyi AI Lab. Я, Vadym Nahornyi, отвечаю за архитектуру, безопасность и измеримый бизнес-эффект внедрения.

Share this article