Write an AI agent as a Python class: NVIDIA open-sources NOOA

Leave a method body as `...` and the model fills it at runtime; write real code and it stays plain Python. Apache-2.0, model-agnostic, installs via uv.

Nowline JUL 27 10:00 PM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • The `...` body is the whole trick

    In NOOA an agent is just a Python object: fields are its state, docstrings are its prompts, type annotations are its contracts. Any method you leave as `...` becomes an action the model runs at runtime; methods with real code stay deterministic Python.

  • One line to install, any model

    `uv add "nooa @ git+https://github.com/NVIDIA-NeMo/labs-OO-Agents.git@main"` and you're running — Apache-2.0 and model-agnostic. It ships a quickstart, worked examples, a trace viewer, and optional CLI, memory and eval sub-packages. A typed feedback-analyzer or research agent is a tonight-sized build.

  • Contracts, not prompt spaghetti

    The design rests on six ideas: typed inputs/outputs, pass-by-reference over live objects, code as action, programmable loop engineering, explicit object state, and model-callable harness APIs. You and the model share the same typed object, so agents break less on brittle string parsing.

  • The catch: it's a 'labs' drop

    This is research-stage from NVIDIA-NeMo — 14 stars, no stable release tag, git-install only, APIs may shift. The July 22 paper reports evaluating it on SWE-bench Verified, Terminal-Bench 2.0 and ARC-AGI-3, but treat it as a prototype tool, not production infra.