NVIDIA-NeMo/labs-OO-Agents

NVIDIA Object Oriented Agents: the Pythonic way to build AI Agents.

解决的问题

NOOA 通过将提示、工具、能力与状态统一到一个 Python 类中,提供了一种更直观、更符合 Python 风格的构建 AI 代理的方法。它消除了将这些内容作为独立抽象进行管理的需要,使开发者能够使用熟悉的软件工程实践(如类型注解、文档字符串和面向对象编程)来定义代理行为。

工作原理

该框架将代理视为 Python 对象。它采用一种独特的方法,将方法体为空(...)的函数指定为“生成方法”,由 LLM 在运行时实现。

  • 提示作为文档字符串:代理的文档字符串和方法文档字符串充当提示。
  • 能力作为方法:Python 方法定义代理的工具和接口。
  • 状态作为字段:对象上的类型字段存储代理的状态。
  • 代码作为动作:模型通过在 Jupyter 风格的 REPL 中编写 Python 代码与环境交互,直接访问 self 和其他辅助工具。

适用人群

希望使用标准软件开发工作流(测试、追踪、重构)和通过 LiteLLM 支持多种 LLM 的模型无关框架的 Python 开发者。

主要亮点

  • 面向对象接口:在单个类中统一状态、提示和工具。
  • LLM 驱动的方法:可无缝混合确定性 Python 代码与 LLM 生成的逻辑。
  • CodeAct 工作流:使用 Python REPL 执行工具调用,减少手动定义工具模式的需要。
  • 模型无关:支持多种托管和本地模型(如 Claude、GPT、Ollama、vLLM)。
  • 集成追踪:通过专用 CLI 和查看器,内置支持 LLM 调用和代码执行的追踪。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目