10分钟上手NOOA:从零构建第一个Python AI Agent的完整指南
10分钟上手NOOA从零构建第一个Python AI 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是一个面向 Python 开发者的模型无关 AI Agent 框架。它最大的特点是一个 Agent 就是一个普通的 Python 类——字段是状态、方法是能力、docstring 是提示词、类型注解是契约。今天这篇文章将带你用 10 分钟从零构建并运行你的第一个 Python AI Agent并了解 NOOA 的核心设计思路与进阶学习路径。为什么选择 NOOA 构建 AI Agent传统的 Agent 框架往往把提示词、工具、回调、工作流拆成多个独立抽象学习成本高且难以维护。NOOA 提供了另一种面向对象的写法Agent 就是 Python 对象状态、能力、提示词都集中在一个类里✨...省略号即智能方法体写...就交给 LLM 在运行时实现写了真实代码体的方法则是确定性的普通 Python类型注解即契约返回值会自动按类型校验不合格可以自动重试开箱即用的追踪每次 LLM 调用、代码执行、方法调用都会被记录为 trace方便调试。这套设计让你可以用熟悉的 Python 测试、追踪、重构和版本管理流程来开发 Agent——就像管理你的其他软件一样。NOOA 快速安装3 条命令搞定环境NOOA 支持 Python 3.12 / 3.13推荐使用 uv 管理项目。打开终端执行uv init my-agent-project cd my-agent-project uv add nooa如果你需要额外的命令行工具、追踪查看器或长期记忆功能也可以按需安装子包uv add nooa-cli # nooa 命令 trace viewer uv add nooa-memory # 长期记忆子系统当然最经典的pip install nooa也完全可以。 如果想跟踪仓库最新源码可克隆仓库后在本地开发git clone https://gitcode.com/gh_mirrors/la/labs-OO-Agents然后运行uv sync --group dev。第一步选择一个 AI 模型NOOA 底层基于 LiteLLM因此几乎支持所有主流模型提供商——云端托管模型或本地模型都可以。在代码中用一行get_llm_client()即可创建模型客户端from nooa.unifiedllm.registry import get_llm_client llm get_llm_client(gpt-5-mini) # OpenAI需设置 OPENAI_API_KEY llm get_llm_client(claude-haiku-4-5) # Anthropic需设置 ANTHROPIC_API_KEY如果你想在本地跑开源模型如通过 Ollama 或 vLLM无需 API Key具体方法可参考 docs/local-models.md。第二步定义你的第一个 AI Agent 类这是全文最核心的一步。在 NOOA 中Agent 就是一个继承了Agent基类的 Python 类。下面是一个完整的客户反馈分析 Agentfrom nooa import Agent class FeedbackAgent(Agent, llmllm): You are an agent specializing in analyzing customer feedback. async def analyze_feedback(self, text: str) - str: Analyze customer feedback for sentiment and key topics in one sentence. ...就这么简单三个要点值得记住类的 docstring 是系统提示词告诉模型这个 Agent 的角色方法名 参数 方法 docstring 共同构成任务描述参数会自动传给模型不需要手写占位符方法体是...表示这个方法由 LLM 在运行时实现——这就是 NOOA 的生成方法generation method。想要看看这个最小示例的完整可运行版本可以直接阅读 examples/quickstart/01_first_generation_method.py。第三步运行 Agent看到 AI 的回答实例化对象、调用方法和普通 Python 调用没有任何区别import asyncio agent FeedbackAgent() result await agent.analyze_feedback(Great product, but shipping was slow) print(result)在仓库中直接运行内置示例需要先设置好模型提供商的环境变量uv run python examples/quickstart/01_first_generation_method.py试着把analyze_feedback改名为analyze_feedback_briefly输出风格就会随之变化——因为方法名本身就是提示词的一部分。进阶一普通方法自动变成工具NOOA 默认使用 CodeAct 策略LLM 会在一个 Jupyter 风格的 Python REPL 中工作它可以检查self、调用对象的普通方法、执行代码并迭代。也就是说你写的每个普通 Python 方法都天然是一个确定性工具无需再单独写工具 schema。例如对象上有一个get_stock()方法生成代码就能直接调用它来查库存。相关概念可参考 docs/concepts/tools-and-visibility.md以及 Notebook 教程 notebook_tutorials/03_codeact_tools_and_live_objects.ipynb。进阶二用类型注解定义结构化输出契约当结果需要被程序消费时用 Pydantic 模型作为返回类型即可。NOOA 会校验模型输出不合格会自动把错误反馈给模型重试。两种核心策略怎么选官方文档总结得很清楚策略适用场景执行方式PredictStrategy一次结构化的分类/提取即可完成任务单次 LLM 调用 校验重试CodeActStrategy默认需要调用工具、操作活对象、执行代码或迭代每轮 LLM 在一个 Python REPL 中执行代码详细对比见 docs/concepts/strategies.md。进阶三打开 Trace Viewer看清 Agent 的每一步每一次 LLM 调用、代码执行、方法调用默认都会生成 trace。安装 CLI 后启动本地追踪查看器就能在浏览器中查看完整的调用树uv run nooa start-dev # trace viewer 运行在 http://localhost:5001如果查看器没运行追踪会静默关闭无需任何配置。更多用法可参考 examples/quickstart/06_tracing.py。⚠️ 安全提示务必在沙箱中运行NOOA 是研究性质的软件且 Agent 可以执行 LLM 生成的代码。框架内置的 AST 校验和模块黑名单属于纵深防御不能替代真正的隔离。官方建议始终在容器、虚拟机等操作系统级沙箱中运行会执行生成代码的 Agent。更多细节见 docs/concepts/safety.md。下一步NOOA 学习路线图跑通第一个 Agent 后推荐按以下路径继续学习10 分钟框架巡游docs/tour.md —— 从一个会思考的方法讲到多 Agent 组合Notebook 教程notebook_tutorials/README.md —— 4 个由浅入深的交互式教程从第一个 Agent 到组合子 Agent示例目录examples/README.md —— 15 个快速上手示例覆盖结构化输出、策略选择、追踪、MCP、记忆、多模态等能力建议按 1–6 的顺序依次运行概念文档docs/README.md —— 按问题索引的概念指南策略、编排、多智能体系统、安全等核心源码src/nooa/ —— Agent 基类、策略实现、运行时与追踪模块都在这里。总结NOOA 的核心设计六条规则#规则含义1省略号...把一个方法委托给 LLM2真实代码体精确行为留在 Python 里3公开方法构成 Agent 可发现的能力面4返回类型把模型输出变成受校验的程序数据5策略为每个方法选择最轻量的执行循环6对象 Python组合成完整系统从今天开始你只需要一个 Python 类、一个...、一次await就能拥有自己的 AI Agent。打开 examples/quickstart/01_first_generation_method.py 跑起来吧【免费下载链接】labs-OO-AgentsNVIDIA Object Oriented Agents: the Pythonic way to build AI Agents.项目地址: https://gitcode.com/gh_mirrors/la/labs-OO-Agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Tier 1 vs Tier 2 深度解析:pentest-ai-agents 如何安全地让AI执行渗透命令

Tier 1 vs Tier 2 深度解析:pentest-ai-agents 如何安全地让AI执行渗透命令

Tier 1 vs Tier 2 深度解析:pentest-ai-agents 如何安全地让AI执行渗透命令 【免费下载链接】pentest-ai-agents Turn Claude Code into your offensive security research assistant. Specialized AI subagents for authorized penetration testing plan engagemen…

2026/10/7 15:23:33 阅读更多 →
Strata教程:让GISer真正实现了token自由

Strata教程:让GISer真正实现了token自由

目录前言1. 最终成绩2. 安装该选哪个模型注意点 1:模型下载太慢注意点 2:Strata 引擎下载太慢注意点 3:如何指定模型路径?注意点 4:安装 nvidia-cublas 和 nvidia-cuda-runtime 很慢注意点 5:如何指定上下文…

2026/10/7 15:23:33 阅读更多 →
2026年母婴店做商城小程序选哪个平台?

2026年母婴店做商城小程序选哪个平台?

母婴店卖奶粉、尿裤、辅食,复购高、信任重要。2026年选商城小程序,要贴合母婴行业的特点。这篇讲怎么选。一、做商城小程序,为什么要先想清楚母婴行业母婴顾客看重生辰、段位、规格,还有会员复购。用不合适的平台,规格…

2026/10/7 15:23:33 阅读更多 →

最新新闻

淋巴细胞目标检测实战:从标注格式转换到YOLO训练避坑指南

淋巴细胞目标检测实战:从标注格式转换到YOLO训练避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:28 阅读更多 →
树莓派计算模块CM4与CM5全SKU对比与选型指南

树莓派计算模块CM4与CM5全SKU对比与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:27 阅读更多 →
SystemC与TLM2.0的ESL性能建模实战:从架构评估到GEM5联合仿真

SystemC与TLM2.0的ESL性能建模实战:从架构评估到GEM5联合仿真

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:27 阅读更多 →
Altium Designer PCB开窗挖槽:阻焊开窗与机械层铣槽槽孔

Altium Designer PCB开窗挖槽:阻焊开窗与机械层铣槽槽孔

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:27 阅读更多 →
SMB版本差异与Windows局域网共享故障排查指南

SMB版本差异与Windows局域网共享故障排查指南

简介:smb.rar_SMB 是一份以经典《超级玛丽》(Super Mario Bros)为蓝本的 2D 平台游戏源码工程,面向刚接触游戏编程的 C 语言学习者和爱好者,演示了从窗口创建、资源加载到游戏逻辑更新的完整流程。压缩包内共 33 个文件…

2026/10/7 16:01:27 阅读更多 →
PDN阻抗优化与芯片供电仿真:Sigrity+ADS双工具实战指南

PDN阻抗优化与芯片供电仿真:Sigrity+ADS双工具实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:00:27 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:13 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →