Skip to main content
AI AgentsSecurityPython

Monty від Pydantic: як безпечно виконувати LLM-код без контейнерів

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

Технічний контекст

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;
  • екосистема навколо ще не усталилася: спостерігаємо, тестуємо, закладаємо можливість відкату.

Вплив на бізнес та автоматизацію

Головний ефект 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, ви повернете вразливості назад, тільки іншим шляхом.

Як це впливає на архітектуру ШІ-рішень

У практичній архітектурі ШІ з'являється новий шар: Execution Sandbox між LLM і вашими системами (даними, моделями, ERP/CRM, файловими сховищами). Архітектурно це означає:

  • Політика дозволів як код: список зовнішніх функцій — це ваш контракт безпеки. Його можна версіонувати, тестувати та рев'юїти.
  • Спостережуваність: можна логувати всі виклики external functions, параметри, час виконання, помилки — і будувати ризик-скоринг дій агента.
  • Спрощення деплою: менше залежності від контейнерів у “кожному кроці”, потенційно нижча латентність і вартість для high-QPS агентних потоків.

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

Експертна думка: 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