Enterprise DNA

Omni by Enterprise DNA

Enterprise DNA Resources

Latest AI and industry news. Practical AI operating-system thinking for owners, operators, and teams doing real work.

220k+

Data professionals

Omni

AI agents and apps

Audit

Map the manual work

News Trending Research

NVIDIA NOOA: Build AI Agents With One Python Class

NVIDIA Labs released NOOA, a Python framework that turns AI agent development into standard software engineering - one class, half the tokens.

Enterprise DNA | | via MarkTechPost
NVIDIA NOOA: Build AI Agents With One Python Class

NVIDIA Labs published NOOA — NVIDIA Object-Oriented Agents — on August 7, and the Python developer community took notice immediately. The framework reached over 1,300 GitHub stars within days of release, not because of marketing, but because it solves a real frustration: building reliable AI agents has required stitching together orchestration layers, prompt templates, tool registries, and type validators that all live in separate files and break in different ways.

NOOA collapses all of that into a single Python class.

What NOOA Actually Does

The core idea is simple but consequential. In NOOA, an agent’s entire definition — its state, capabilities, prompts, and interfaces — lives in one Python object. Methods with a standard body run as deterministic code. Methods whose body is ... (an ellipsis, Python’s “not yet implemented” marker) are completed at runtime by a large language model.

That means developers and models share one interface. You write typed Python; NOOA handles the LLM calls, enforces the type contracts, and keeps execution traceable. The docstrings on your methods become the prompts the model sees. The type annotations become the validation rules it must satisfy.

Here is a simplified example of what that looks like in practice:

class ResearchAgent(Agent):
    topic: str
    findings: list[str] = []

    def search_web(self, query: str) -> list[str]: ...
    def summarize(self, sources: list[str]) -> str: ...
    
    def run(self):
        results = self.search_web(self.topic)
        self.findings.append(self.summarize(results))

The search_web and summarize methods are completed by the LLM at runtime. The run method stays deterministic Python. Both look identical to the caller.

Why This Architecture Matters

The agent development ecosystem has had a stacking problem. Developers reach for frameworks that add abstraction layers, but each layer introduces new failure modes, new debugging surfaces, and new concepts to learn. The result is systems that are hard to test, hard to version, and hard to refactor.

NOOA treats agent behavior as code, not configuration. Because agents are standard Python classes, you can unit test them, put them in version control, lint them, and extend them with inheritance. A junior developer who knows Python can read a NOOA agent definition and understand what it does. The same cannot be said for most orchestration frameworks that rely on YAML configs, decorator chains, or framework-specific primitives.

Model flexibility is built in. NOOA routes through LiteLLM, which means you can point it at any hosted API, a local Ollama instance, or a vLLM endpoint without changing agent code. For teams running air-gapped deployments or experimenting with open-weight models, that matters.

Performance Numbers

NVIDIA published benchmark results alongside the release. NOOA achieves 82.2% on SWE-bench Verified (software engineering tasks), 86.8% on CyberGym L1 (cybersecurity), and 85.1% mean score on ARC-AGI-3 — while using roughly half the tokens of comparable open-source harnesses on the same tasks.

Token efficiency is not a vanity metric. At current enterprise inference pricing, a framework that uses half the tokens on the same task directly reduces operating costs. For teams running agents at scale — handling thousands of daily tasks across support, analytics, or internal workflows — that difference compounds quickly.

A Note on Security

NOOA can execute LLM-generated Python code, and NVIDIA is explicit about the risks: a misconfigured agent can transmit private data, modify its environment, or delete files. For production deployments, the company recommends pairing NOOA with the NVIDIA OpenShell secure runtime, which sandboxes code execution.

This is not a dealbreaker, but it is a real consideration. Teams running agents in customer-facing environments or with access to sensitive data need to think carefully about what permissions they grant and what sandboxing they put in place. That work is not complex, but it has to happen.

What This Means for Business

For data teams building internal tools, NOOA significantly lowers the barrier to shipping working agents. A data analyst who writes Python can now build an agent that searches, summarizes, and reports without needing to learn a new framework from the ground up.

For engineering teams running production AI systems, the testing story is more important than the development story. Agents that live in Python classes can be covered by standard test suites. Teams can mock the LLM calls, validate the outputs, and catch regressions in CI like any other code change. That is not possible with most orchestration frameworks today.

For businesses evaluating AI agent platforms, NOOA signals that the underlying tooling is maturing. A year ago, building a reliable multi-step agent required picking a framework and living with its quirks. The ecosystem now includes production-grade, benchmarked options with commercial backing and open-source licenses.

The framework is available at github.com/NVIDIA-NeMo/labs-OO-Agents under the Apache 2.0 license. It requires Python 3.10 or later.


If your team is evaluating AI agent infrastructure or looking to train data professionals on agentic development patterns, Enterprise DNA’s learning platform covers Python, AI agents, and modern data workflows — from fundamentals through production deployment.

Working With Claude field guide cover

Free Resource

Going deeper with Claude?

Get the free 32-page implementation guide for ANZ teams.

No spam. Unsubscribe any time.