ChatPaper.aiChatPaper

NVIDIA-labs OOエージェント: ネイティブPythonオブジェクト指向エージェント

NVIDIA-labs OO Agents: Native Python Object-Oriented Agents

July 22, 2026
著者: Paul Furgale, Severin Klingler, James Nolan, Matt Staats, Gaia Di Lorenzo, Elisa Martinez Abad, Christian Schüller, Razvan Dinu, Alessio Devoto, Pascal Berard, Gal Kaplun, Elad Sarafian, Riccardo Roveri, Leon Derczynski, Ricardo Silveira Cabral
cs.AI

要旨

従来のエージェント開発は、プロンプトテンプレート、ツールスキーマ、コールバックコード、ワークフローグラフに分割されていました。本稿では、信頼性の高いAIエージェントを構築するためのモデル非依存なPythonフレームワークであるNVIDIA Object-Oriented Agents(NOOA)を提案します。NOOAはよりシンプルなアプローチを採用します。すなわち、エージェントはPythonオブジェクトです。そのメソッドはモデルが実行可能なアクション、フィールドはその状態、ドキュメント文字列はプロンプト、型アノテーションは契約を表します。コード本体が「…」で構成されるメソッドは、LLM駆動のエージェントループによって実行時に完了します。一方、通常の本体を持つメソッドは標準的な決定論的Pythonのままです。これにより、開発者とエージェントが同一のインターフェースを共有するため、エージェントの振る舞いは他のソフトウェアと同様にテスト、トレース、リファクタリング、改善が可能になります。 本稿は3つの貢献を行います。(1) エージェント・アズ・ア・Pythonオブジェクトのプログラミングモデルとその背後にある設計原則を示します。Pythonに既存の抽象化がある場合、それを直接採用します。エージェント固有の機能(コンテキスト、イベント、状態レンダリング、長期記憶、検証済みLLMループ)は、シンプルでPython的なAPIを通じて公開されるため、開発者とエージェントの両方が一つのなじみ深いプログラミングモデルを共有します。(2) 我々の知る限り、NOOAが単一のインターフェース上で初めて組み合わせた6つのモデル向けアイデアを特定します:型付き入出力、ライブオブジェクトに対する参照渡し、アクションとしてのコード、プログラム可能なループ工学、明示的なオブジェクト状態、コンテキストとイベントのためのモデル呼び出し可能ハーネスAPIです。これらのアイデアのいくつかは、すでにコミュニティが実験的または部分的な機能として収束しつつあることを確認しており、さらなる採用を促すために比較を示します。(3) 現在のモデルがこのインターフェースを効果的に利用することを、対象を絞った能力テスト、およびSWE-bench Verified、Terminal-Bench 2.0、ARC-AGI-3などのエージェント的・推論的ベンチマークにおいて実証します。
English
Traditional agent development is split across prompt templates, tool schemas, callback code, and workflow graphs. We present NVIDIA Object-Oriented Agents (NOOA), a model-agnostic Python framework for building reliable AI agents. NOOA takes a simpler approach: an agent is a Python object. Its methods are the actions the model can take, fields are its state, docstrings are its prompts, and its type annotations are contracts. A method whose code body consists of "..." is completed at runtime by an LLM-driven agent loop, while methods with normal bodies remain standard deterministic Python. This gives developers and agents the same interface, so agent behavior can be tested, traced, refactored, and improved just like other software. This paper makes three contributions. (1) We present the agent-as-a-Python-object programming model and the design principles behind it. Where Python has existing abstractions, we adopt them directly. Agent-specific capabilities--context, events, state rendering, long-term memory, and validated LLM loops--are exposed through simple Pythonic APIs, so both developers and agents share one familiar programming model. (2) We identify six model-facing ideas that NOOA is, to our knowledge, the first to combine on a single surface: typed input/output, pass-by-reference over live objects, code as action, programmable loop engineering, explicit object state, and model-callable harness APIs for context and events. We find the community already converging on several of these ideas--often as experimental or partial features--and present the comparison to encourage further adoption. (3) We demonstrate that current models use this interface effectively, both in targeted capability tests and on agentic and reasoning benchmarks such as SWE-bench Verified and Terminal-Bench 2.0 and ARC-AGI-3.