NVIDIA开源NOOA:面向对象Python框架,将AI Agent封装为单一类
NVIDIA开源NOOA框架,用面向对象方式将AI Agent封装为单一Python类,方法即动作、字段即状态、文档字符串即提示。在SWE-bench Verified上达82.2%,且token消耗减半。了解其设计、性能及中文开发者适用性。
一句话看懂
NVIDIA开源NOOA框架,用面向对象方式将AI Agent封装为单一Python类,方法即动作、字段即状态,在SWE-bench Verified上达82.2%且token消耗减半。
详细发生了什么
NVIDIA Labs开源了NOOA(NVIDIA Object-Oriented Agents),这是一个模型无关的Python框架,用来构建AI Agent。传统Agent开发分散在提示模板、工具schema、回调代码和工作流图里,而NOOA把它们全部收进一个Python类:方法是模型可执行的动作,字段是Agent状态,文档字符串是提示,类型注解是运行时强制执行的契约。方法体为...的方法由LLM循环在运行时完成,普通方法体则保持确定性Python,模型可以把它当工具调用。
NOOA提供两种策略。PredictStrategy是带本地重试循环的单一类型化LLM调用;CodeActStrategy运行迭代式Python REPL,模型调用execute_python(...)直到提交return_result(...),后者根据返回注解验证。框架支持按引用传递(pass by reference),参数作为活对象传入,模型只看到有界预览,从而节省上下文。上下文分成可缓存静态前缀、追加式类型化事件历史和尾部动态块,保留KV-cache复用。
性能方面,NOOA在SWE-bench Verified上达到82.2%(GPT-5.5,xhigh effort),对比OpenCode的78.6%和PI的78.2%;在CyberGym L1上达到86.8%(网络受限),为开源最佳;在ARC-AGI-3上使用GPT-5.6-sol达到85.1%平均RHAE,每局成本低于$20。效率上,82.2%的成绩只消耗约1.1M tokens和每任务28次模型调用,而PI在78.2%时消耗2.2M tokens和66次调用。
中文圈视角
NOOA对中文开发者有实际意义。首先,它通过LiteLLM支持多种模型后端,包括Ollama和vLLM,因此国内开发者可以用本地模型(如Qwen、DeepSeek)或通过代理访问OpenAI API,不必依赖特定云服务。其次,NOOA的面向对象设计降低了Agent开发门槛,适合已有Python经验的开发者,与国内流行的Agent框架(如MetaGPT、AutoGPT)相比,更强调类型安全和可测试性,可能吸引追求工程化的团队。
不过,NOOA目前是alpha版本,官方明确表示AST检查和模块拒绝列表只是纵深防御,并非安全边界,生成代码得在容器或VM里跑。国内开发者若用于生产,要注意合规风险,尤其是数据出境和内容安全。建议先在内部实验环境评估,等稳定版发布。另外,NOOA的文档和社区以英文为主,中文资源较少,但Apache 2.0许可允许自由使用和二次开发,国内团队可以基于它构建中文优化的Agent应用。
几条值得记住的细节
- NOOA通过
pip install nooa安装,v0.0.8版本发布于2026年7月30日,要求Python 3.12–3.13。 - 框架为Apache 2.0许可,但PyPI标记为alpha,NVIDIA称其为研究预览。
- 在效率测试中,NOOA在SWE-bench上使用约1.1M tokens和28次模型调用,对比PI的2.2M tokens和66次调用。
- 支持通过LiteLLM接入托管API、Ollama和vLLM端点,模型可插拔。
- 官方建议仅在OS级隔离环境(容器、VM或NVIDIA OpenShell)中执行生成代码。
一句话总结
NOOA将Agent开发简化为一门面向对象艺术,中文开发者可低成本上手,但生产部署需等待稳定版并注意安全隔离。