NVIDIA AI выпустила NOOA: объектно-ориентированный Python-фреймворк, превращающий AI-агента в один класс Python
Лаборатория NVIDIA открыла исходный код NOOA (NVIDIA Object-Oriented Agents) — не зависящего от модели фреймворка на Python для создания ИИ-агентов. Сегодня разработка агентов разделена между шаблонами промптов, схемами инструментов, кодом обратных вызовов и графами рабочих процессов. NOOA объединяет всё это в один класс Python. Методы — это действия, которые может выполнять модель. Поля — состояние агента. Докстринги — промпты. Аннотации типов — контракты, соблюдение которых обеспечивает среда выполнения. Метод, тело которого содержит ..., дополняется во время выполнения циклом под управлением LLM, а метод с обычным телом остаётся детерминированным кодом Python. Таким образом, разработчики и модели используют единый интерфейс, благодаря чему поведение агента можно тестировать, отслеживать, рефакторить и хранить под контролем версий, как обычное программное обеспечение. NVIDIA сообщает о результатах 82,2% в SWE-bench Verified, 86,8% в CyberGym L1 и среднем RHAE 85,1% в ARC-AGI-3 — примерно при вдвое меньшем количестве токенов, чем у открытых оболочек, с которыми проводилось сравнение.
Можно ли его развернуть?
Да, но только в изоляции на уровне ОС. NOOA распространяется по лицензии Apache 2.0, устанавливается с помощью pip install nooa (v0.0.8, выпущена 30 июля 2026 г.) и требует Python 3.12–3.13. PyPI классифицирует его как альфа-версию, а NVIDIA описывает его как исследовательскую предварительную версию. Агенты могут выполнять код, сгенерированный LLM, и NVIDIA прямо заявляет, что проверки AST и списки запрещённых модулей являются эшелонированными защитными мерами, а не границей изоляции. Границей изоляции служит контейнер, виртуальная машина или NVIDIA OpenShell. Модели подключаются через LiteLLM, поэтому работают API размещённых сервисов, Ollama и конечные точки vLLM.
- Уровень компаний: стартапы, создающие ИИ-native-продукты, и команды платформ среднего бизнеса, разрабатывающие внутренних агентов. Платформенные и прикладные исследовательские группы крупных компаний, проводящие оценки или пилотные проекты. Для регулируемых производственных нагрузок следует дождаться стабильного релиза.
- Отрасли: инструменты для разработчиков, кибербезопасность, облачные технологии и DevOps, аналитика данных, операционная деятельность в сфере финансовых услуг, поддержка клиентов.
- Применения: сортировка и исправление проблем в репозиториях, автоматизация работы с терминалом и инфраструктурой, конвейеры проверки уязвимостей, пакетная классификация и извлечение данных из находящихся в памяти наборов данных, типизированная оркестрация нескольких агентов.
Агент — это объект Python
Лаборатория NVIDIA выпустила NOOA (NVIDIA Object-Oriented Agents) — не зависящий от модели фреймворк на Python для создания агентов. Традиционная разработка агентов распределяет исходный код между шаблонами промптов, схемами инструментов, обратными вызовами и графами рабочих процессов. NOOA объединяет всё это в один класс.
Методы — это действия, которые может выполнять модель. Поля — состояние. Докстринги — промпты. Аннотации типов — контракты, соблюдение которых обеспечивает среда выполнения. Метод, тело которого содержит ..., становится агентным методом и дополняется во время выполнения циклом под управлением LLM; метод с обычным телом остаётся детерминированным кодом Python, который модель может вызывать как инструмент.
Поставляются две стратегии. PredictStrategy — это один типизированный вызов LLM с локальным циклом повторных попыток при ошибке валидации. CodeActStrategy запускает итеративный интерпретатор Python, в котором модель вызывает execute_python(...), пока не выполнит return_result(...); результат проверяется по аннотации возвращаемого типа.
Шесть возможностей на единой поверхности
Исследовательская группа выделяет шесть ориентированных на модель идей, которые, по её утверждению, впервые объединены вместе: типизированный ввод и вывод, передача по ссылке живых объектов, код как действие, программируемая разработка циклов, явное состояние объектов и API оболочки, доступные для вызова моделью. NVIDIA оценила четырнадцать фреймворков и оболочек — LangGraph, Google ADK, PydanticAI, smolagents, Claude Agent SDK, OpenAI Codex, OpenHands и другие — по одним и тем же направлениям и сообщает о частичном покрытии всех остальных возможностей.
Передача по ссылке — ключевой элемент системы. Аргументы поступают как живые объекты Python; модель видит лишь ограниченный предварительный просмотр с указанием конкретного типа, фактической длины и образца начала и конца. Список из ста элементов отображается примерно в тридцати токенах, тогда как полная переменная остаётся в интерпретаторе REPL. Контекст разделён на кэшируемый статический префикс, историю типизированных событий, доступную только для добавления, и динамические блоки в конце, что сохраняет повторное использование KV-кэша между шагами.
Необязательная подсистема памяти подключается к агенту без изменения его кода. Семь инструментов, доступных для вызова моделью, записывают и извлекают записи, ранжированные по активации ACT-R, в одном доступном для просмотра человеком файле SQLite.
Производительность
В рамках тестов возможностей десять моделей пять раз выполнили 88 тестов: пройдено 4 309 из 4 400 проверок (97,9%). Подмножество стресс-тестов из шести семейств, охватывающее пакетную обработку, восстановление после ошибок и декомпозицию, показало результат 84,7%; при этом разрыв между небольшими и передовыми моделями увеличивается с 3,2 до 23 процентных пунктов.
В сквозном тестировании не зависящий от бенчмарка агент размером 253 строки достигает 82,2% в SWE-bench Verified с GPT-5.5 при уровне усилий xhigh против 78,6% у OpenCode и 78,2% у PI, а также 79,8% с Opus 4.6. В Terminal-Bench 2.0 он достигает 73,0% при высоком уровне усилий против 60,7% и 68,5%, хотя PI лидирует при уровне xhigh с результатом 75,3%. В CyberGym L1 он решает 86,8% задач при заблокированном доступе к сети — это лучший заявленный результат среди решений с открытым исходным кодом. В ARC-AGI-3 один агент с навыком построения модели мира объёмом в одну страницу достигает среднего RHAE 50,2% с GPT-5.5 и 85,1% с GPT-5.6-sol при стоимости менее 20 долларов за игру.
Более интересным результатом является эффективность: 82,2% примерно при 1,1 млн токенов и около 28 вызовах модели на задачу против 2,2 млн токенов и 66 вызовов у PI при результате 78,2%. Анализ трассировок также отмечает завершение с валидацией — OpenCode останавливается, когда модель отвечает без вызова инструмента, тогда как NOOA требует типизированный TaskResult, содержащий доказательства и команду проверки.
Основные выводы
- Агент представляет собой один класс Python: методы — действия, поля — состояние, докстринги — промпты, аннотации — контракты, соблюдение которых обеспечивается системой.
- Тело метода
...превращается в цикл LLM; настоящее тело остаётся детерминированным кодом Python, который может вызывать модель. - Передача по ссылке сохраняет большие объёмы данных активными в REPL, поэтому в SWE-bench не потребовалось сжатие контекста.
- 82,2% в SWE-bench Verified и 86,8% в CyberGym L1 примерно при вдвое меньшем количестве токенов, чем у сравниваемых открытых оболочек.
- Apache 2.0 и установка через pip, но альфа-версия — выполняйте сгенерированный код только в изоляции на уровне ОС.
Ознакомьтесь с научной статьёй, репозиторием на GitHub и техническим блогом. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему субреддиту ML с аудиторией более 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы пользуетесь Telegram? теперь к нам можно присоединиться и в Telegram.
Хотите сотрудничать с нами для продвижения вашего репозитория на GitHub, страницы на Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.