NVIDIA Open-Sources NOOA: A Pythonic Framework for Building AI Agents

NVIDIA open-sourced NOOA, a framework that turns AI agents into typed Python classes with SOTA agentic benchmarks. Here's what it means for builders.

NVIDIA Open-Sources NOOA: A Pythonic Framework for Building AI Agents

By Hadidiz Flow Team • August 9, 2026 • AI

Your AI Agents Are About to Look Like Regular Python Again

Most agent frameworks force you to juggle four separate things: a prompt template, a tool schema, a callback function, and a workflow graph. Change one and you have to remember to update the other three. NVIDIA just open-sourced a framework that collapses all of it into a single Python class — and early benchmark numbers suggest the simplification isn't costing anything in capability.

The framework is called NOOA (NVIDIA-labs Object-Oriented Agents), released under Apache 2.0 as part of NVIDIA's contribution to the Open Secure AI Alliance. It's a genuinely different way to think about building agents, and it's worth understanding even if you're not planning to switch frameworks this quarter.

What NOOA Actually Changes

In NOOA, an agent is a Python class. That's the whole pitch, and it's more radical than it sounds:

  • Fields hold state. Your order database, your user session, your conversation history — they're just typed attributes on the object, the way they'd be in any other Python class.
  • Methods are capabilities. A method with a normal function body behaves exactly like regular Python — deterministic, testable, debuggable with a standard debugger.
  • A method with a ... body is agentic. The runtime hands that method to an LLM at call time. The method's type-annotated signature becomes the contract the model has to satisfy, and the docstring becomes the prompt.

Here's the shape of it:

from nooa import Agent

class SupportAgent(Agent):

"""You are a support agent."""

order_db: OrderDB

def is_refund_eligible(self, order: Order) -> bool:

return order.delivered and order.days_since_delivery <= 30

async def triage(self, message: str, order: Order) -> Ticket:

"""Create a typed support ticket."""

...

is_refund_eligible runs like any Python method. triage gets executed by an LLM-driven loop, constrained by the Ticket return type. Both live on the same object, can call each other, and can be tested, traced, and version-controlled the same way.

Why the Object-Oriented Framing Matters

The pitch isn't just aesthetic. Splitting an agent across prompt files, JSON tool schemas, and orchestration YAML makes agents hard to refactor and even harder to reason about as a team scales past one or two engineers. Anyone who's tried to onboard a new developer onto a LangGraph or CrewAI codebase has felt this — you're teaching them a bespoke DSL on top of Python, not just Python.

NOOA's answer is to let the model act by writing and executing Python in a Jupyter-style REPL, with access to self, imports, and helper functions. Type annotations do double duty as the callable interface the model uses — which means less hand-written tool-schema boilerplate to keep in sync with your actual code.

Practically, that also means standard software engineering habits transfer directly: unit tests around the deterministic methods, tracing on every LLM call and code execution by default (with a built-in trace viewer), and normal Python refactoring tools instead of framework-specific tooling.

The Benchmark Numbers

NVIDIA didn't just publish a framework — it published a paper with results. A NOOA-based agent reached 82.2% on SWE-bench Verified using GPT-5.5, and the framework posts state-of-the-art or near-state-of-the-art results across SWE-bench Verified, CyberGym (a cybersecurity capability benchmark), and ARC-AGI-3 reasoning tasks. The full methodology and evaluation numbers are in the accompanying research paper on arXiv.

It's also explicitly model-agnostic. NOOA ships with LiteLLM-backed support for Anthropic, OpenAI, local Ollama models, and self-hosted vLLM endpoints — so teams aren't locked into a single model vendor to use it.

A Real Caveat Worth Repeating

NVIDIA's own documentation is blunt about this: NOOA is research software, and agents built with it can execute LLM-generated code. The framework runs static checks and module deny-lists, but explicitly says these are "defense-in-depth guardrails, not a containment boundary." Anything that lets a model write and run arbitrary Python needs to sit inside a sandboxed environment — a container, a VM, or NVIDIA's own OpenShell project — not directly on a machine with access to real credentials or a production filesystem. If you're evaluating this for client work, that sandboxing requirement isn't optional.

Who Should Care

If your team is building or maintaining agent workflows — whether that's an internal automation, a client-facing AI feature, or an agency-built solution on top of Claude, GPT, or an open-weight model — NOOA is worth a look for two reasons. First, the object-oriented model is a genuinely simpler mental model than graph-based orchestration once you're past a trivial single-tool agent. Second, it's coming from NVIDIA with real benchmark backing, not just a weekend side project, which usually means it'll keep getting maintained.

It won't replace every framework overnight, and picking it up mid-project isn't a small lift. But for new agent builds where the team already thinks in Python classes, it's a serious contender worth prototyping against whatever you're using today.

Key Takeaways

  • NVIDIA open-sourced NOOA (Apache 2.0), a framework that represents AI agents as single Python classes instead of separate prompts, tool schemas, and workflow graphs.
  • Methods with real bodies run as normal deterministic Python; methods with a ... body are handed to an LLM, constrained by their type signature.
  • NOOA posts strong results — 82.2% on SWE-bench Verified with GPT-5.5, plus competitive scores on CyberGym and ARC-AGI-3 — and supports Anthropic, OpenAI, Ollama, and vLLM out of the box.
  • NVIDIA explicitly warns this is research software: agent-generated code must run inside a sandbox, not directly on production machines.
  • For teams building agent workflows in Python already, NOOA is a strong candidate to prototype against your current framework.
Weekly newsletter

No spam. Just the latest news and tips, interesting articles, and exclusive interviews in your inbox every week.

Read our privacy policy
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Read more from our blog
We transform your idea into an App Professionally Quickly

Our cutting-edge features simplify collaboration and creativity, making your workflow intuitive and efficient. Transform your vision into reality effortlessly with Hadidiz Flow.