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 呼叫與程式碼執行的追蹤。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案