在传统的智能代理开发中,工作往往分散在提示模板、工具架构、回调代码和工作流图中。NVIDIA推出的面向对象代理(NOOA)为构建可靠的AI代理提供了一个模型无关的Python框架。NOOA采取了更简洁的方法:代理即为Python对象。其方法是模型可以采取的行动,字段是其状态,文档字符串是其提示,而类型注释则是契约。代码体为"..."的方法将在运行时由LLM驱动的代理循环完成,而具有正常代码体的方法仍然是标准确定性的Python。这使得开发者和代理拥有相同的接口,从而可以像其他软件一样测试、追踪、重构和改进代理行为。
本文的贡献主要有三点:
-
我们提出了将代理视为Python对象的编程模型及其设计原则。我们直接采用Python现有的抽象概念。代理特定的能力——上下文、事件、状态渲染、长期记忆和验证的LLM循环——通过简单的Pythonic API暴露,使开发者和代理共享一个熟悉的编程模型。
-
我们识别出六个面向模型的想法,NOOA是首次在单一表面上结合这些想法:类型化输入/输出、对实时对象的引用传递、代码作为行动、可编程循环工程、显式对象状态,以及用于上下文和事件的模型可调用的接口API。我们发现社区已经在多个想法上趋同,通常作为实验或部分特性,并通过比较来鼓励进一步的采用。
-
我们展示了当前模型有效地使用这一接口,无论是在针对能力的测试中,还是在代理和推理基准测试中,如SWE-bench Verified、Terminal-Bench 2.0和ARC-AGI-3。
博主点评: NOOA通过将代理视为Python对象,简化了智能代理的开发过程。这种方法不仅提高了可测试性和可维护性,也为开发者提供了一个统一的编程模型,有助于进一步推动AI代理的应用与发展。尤其是对模型调用的具体化处理,标志着AI开发迈向更高的抽象层次。