NVIDIA has open-sourced NOOA, a framework that represents AI agents as Python classes, combining prompts, state, tools and typed outputs in one programming model. The project is designed to distinguish LLM-driven decisions from deterministic code while reducing the need to place large datasets directly in model prom...
NVIDIA has released the NVIDIA Labs Object-Oriented Agent (NOOA) framework, an open-source Python project intended to make AI-agent development more explicit and structured.
According to NVIDIA’s Technical Blog, NOOA models an agent as a single Python class. In that model, class methods describe actions, fields retain state, docstrings supply instructions to the language model, and Python type annotations define expected inputs and outputs.
The approach aims to bring together elements that are often distributed across prompts, tool definitions, callbacks and workflow code. NVIDIA’s GitHub repository describes the framework as a way to express agent behavior using native Python objects and typed state.
A central feature of NOOA is its distinction between methods implemented by ordinary Python code and methods intended for LLM execution.
NVIDIA says developers can mark an empty method body with an ellipsis (...) to indicate that the method should be completed through an LLM loop at runtime. A method containing conventional Python implementation, by contrast, runs deterministically without requiring model inference.
That design makes the boundary between model-generated behavior and fixed application logic visible in the source code. For example, a developer could define a typed method for triaging a customer message and producing a support ticket, while retaining deterministic functions for validation, data access or other constrained operations.
The accompanying NOOA technical report describes this arrangement as an “agent-as-a-Python-object” model. NVIDIA argues that using familiar Python syntax may also reduce the burden of learning a separate domain-specific language for agent development.
NVIDIA also highlights a data-handling mechanism designed to avoid inserting complete datasets into model context windows. In its Technical Blog post, the company says that, when a method receives a collection, the model can be shown metadata and a limited preview rather than the entire object.
The underlying object remains available in the Python execution environment, allowing generated code to iterate through or manipulate the full dataset. This is intended to preserve structured data access while limiting prompt size.
Such an approach could be useful for tasks involving long lists, tables or other large in-memory objects, where sending every record to a model would be costly or exceed available context. The framework’s design relies on generated code operating against live Python objects rather than reconstructing structure from text files included in a prompt.
NVIDIA’s announcement says NOOA is available as an open-source project on GitHub. The repository includes examples of typed fields, deterministic methods and LLM-driven methods within the same class.
NVIDIA positions the release within its broader work on AI safety and security tooling, saying the project can bring advanced safety capabilities to agent harnesses. The available materials, however, primarily describe NOOA as a developer framework rather than a standalone safety system.
The project offers a practical alternative for teams that want to build LLM applications in Python while making prompts, state, output contracts and model-controlled steps easier to inspect in one place.
According to NVIDIA’s Technical Blog, NOOA models an agent as a single Python class.
In that model, class methods describe actions, fields retain state, docstrings supply instructions to the language model, and Python type annotations define expected inputs and outputs.
The approach aims to bring together elements that are often distributed across prompts, tool definitions, callbacks and workflow code.
Continue reading