Nvidia发布NOOA(面向对象Agent)框架,将Agent开发简化至单个Python类,标志着Agent开发范式的重大转向;降低了构建复杂AI Agent的门槛。
Nvidia 上周发布 NOOA(面向对象的 Agent 框架)时,发出了一个明确的信号:围绕模型构建的 harness(框架层),其重要性可能不亚于模型本身。
Nvidia 将 NOOA 贡献给了 Open Secure AI 联盟——这是 Nvidia 上周牵头成立的一个行业组织,旨在构建和共享用于 AI 开发的开源及开放权重工具。
NOOA 的核心思想只有一个:一个 Agent 就是一个 Python 类。以下是 Nvidia 在其公告博客中的描述:
"Its methods are its capabilities. Its fields are its state. Its docstrings are its prompts. Its type annotations are enforced contracts. A standard Python method whose body is an ellipsis (…) is completed at runtime by an LLM-driven loop. Method with a normal body run as ordinary, deterministic Python."
(它的方法就是它的能力。它的字段就是它的状态。它的文档字符串就是它的 prompt。它的类型注解就是强制执行的契约。一个标准 Python 方法,如果方法体是省略号(…),则在运行时由 LLM 驱动的循环补全。方法体正常的则按普通确定性 Python 执行。)
通过将 Agent 的能力、状态和 prompt 汇聚到一个 Python 类中,Nvidia 正在努力解决 Agent 开发中碎片化这个棘手的问题。
这是 UST 首席 AI 架构师 Adnan Masood 博士经常看到的痛点。
"Harness 就是围绕模型的所有东西,"Masood 在接受 The New Stack 采访时表示。"如今它按设计分散在各处。基于 LangGraph 或 AutoGen 构建的团队,通常把 prompt 放在 Jinja 模板里,工具定义放在 JSON Schema 里,回调放在 Python 里,工作流则画成图放在另一种抽象层里。"
Nvidia 的思路是让 Agent 开发更接近传统软件开发,这样人类和 AI 编码 Agent 都能用熟悉的编码工具来检查和管理 Agent,从而使测试和追踪 Agent 行为变得更简单。
Masood 认为,Nvidia 用 NOOA 将能力、状态和 prompt 封装进一个 Python 类,是迈出了有意义的一步。但其他专家的看法更为谨慎。
IBM 解决方案架构师 Karthik Karunanithi 认同,将工作流图、prompt 模板、Schema 和回调汇聚到一个 Python 类中确实是实实在在的改进,但他同时告诉 The New Stack,他担心这样做可能会引入新的审查问题,因为"在这个类里,一个方法用 … 在运行时由模型补全,而下一个方法就是普通 Python。"
由于两者具有相同的签名、缩进和文档字符串,Karunanithi 质疑:未来可能更难区分确定性代码和概率性行为。
当被问及 NOOA 如何帮助测试和追踪 Agent 行为时,Thine 和 Merlin AI 的联合创始人 Siddhartha Saxena 给 Nvidia 打了分,因为 NOOA 在单一 Python 类中使用了类型化输入/输出,为 Agent 调用带来了结构化。
Saxena 告诉 The New Stack,真正的挑战在于活动规模扩展到数百万次工具调用时。对此,他认为测试 Agent 轨迹本质上是一个可观测性问题,不是 NOOA 这样的框架能单独解决的。
将 Agent 的能力、状态和 prompt 汇聚到一个 Python 类,可能让检查其行为变得更容易。但将逻辑集中到一处也引发了关于安全的新问题。
"一个状态可读、运行留下可检查轨迹的 Agent,要比逻辑分散在 prompt 文件和零散脚本中的 Agent 更容易审计。"
从宏观角度看,Saxena 将集中化视为净收益,认为它让 Agent 代码更具可读性和可维护性。但他同时指出,这种可读性可能伴随一个权衡:"显然,如果一样东西对人类可读,那意味着它对'外星人'也是可读的。"
当被问及集中化 Agent 逻辑是改善了安全还是创造了新风险时,Masood 似乎认同 Saxena 的观点,他告诉 The New Stack两者可以同时成立:
"一个状态可读、运行留下可检查轨迹的 Agent,要比逻辑分散在 prompt 文件和零散脚本中的 Agent 更容易审计。"
但 Masood 补充说,NOOA 可能带来的另一个风险,在于该框架使用代码作为动作——允许模型通过编写和运行 Python 来执行操作。"这很强大,"他解释道,"同时也扩大了 prompt 注入的爆炸半径,即文档或网页中的恶意文本可以操纵模型。"
Karunanithi 也回应了这个权衡,承认集中化让 Agent 逻辑更容易理解,但也集中了风险。和 Masood 一样,他也强调了沙箱化的必要性,以及为每个 Agent 配备范围受限的凭证和独立身份。
值得注意的是,在生产部署方面,Nvidia 将 NOOA 与 Nvidia OpenShell 安全运行时配对使用。
Nvidia 在解释 NOOA 发布时认为,harness 设计在 Agent 性能中扮演着重要角色,并声明:"仅凭 harness 设计,在相同底层模型的情况下,就可以造成基准测试结果的双位数波动,并显著影响 token 成本。"
它用三个基准测试的结果支撑这一说法。在 SWE-bench Verified 上,NOOA 使用 GPT-5.5 达到了 82.2%,每个任务消耗 29 次 LLM 调用和约 110 万 token。Nvidia 表示,对比的 harness 需要 66 次调用和 220 万 token 才能达到 78.2%,或 29 次调用加 130 万 token 达到 78.6%。该公司将这一结果描述为"以大约一半的成本实现持平或更优"。
"Harness design alone can account for double-digit swings in benchmark results and significant differences in token cost, with the same underlying model." (仅凭 harness 设计,在相同底层模型的情况下,就可以造成基准测试结果的双位数波动,并显著影响 token 成本。)
在漏洞重新发现基准测试 CyberGym L1 上,NOOA 使用 GPT-5.5 解决了 86.8% 的任务。在 ARC-AGI-3(一个通用推理基准测试)上,它达到了 50.2% 的平均 RHAE。
当被问及框架的基准测试结果对开发者意味着什么时,Karunanithi 提醒不要过度泛化。他说,SWE-bench Verified、CyberGym L1 和 ARC-AGI-3 作为基准测试都很有用,因为它们有程序化的 oracle,但他同时指出,它们与大多数受监管的生产系统大不相同,"在这些生产系统中,没有人能在运行时告诉你一个保险理赔、访问决策或合规判断是否真的正确。"
但看起来 Nvidia 追求的似乎不只是更好的基准测试分数。正如 Nvidia 杰出研究科学家 Paul Furgale 在 LinkedIn 上发布的:
"我们这样做,是因为我们相信开放 AI 的未来不仅仅取决于开放模型。它还取决于关于这些模型如何与计算机交互的开放研究。"
Furgale 表示,该公司并不指望所有人都采用 NOOA,但它鼓励开发者社区采用、挑战并改进其技术。