ARTICLE · 人工智能
NVIDIA AI 发布 NOOA:一种面向对象的 Python 框架,将 AI 智能体转化为单个 Python 类
一语总结NVIDIA 开源了 NOOA,这是一款面向对象的 Python 框架,将 AI 智能体建模为单个类,提示词写在 docstring 中,动作实现为方法,并在与对比框架相比约减半的 token 消耗下实现了强劲基准。
NVIDIA Labs 开源了 NOOA,这是一款模型无关的 Python 框架,将 AI 智能体表示为单个 Python 类,统一了提示词、工具模式、回调以及工作流图。方法定义模型动作,字段保存状态,docstring 用作提示词,运行时强制的类型注解充当合同;... 体的方法由 LLM 循环完成,而普通方法保持为确定性的 Python 工具。发布内容包括两种策略(PredictStrategy 和 CodeActStrategy)、对活跃对象的按引用传递处理、对上下文缓存友好的历史分割,以及可选的基于 ACT‑R 的记忆存储。NVIDIA 报告在 SWE‑bench Verified 上达到 82.2% ,在 CyberGym L1 上为 86.8% ,在 ARC‑AGI‑3 上的平均 RHAE 为 85.1% ,且所用 token 约为对比开放框架的一半。该框架采用 Apache 2.0 许可证,可通过 pip 安装,但仍处于 alpha 阶段;LLM 生成的代码应仅在 OS 级别隔离环境中运行。
- NOOA 将智能体建模为单个 Python 类,统一了提示词、工具和工作流。
方法是可被模型调用的动作,字段保存智能体状态,docstring 用作提示词,类型注解是运行时强制的合同,供开发者和模型共享。
- `...` 方法体会变成 LLM 循环,而普通方法体保持为确定性的 Python。
PredictStrategy 通过本地重试循环执行带类型的 LLM 调用;CodeActStrategy 在迭代式 Python REPL 中运行,模型调用 execute_python,直至提交经验证的 return_result。
- 按引用传递和上下文分割实现了大量 token 节省。
大型活跃对象保留在 REPL 中并有受限预览,上下文被划分为可缓存的静态块、带类型的事件块和动态块,保持 KV‑cache 在回合之间的复用。
- 基准表现强劲,但 NOOA 仍是 alpha 软件,需要 OS 级别的隔离。
NVIDIA 报告在 SWE‑bench Verified 上为 82.2% ,在 CyberGym L1 上为 86.8% ,但将 AST 检查和黑名单视为安全护栏,而非限制;应在容器、虚拟机或 OpenShell 中运行生成的代码。
NVIDIA AI 发布 NOOA:一种面向对象的 Python 框架,将 AI 智能体转化为单个 Python 类
NVIDIA Labs 开源了 NOOA,这是一款模型无关的 Python 框架,将 AI 智能体表示为单个 Python 类,统一了提示词、工具模式、回调以及工作流图。方法定义模型动作,字段保存状态,docstring 用作提示词,运行时强制的类型注解充当合同;... 体的方法由 LLM 循环完成,而普通方法保持为确定性的 Python 工具。发布内容包括两种策略(PredictStrategy 和 CodeActStrategy)、对活跃对象的按引用传递处理、对上下文缓存友好的历史分割,以及可选的基于 ACT‑R 的记忆存储。NVIDIA 报告在 SWE‑bench Verified 上达到 82.2% ,在 CyberGym L1 上为 86.8% ,在 ARC‑AGI‑3 上的平均 RHAE 为 85.1% ,且所用 token 约为对比开放框架的一半。该框架采用 Apache 2.0 许可证,可通过 pip 安装,但仍处于 alpha 阶段;LLM 生成的代码应仅在 OS 级别隔离环境中运行。
文章金句
"一个智能体就是一个 Python 类——方法是动作,字段是状态,docstring 是提示词,注解是被强制执行的合同。
"按引用传递使大型数据在 REPL 中保持活跃,因此在 SWE‑bench 上无需进行上下文压缩。
"隔离边界可以是容器、虚拟机或 NVIDIA OpenShell。