NVIDIA Labs、AI エージェントを単一クラスに変換する Python フレームワーク「NOOA」を公開
本文の状態
日本語全文を表示中
詳細モードで約8分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
NVIDIA Labs は AI エージェント開発を単一の Python クラスに集約するオープンソースフレームワーク「NOOA」を公開し、従来の複雑な構成を簡素化してテストやバージョン管理を可能にした。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るAI深層分析を開く2026年8月8日 06:31
AI深層分析
キーポイント
Python クラスによるエージェント設計の統一
プロンプトテンプレート、ツールスキーマ、コールバックコードなどを単一の Python クラスに集約し、メソッドをアクション、フィールドを状態として定義する。
LLM 駆動ループと型安全性の融合
メソッドの実行体を LLM ドライブループで補完しつつ、型注釈でランタイムが強制する契約を設け、開発者とモデルが共通インターフェースを共有する。
高いベンチマーク性能とトークン効率
SWE-bench Verified で 82.2%、CyberGym L1 で 86.8% のスコアを獲得し、比較対象のオープンハッチェスと比較して約半分のトークンで動作する。
OS レベルでの隔離とデプロイ要件
LLM が生成したコードの実行を安全に行うため、コンテナ、VM、または NVIDIA OpenShell による OS レベルの隔離が必須であり、防御策は包括的だが完全なバリアではない。
6 つの機能を統合した型安全な Python フレームワーク
NOOA は型付き入出力、生オブジェクト参照渡し、コードをアクションとして扱う機能など 6 つの概念を初めて組み合わせた。これによりエージェントは単一の Python クラスとして実装され、メソッドがアクション、フィールドが状態、ドキュメントストリングがプロンプトとなる。
重要な引用
NOOA collapses all of it into one Python class.
NVIDIA reports 82.2% on SWE-bench Verified, 86.8% on CyberGym L1, and 85.1% mean RHAE on ARC-AGI-3 — at roughly half the tokens of the open harnesses it was compared against.
The containment boundary is a container, a VM, or NVIDIA OpenShell.
An agent is one Python class—methods are actions, fields are state, docstrings are prompts, annotations are enforced contracts.
編集コメントを表示
編集コメント
エージェント開発の複雑さを解消する画期的なアプローチであり、ソフトウェア工学の原則を AI エージェントに適用した事例として注目される。ただし、生成コードの実行には厳格な環境隔離が必須であるため、実装時のセキュリティ設計への配慮が不可欠である。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
NVIDIA Labs は、AI エージェント構築のためのモデル非依存な Python フレームワーク「NOOA(NVIDIA Object-Oriented Agents)」をオープンソース化しました。現在のエージェント開発は、プロンプトテンプレート、ツールスキーマ、コールバックコード、ワークフローグラフなど、複数の要素に分散しています。しかし NOOA はこれらすべてを単一の Python クラスに統合します。
メソッドはモデルが実行可能なアクションを定義し、フィールドはエージェントの状態を表します。ドキュストリング(Docstrings)はプロンプトとして機能し、型注釈はランタイムが強制する契約となります。本体が ... で記述されたメソッドは、LLM 駆動のループによって実行時に完成しますが、通常の本体を持つメソッドは決定論的な Python コードとして動作します。これにより開発者とモデルが共通のインターフェースを共有するため、エージェントの挙動は通常のソフトウェアと同様にテスト・トレーシング・リファクタリング・バージョン管理が可能になります。
NVIDIA によると、SWE-bench Verified では 82.2%、CyberGym L1 では 86.8%、ARC-AGI-3 の平均 RHAE は 85.1% を達成しました。これは比較対象となったオープンなハーン(harnesses)の約半分しかトークンを使用していないという結果です。
実用化は可能でしょうか?
はい、ただし OS レベルでの隔離環境内に限られます。NOOA は Apache 2.0 ライセンスで提供され、pip install nooa でインストール可能です(バージョン 0.0.8、2026 年 7 月 30 日リリース)。Python 3.12〜3.13 が必要です。
PyPI ではアルファ版として分類されており、NVIDIA はこれを研究プレビューと位置付けています。エージェントは LLM が生成したコードを実行できますが、NVIDIA は明確に「AST チェックやモジュールの拒否リスト(deny-list)は防御的多層化(defense-in-depth)のガードレールであり、完全な隔離境界ではない」と述べています。
実際の隔離境界となるのはコンテナ、VM、または NVIDIA OpenShell です。モデルは LiteLLM を通じてプラグ可能となっており、ホスト API、Ollama、vLLM エンドポイントすべてが動作します。
企業レベルでは、AI ネイティブのスタートアップや中堅プラットフォームチームが社内エージェントを構築するケース、エンタープライズ AI プラットフォームや応用研究グループが評価やパイロット運用を行うケースで利用可能です。規制対象となる本番環境でのワークロードについては、安定版リリースまで待機することをお勧めします。
主要な活用分野は、開発者向けツール、サイバーセキュリティ、クラウドと DevOps、データ分析、金融サービス運営、カスタマーサポートです。
具体的なユースケースとしては、リポジトリの課題整理とパッチ適用、ターミナルおよびインフラの自動化、脆弱性検証パイプライン、メモリ内データに対する大量バッチ分類・抽出、型安全なマルチエージェントオーケストレーションなどが挙げられます。
エージェントは Python オブジェクトである
NVIDIA Labs は、モデルに依存しない Python フレームワーク「NOOA(NVIDIA Object-Oriented Agents)」をリリースしました。従来のエージェント開発では、プロンプトテンプレート、ツールスキーマ、コールバック、ワークフローグラフなどソースコードが分散しがちですが、NOOA はこれらを単一のクラスに統合します。
メソッドはモデルが実行可能なアクション、フィールドは状態を表し、ドキュストリング(Docstrings)はプロンプトとして機能します。型注釈はランタイムによって強制される契約です。本体が...で記述されたメソッドはアジェンティック・メソッドとなり、LLM 駆動のループによって実行時に完成します。一方、通常の本体を持つメソッドは決定論的な Python コードとして残り、モデルがツールとして呼び出すことができます。
実装には2つの戦略が用意されています。「PredictStrategy」は、検証失敗時にローカルでリトライを行う単一の型付き LLM 呼び出しです。「CodeActStrategy」は、モデルが execute_python(...) を呼び出して反復的な Python REPL を実行し、最終的に return_result(...) を返すまで続ける方式です。この結果は、戻り値の注釈に対して検証されます。
1 つのインターフェースに集約された 6 つの機能
研究チームは、これまでにない組み合わせを実現する 6 つのモデル指向のアイデアを特定しました。具体的には、「型付きの入出力」「生オブジェクトへの参照渡し」「コードによるアクション定義」「プログラム可能なループ設計」「明示的なオブジェクト状態管理」、そして「モデルから呼び出せるハッチェス API」です。NVIDIA は、LangGraph、Google ADK、PydanticAI、smolagents、Claude Agent SDK、OpenAI Codex、OpenHands など 14 のフレームワークとハッチェスを同様の基準で評価しましたが、他社製品ではこれらの機能の一部しかカバーできていないという結果でした。
なかでも「参照渡し」が最も重要な役割を果たしています。引数は生きた Python オブジェクトとして渡され、モデル側には具体的な型や実際の長さ、先頭と末尾のサンプルを含む限定的なプレビューのみが表示されます。100 要素のリストは約 30 トークンで表現される一方、変数全体は REPL(対話実行環境)内に保持されます。コンテキストは、キャッシュ可能な静的プレフィックス、追加型で型付きのイベント履歴、そして末尾に配置される動的ブロックに分割されています。この構成により、ターン間での KV キャッシュの再利用が維持されます。
オプションのメモリサブシステムは、変更を加えないエージェントにも接続可能です。7 つのモデル呼び出し対応ツールが、ACT-R 活性化に基づいてランク付けされたレコードの書き込みと検索を担います。これらすべては、人間が直接確認可能な単一の SQLite ファイルに格納されます。
パフォーマンス
能力テストでは、10 のモデルを対象に各 5 回ずつ、合計 88 回の試験を実施しました。その結果、4,400 件の記録のうち 4,309 件(97.9%)が合格しました。バッチ処理、エラー回復、分解機能を網羅した 6 つのファミリーからなるストレステストサブセットでは 84.7% が通過しましたが、小規模モデルと最先端モデルとの差は 3.2 ポイントから 23 ポイントに拡大することが確認されました。
エンドツーエンドで動作するベンチマーク非依存の 253 行のエージェントは、GPT-5.5 を高負荷(xhigh)で実行した際、SWE-bench Verified で 82.2% のスコアを達成しました。これは、OpenCode の 78.6%、PI の 78.2%、そして Opus 4.6 の 79.8% を上回る結果です。Terminal-Bench 2.0 では高負荷で 73.0% を記録し、PI の 60.7% や 68.5% を引き離しましたが、xhigh 設定では PI が 75.3% で首位に立ちました。一方、CyberGym L1 ではネットワーク接続を遮断した環境で 86.8% を達成し、これは報告されているオープンソース結果の中で最高水準です。また、ARC-AGI-3 では、ワンページのワールドモデルスキルを持つエージェントが GPT-5.5 で平均 RHAE 50.2%、GPT-5.6-sol で 85.1% を達成し、ゲームあたりのコストは 20 ドル未満に抑えられました。
より興味深いのは効率性です。NOOA は、各タスクあたり約 1.1M トークンと 28 回のモデル呼び出しで 82.2% のスコアを達成しました。これに対し、PI は 78.2% のスコアを得るために 2.2M トークンと 66 回の呼び出しが必要でした。トレース分析によると、検証された終了処理が貢献しています。OpenCode はモデルがツール呼び出しなしで応答した時点で停止しますが、NOOA は証拠を伴う型付きの TaskResult と検証コマンドを要求します。
Key Takeaways
エージェントは 1 つの Python クラスです。メソッドがアクション、フィールドが状態、ドキュメントストリング(docstrings)がプロンプト、注釈(annotations)が強制的な契約として機能します。
... メソッドの本体は LLM ループとなり、実装された本体はモデルが呼び出せる決定論的な Python コードのままです。
参照渡しにより、大規模データは REPL 上で生きた状態を維持するため、SWE-bench では文脈の圧縮(compaction)は不要でした。
比較対象となるオープンソースハーンよりも約半分のトークン数で、SWE-bench Verified で 82.2%、CyberGym L1 で 86.8% を達成しました。
Apache 2.0 ライセンスで pip インストール可能ですが、現在はアルファ版です。生成されたコードは必ず OS レベルの隔離環境内で実行してください。
論文、GitHub リポジトリ、技術ブログをチェックしましょう。また、Twitter でフォローしたり、15 万人以上の ML 専門家が参加する SubReddit に加入したり、ニュースレターを購読することもおすすめです。
さらに、Telegram を利用している方もいますか?今なら Telegram でもコミュニティに参加できます。
原文を表示
NVIDIA Labs has open-sourced NOOA (NVIDIA Object-Oriented Agents), a model-agnostic Python framework for building AI agents. Agent development today is split across prompt templates, tool schemas, callback code, and workflow graphs. NOOA collapses all of it into one Python class. Methods are the actions the model can take. Fields are agent state. Docstrings are prompts. Type annotations are contracts the runtime enforces. A method whose body is ... is completed at runtime by an LLM-driven loop, while a method with a normal body stays deterministic Python. Developers and models therefore share one interface, so agent behavior can be tested, traced, refactored, and version-controlled like ordinary software. NVIDIA reports 82.2% on SWE-bench Verified, 86.8% on CyberGym L1, and 85.1% mean RHAE on ARC-AGI-3 — at roughly half the tokens of the open harnesses it was compared against.
Is it deployable?
Yes, but only inside OS-level isolation. NOOA is Apache 2.0, installs with pip install nooa (v0.0.8, released July 30, 2026), and requires Python 3.12–3.13. PyPI classifies it as alpha, and NVIDIA describes it as a research preview. Agents can execute LLM-generated code, and NVIDIA states directly that its AST checks and module deny-lists are defense-in-depth guardrails, not a containment boundary. The containment boundary is a container, a VM, or NVIDIA OpenShell. Models are pluggable through LiteLLM, so hosted APIs, Ollama, and vLLM endpoints all work.
Company level: AI-native startups and mid-market platform teams building internal agents. Enterprise AI platform and applied-research groups running evaluations or pilots. Regulated production workloads should wait for a stable release.
Industries: developer tooling, cybersecurity, cloud and DevOps, data analytics, financial services operations, customer support.
Applications: repository issue triage and patching, terminal and infrastructure automation, vulnerability validation pipelines, large-batch classification and extraction over in-memory data, typed multi-agent orchestration.
An agent is a Python object
NVIDIA Labs released NOOA (NVIDIA Object-Oriented Agents), a model-agnostic Python framework for building agents. Traditional agent development splits source across prompt templates, tool schemas, callbacks, and workflow graphs. NOOA collapses that into one class.
Methods are the actions the model can take. Fields are state. Docstrings are prompts. Type annotations are contracts enforced by the runtime. A method whose body is ... becomes an agentic method, completed at runtime by an LLM-driven loop; a method with a normal body stays deterministic Python the model can call as a tool.
Two strategies ship. PredictStrategy is a single typed LLM call with a local retry loop on validation failure. CodeActStrategy runs an iterative Python REPL where the model calls execute_python(...) until it submits return_result(...), which is validated against the return annotation.
Six capabilities on one surface
The research team identifies six model-facing ideas it claims to be the first to combine: typed input/output, pass by reference over live objects, code as action, programmable loop engineering, explicit object state, and model-callable harness APIs. NVIDIA scored fourteen frameworks and harnesses—LangGraph, Google ADK, PydanticAI, smolagents, Claude Agent SDK, OpenAI Codex, OpenHands, and others—against the same axes, and reports partial coverage everywhere else.
Pass by reference is the load-bearing one. Arguments arrive as live Python objects; the model sees only a bounded preview with the concrete type, true length, and a head/tail sample. A hundred-element list renders in about thirty tokens while the full variable stays in the REPL. Context is split into a cacheable static prefix, an append-only typed event history, and dynamic blocks at the tail, which preserves KV-cache reuse across turns.
An optional memory subsystem attaches to an unmodified agent. Seven model-callable tools write and recall records ranked by ACT-R activation, all in one human-inspectable SQLite file.
Performance
Capability tests ran 88 tests five times across ten models: 4,309 of 4,400 records passed (97.9%). A six-family stress subset covering batching, error recovery, and decomposition passed 84.7%, where the gap between small and frontier models widens from 3.2 to 23 points.
End-to-end, a benchmark-agnostic 253-line agent reaches 82.2% on SWE-bench Verified with GPT-5.5 at xhigh effort, against 78.6% for OpenCode and 78.2% for PI, and 79.8% with Opus 4.6. On Terminal-Bench 2.0 it reaches 73.0% at high effort versus 60.7% and 68.5%, though PI leads at xhigh with 75.3%. On CyberGym L1 it solves 86.8% with network access blocked, the top open-source result reported. On ARC-AGI-3, one agent with a one-page world-model skill reaches 50.2% mean RHAE with GPT-5.5 and 85.1% with GPT-5.6-sol, under $20 per game.
Efficiency is the more interesting result: 82.2% at roughly 1.1M tokens and ~28 model calls per task, against 2.2M tokens and 66 calls for PI at 78.2%. Trace analysis also credits validated termination—OpenCode stops when the model replies without a tool call, while NOOA requires a typed TaskResult carrying evidence and a verification command.
Key Takeaways
An agent is one Python class—methods are actions, fields are state, docstrings are prompts, annotations are enforced contracts.
A ... method body becomes an LLM loop; a real body stays deterministic Python the model can call.
Pass by reference keeps large data live in the REPL, so no context compaction was needed on SWE-bench.
82.2% SWE-bench Verified and 86.8% CyberGym L1 at roughly half the tokens of the compared open harnesses.
Apache 2.0 and pip-installable, but alpha—execute generated code only inside OS-level isolation.
Check out the Paper, GitHub Repo and Technical Blog. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post NVIDIA AI Releases NOOA: An Object-Oriented Python Framework That Turns an AI Agent Into a Single Python Class appeared first on MarkTechPost.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み