
NOOA核心机制揭秘docstring变Prompt、类型注解变契约——Python开发者最省心的Agent框架【免费下载链接】labs-OO-AgentsNVIDIA Object Oriented Agents: the Pythonic way to build AI Agents.项目地址: https://gitcode.com/gh_mirrors/la/labs-OO-AgentsNOOANVIDIA Object Oriented Agents是英伟达开源的 Pythonic AI Agent 框架它把 Prompt 写进 docstring、把输出契约交给类型注解用一个 Python 类就能定义状态、能力与模型调用边界是 Python 开发者上手 LLM Agent 最省心的选择。为什么 NOOA 是最省心的 AI Agent 框架传统 Agent 框架把 Prompt、工具、回调、工作流拆成一堆独立抽象你需要手写工具 schema、拼提示词模板、维护链式调用图。而 NOOA 的核心思想只有一句话Agent 就是一个 Python 对象字段是状态方法是能力docstring 是 Prompt类型注解是契约。对熟悉面向对象编程的开发者来说这意味着几乎零学习成本——不用画流程图、不用注册工具表、不用拼字符串你写的是自己天天在写的 Python 类。框架的核心理念见 docs/tour.md 的 10 分钟导览核心概念速查表在 docs/README.md。机制一docstring 变成 Prompt提示词即文档在 NOOA 中类 docstring 定义角色方法 docstring 定义任务框架在运行期自动把它们组装成系统提示词。官方 Quick Start 中的最小示例class FeedbackAgent(Agent, llmllm): 你是一名分析客户反馈的 Agent。 # 类 docstring 角色设定 async def analyze_feedback(self, text: str) - str: 在一句话内分析反馈的情绪与关键话题。 # 方法 docstring 任务指令 ...几个关键细节参数会自动展示给模型无需在 docstring 里写{text}占位符——框架已带尺寸控制地渲染入参重复插值反而会绕过节流并污染指令层可信实例配置可以用{self.属性}引用例如翻译 Agent 里写 Translate to {self.target_language}.改个方法名输出就变——你的方法名、参数和 docstring 本身就是 Prompt。Prompt 分层规则角色放类 docstring、任务放方法 docstring、数据走参数、跨轮事实放 Context 块完整梳理在 docs/concepts/prompts-and-context.md。机制二类型注解变成契约模型输出自动校验这是 NOOA 最省心的部分。返回值注解定义了调用方能拿到什么——拿到的不是未经验证的 JSON 字符串而是校验过的 Python 对象返回Triage一个 Pydantic 模型时框架会自动校验模型输出输出不符合注解框架把校验错误回传给模型并自动重试直到产出合法结果为止用Literal[billing, technical]这类注解模型只能从白名单里选业务规则天然不可逾越。类型契约与自动重试机制的详细设计见 docs/concepts/agents-and-methods.md 和实现源码 src/nooa/strategies/predict.py。机制三一个...LLM 接管方法实现NOOA 唯一的特殊语法是异步方法体末尾的省略号方法体是...→ 运行时由 LLM 驱动实现称为 generation method方法体有真实代码 → 保持确定性 Python一行不多。这意味着同一个类里可以同时存在会思考的方法和精确计算的方法两者互不干扰。设计原则是模糊判断交给 LLM精确规则留在 Python编排顺序用普通方法写死——可靠性由此而来。机制四普通方法自动变工具告别工具 schema 注册很多框架里给 Agent 加一个工具要额外写一套 JSON schema。NOOA 的做法是公开的普通方法天然就是工具。在默认的 CodeAct 策略下模型会在一个 Jupyter 风格的 Python REPL 里工作可以直接self.get_stock(item)调用任意可见方法、检查self上的活对象、迭代计算。框架通过doc(self)按需向模型披露能力清单渐进式披露大而敏感的内部状态可以设为私有模型看不见也就用不了。这套对象即工具、按引用传递活对象的工作流可在教程 notebook_tutorials/03_codeact_tools_and_live_objects.ipynb 中交互体验可见性规则全文在 docs/concepts/tools-and-visibility.md。策略怎么选Predict 一次判断CodeAct 迭代行动同一个方法两种实现方式调用方写法完全不变——策略只改变内部怎么跑策略适用场景执行模式PredictStrategy分类、抽取、单次生成即可完成的类型化任务结构化 LLM 请求 校验失败可重试CodeActStrategy默认需要调用工具、检查活对象、执行代码或迭代每轮 LLM 在独立 Python REPL 中行动循环直到产出通过类型校验一句话决策法能一次说清的用 Predict需要查一查、算一算、再想想的用 CodeAct。选型与配置细节见 docs/concepts/strategies.md。快速上手三步写出第一个 Agent安装pip install nooa或用 uvuv add nooa选模型get_llm_client(gpt-5-mini)兼容 OpenAI、Anthropic、Ollama、vLLM 等 LiteLLM 支持的所有模型本地模型指南见 docs/local-models.md定义类、调用方法直接运行官方首个示例 examples/quickstart/01_first_generation_method.py。每次 LLM 调用、代码执行、方法调用默认全链路追踪uv run nooa start-dev即可在浏览器里查看完整的调用树——调试 Agent 不再靠猜。追踪机制说明见 docs/concepts/tracing.md。谁适合选 NOOA✅ 熟悉 Python 面向对象、想让 Agent 融入现有工程体系测试、追踪、重构、版本管理的团队✅ 讨厌维护提示词字符串和工具 schema希望改代码即改行为的开发者✅ 需要强类型输出契约、自动重试、确定性编排的可靠型业务场景。延伸阅读与源码导航官方文档入口docs/README.md架构全解一次调用如何流经提示词组装、执行、校验、事件与追踪docs/architecture.mdNotebook 教程系列notebook_tutorials/README.md示例目录结构化输出、工具、策略、追踪、MCP 等可运行 Quick Startexamples/README.mdAgent 定义核心源码src/nooa/agent.py自动文档生成模块docstring → 模型可见描述src/nooa/agentdoc/策略实现目录Predict、CodeAct、PurePython、Reflexion 等src/nooa/strategies/⚠️ 安全提示NOOA 会执行 LLM 生成的 Python 代码官方建议始终在容器、VM 等操作系统级沙箱中运行 CodeAct Agent。安全边界说明见 docs/concepts/safety.md。【免费下载链接】labs-OO-AgentsNVIDIA Object Oriented Agents: the Pythonic way to build AI Agents.项目地址: https://gitcode.com/gh_mirrors/la/labs-OO-Agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考