NVIDIA Open-Sources NOOA: Python Object-Oriented Framework for AI Agents
NVIDIA Labs released NOOA, an open-source agent framework that defines agents as single Python classes with type annotations. By passing live object references instead of text dumps, NOOA cuts agent token consumption by half on SWE-bench Verified while reaching 82.2% accuracy.
Impact: High
Why it matters
Engineers can build cleaner agent architectures that eliminate context compaction and cut LLM API costs by 50%.
TL;DR
- 01Pass tool outputs by reference in custom agent harnesses to preserve prompt cache hits.
- 02Eliminate context summarization pipelines by storing relational state in an external SQLite database.
- 03Structure agent tools and prompts directly inside typed Python classes for better unit testing.
Key facts
- SWE-bench Verified Score
- 82.2% (GPT-5.5, self-reported)
- Tokens per Task
- ~1.1M tokens (vs 2.2M baseline)
- ARC-AGI-3 RHAE Score
- 85.1% (GPT-5.6-sol)
- ARC-AGI-3 Cost per Game
- $13.30 - $17.85
Class-Based Agent Definition
In NOOA, agents are structured directly as Python classes where standard docstrings act as system prompts, typed fields represent persistent state, and ... method stubs signal runtime execution by the underlying LLM.
Pass-by-Reference Token Optimization
Instead of stringifying complex tool outputs into prompt contexts, NOOA passes live Python variables by reference. Models view bounded typed previews while the context window remains lightweight, achieving median sessions of 22k–72k tokens on 200k+ windows without summarization passes.
Performance Benchmarks
On SWE-bench Verified, NOOA with GPT-5.5 reached 82.2% accuracy using ~1.1M tokens across 29 LLM calls per task. On ARC-AGI-3, a single NOOA agent achieved 85.1% RHAE with GPT-5.6-sol at under $13.30 per game.
Try it in 2 minutes
class SupportAgent:
"""Customer support agent with relational memory."""
order_db: OrderDB
async def classify(self, message: str) -> TicketKind:
"""Classify customer message into ticket category."""
...python
✓ When to use
- Building complex multi-step Python agents that require precise execution and deterministic testing.
- Reducing token expenditure on large codebases by avoiding raw context serialization.
✕ When NOT to use
- Simple single-prompt LLM wrapper calls without state management.
- Non-Python tech stacks that cannot execute live Python runtime references.
What to do today
- Review NOOA agent harness design on GitHub.
- Refactor large text tool returns in your AI pipelines into reference handles.
- Implement SQLite-backed relational memory for multi-turn AI workflows.
Sources