NVIDIA-labs OO Agents: Native Python Object-Oriented Agents

Paul Furgale, Severin Klingler, James Nolan, Matt Staats, Gaia Di Lorenzo +10 more
7/22/2026
cs.AIcs.CL

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

Traditional agent development is split across prompt templates, tool schemas, callback code, and workflow graphs. We present NVIDIA Object-Oriented Agents (NOOA), a model-agnostic Python framework for building reliable AI agents. NOOA takes a simpler approach: an agent is a Python object. Its methods are the actions the model can take, fields are its state, docstrings are its prompts, and its type annotations are contracts. A method whose code body consists of "..." is completed at runtime by an LLM-driven agent loop, while methods with normal bodies remain standard deterministic Python. This gives developers and agents the same interface, so agent behavior can be tested, traced, refactored, and improved just like other software. This paper makes three contributions. (1) We present the agent-as-a-Python-object programming model and the design principles behind it. Where Python has existing abstractions, we adopt them directly. Agent-specific capabilities--context, events, state rendering, long-term memory, and validated LLM loops--are exposed through simple Pythonic APIs, so both developers and agents share one familiar programming model. (2) We identify six model-facing ideas that NOOA is, to our knowledge, 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 for context and events. We find the community already converging on several of these ideas--often as experimental or partial features--and present the comparison to encourage further adoption. (3) We demonstrate that current models use this interface effectively, both in targeted capability tests and on agentic and reasoning benchmarks such as SWE-bench Verified and Terminal-Bench 2.0 and ARC-AGI-3.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{furgale2026nvidialabs,
  title  = {NVIDIA-labs OO Agents: Native Python Object-Oriented Agents},
  author = {Paul Furgale and Severin Klingler and James Nolan and Matt Staats and Gaia Di Lorenzo and Elisa Martinez Abad and Christian Schüller and Razvan Dinu and Alessio Devoto and Pascal Berard and Gal Kaplun and Elad Sarafian and Riccardo Roveri and Leon Derczynski and Ricardo Silveira Cabral},
  year   = {2026},
  eprint = {2607.20709},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2607.20709v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2607.20709.svg)](https://codeofpaper.com/paper/2607.20709)

Discussion