NVIDIA Labs, in collaboration with Hugging Face, has released a research paper introducing NVIDIA Object-Oriented Agents (NOOA), a model-agnostic Python framework that reimagines AI agent development. Instead of splitting logic across prompt templates, tool schemas, and workflow graphs, NOOA treats an agent as a single Python object: its methods are actions, fields are state, docstrings are prompts, and type annotations serve as contracts.
The framework allows developers to define agent behavior using familiar Python constructs. Methods with a body consisting of only "..." are completed at runtime by an LLM-driven agent loop, while methods with normal bodies remain deterministic Python. This means both developers and agents share the same interface, enabling testing, tracing, refactoring, and improvement just like any other software.
The paper makes three key contributions. First, it presents the agent-as-a-Python-object programming model, adopting existing Python abstractions and exposing agent-specific capabilities—such as context, events, state rendering, long-term memory, and validated LLM loops—through simple Pythonic APIs. Second, it identifies six model-facing ideas that NOOA is the first to combine on a single surface: typed input/output, pass-by-reference over live objects, code as action, programmable loop engineering, explicit object state, and model-callable harness APIs. Third, it demonstrates that current models use this interface effectively on benchmarks including SWE-bench Verified, Terminal-Bench 2.0, and ARC-AGI-3.
NOOA is model-agnostic and designed to work with any LLM. The framework is open-source and available on Hugging Face, with the paper and code released under the NVIDIA Labs umbrella.