NVIDIA发布NOOA框架 将AI代理封装为单一Python类
•1 阅读•4分钟•开源
NVIDIALLMPythonNOOA
•1 阅读•4分钟•开源
背景与定位
随着生成式AI的快速迭代,AI 代理的开发流程愈发繁杂:开发者需要在提示模板、工具模式、回调函数以及工作流图之间来回切换,导致代码难以维护、难以复用。NVIDIA Labs 在此背景下推出 NOOA(NVIDIA Object‑Oriented Agents),一个模型无关、面向对象的 Python 框架,旨在把整个代理系统浓缩为单一类,实现“代码即代理”。
核心设计
- 方法即动作:类的方法定义了模型可以执行的操作,运行时若方法体为
...,框架会启动 LLM 循环自动补全;若方法体为普通 Python 代码,则保持确定性。 - 字段即状态:类的属性保存代理运行时状态,支持类型注解进行运行时校验。
- Docstring 为 Prompt:方法的文档字符串直接作为提示注入模型,实现 Prompt‑as‑Documentation。
- 类型注解为合同:通过 Python 类型注解声明输入输出约束,框架在运行时强制执行,降低语义错误。
- 两种执行策略:
- PredictStrategy:单次 LLM 调用并在本地进行验证重试。
- CodeActStrategy:迭代 REPL,模型通过
execute_python(...)生成代码直至返回return_result(...),并依据返回注解完成验证。
性能基准
NOOA 在多项公开基准上表现突出:
- SWE‑bench Verified:82.2%(使用 GPT‑5.5),相较于 OpenCode(78.6%)和 PI(78.2%)均有明显提升。
- CyberGym L1:86.8% 解答率,成为公开结果中最高。
- ARC‑AGI‑3:在 GPT‑5.6‑sol 下实现 85.1% 的平均 RHAE,仅消耗约 1.1M token(约 28 次模型调用),相较于对手的 2.2M token 下降近 50%。
- 效率优势:在相同任务下,NOOA 使用的 token 数约为对手的一半,但成功率保持或提升。
这些数据说明,NOOA 通过 传引用(pass‑by‑reference) 将大对象保持在 REPL 环境中,避免了上下文压缩带来的信息损失,从而在代码密集型任务上取得优势。
适用场景与限制
- 适合对象:AI 原生初创企业、中型平台团队、企业内部研发组以及需要快速原型验证的学术实验室。
- 典型应用:仓库 Issue 自动分类与修复、终端与基础设施自动化、漏洞验证流水线、大批量数据抽取与分类、跨模型多代理协同。
- 部署约束:目前仅支持在 OS 级别隔离(容器、VM 或 NVIDIA OpenShell)下运行,代码执行的安全防护依赖 AST 检查与模块白名单,仍属于 Alpha 版,生产环境建议等待更稳定的发布。
社区与获取方式
NOOA 采用 Apache 2.0 许可,已在 PyPI 上发布(pip install nooa==0.0.8),支持 Python 3.12‑3.13。模型可通过 LiteLLM 接入 OpenAI、Anthropic、Claude、Mistral 等多家 LLM 提供商,兼容 Ollama、vLLM 等本地部署方案。NVIDIA 官方提供技术博客、论文链接以及 GitHub 仓库,欢迎社区提交 Issue 与 PR,共同完善该框架的安全与可扩展性。
关键结论:NOOA 将 AI 代理抽象为传统面向对象编程模型,显著提升了代码可测试、可追溯、可版本化的能力;在多项基准上展示了高效、低 token 消耗的竞争优势,预示着下一代 Agent 开发工具将更加贴近软件工程实践。
本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。