Building a great AI agent isn’t just about choosing the right models. The harness is the architecture surrounding the model. How it renders context, executes actions, manages state, and decides when a task is done shapes outcomes just as much as the model itself. Harness design alone can account for double-digit swings in benchmark results and significant differences in token cost, with the same underlying model.

NVIDIA Labs Object-Oriented Agents (NOOA) is an open-source research preview built on this insight. It has a Python framework, memory system, capability tests, and benchmark agents with code, data, and evaluations released so the community can reproduce, challenge, and build on these results.

An agent is a Python object

Agent development has involved coordinating multiple moving parts across prompt templates, tool schemas, callback code, and workflow graphs. NOOA takes a simpler approach: an agent is a single Python class. Its methods are its capabilities. Its fields are its state. Its docstrings are its prompts. Its type annotations are enforced contracts. A standard Python method whose body is an ellipsis (…) is completed at runtime by an LLM-driven loop. Method with a normal body run as ordinary, deterministic Python.