数据中心/云端

借助 NVIDIA DOCA Agent 技能,更快地在 NVIDIA BlueField 上构建应用程序

AI 智能体正成为开发工作流的标准组成部分,但构建通用智能体时并未考虑 NVIDIA DOCA 等专用基础设施软件。如果没有特定领域的知识,智能体可能会靠猜测来解决问题。这是基础架构开发中的一个问题,因为每个修正周期都会占用部署时间。

DOCA 是一个统一的软件平台,可充分发挥 NVIDIA BlueField DPU (数据处理器) 在代理式 AI 基础设施中的潜力。它涵盖加速网络、AI 原生存储、芯片内安全、遥测和生命周期管理。这是适用于基于 NVIDIA BlueField 进行开发的团队的开发平台。

DOCA AI 智能体技能现已在 GitHub 上提供。这些技能为解决通用 AI 智能体在 DOCA 开发中的不足之处提供了一个经过验证的结构化基础。它们为智能体提供经过验证的 API 签名、硬件能力要求和构建限制。

本文将介绍什么是 DOCA AI 智能体技能,以及它们在四个有影响力的 DOCA 开发场景中的表现。其中包括一个并行演示,以及如何开始使用 DOCA 智能体技能在 BlueField 基础设施上更快地构建和发布更稳定的代码。

什么是 DOCA AI 智能体技能?

DOCA AI 智能体技能是一种为 AI 智能体提供新功能和专业知识的标准化方式。这种轻量级的开放格式基于包含真实 API 签名、硬件能力要求和构建限制的 SKILL.md 文件构建而成。这些技能共同为智能体提供了 DOCA 的推理和操作框架。

技能涵盖完整的 DOCA 库,包括 Flow、GPUNetIO、PCC 等。它们不会取代智能体,而是像经验丰富的 DOCA 开发者一样为其提供推理领域知识。

每个技能都适用于特定的 DOCA 组件或工作流程。例如,当智能体加载 DOCA Flow 的技能时,它会获得真实的功能签名、正确的 pkg-config 模块名称、构建容器约束、常见的故障模式及其缓解措施。这些技能不仅仅是文档的摘要,而是一种机器可读规范,智能体可以直接进行推理。

为什么 AI 智能体需要一个基础来开发 DOCA?

当您要求通用 AI 智能体设置 DOCA Comch ( Comm Channel) 、配置 RDMA 上下文或在 DOCA Flow 程序中调试链路故障时,该智能体的工作方式是对通用训练数据进行模式匹配,而不是来自经过验证的 DOCA API 合同、硬件能力清单或构建系统规格。DOCA 库面很大,快速发展,并且以常规训练数据无法捕获的方式特定于硬件。智能体没有可供推理的机器可读合同,智能体知道的内容与硬件和软件实际支持的内容之间没有稳定的接口。

为了量化差距,NVIDIA 团队运行了 65 个真实的 DOCA 开发者提示,比较智能体是否具备技能。这些提示词包括单行问题和详细的多要求提示词,并根据要求答案检查清单 (每项任务的一组特定的及格/ 不及格标准) 进行评分。如果没有这些技能,智能体就会不断地犯同样的错误,包括:

  • 滥用 API 和标志:59/ 65 提示
  • 硬件能力未验证:46/ 65 个提示
  • 工具路由错误:39/ 65 提示
  • 跳烟测试:34/ 65 个提示
  • 猜测版本:30/ 65 个提示

这些都是持续的故障。在没有技能的情况下,智能体仅对真实 DOCA 任务中 19% 的分级检查清单项目感到满意。有了技能,他们在全部 65 个提示词中的满意度达到 100%。如果没有这些技能,每个智能体错误都会变成一个开发者调试会话,以及一条更长的工作代码路径。

DOCA 智能体技能对开发者有哪些好处?

DOCA 智能体技能允许您为智能体配备领域专业知识。这意味着您可以更快地构建、发布更稳定的代码,并以更少的未知数进行部署。

  • 加快构建速度:从一开始,智能体就会通过相关技能进行 API 调用验证,因此您可以专注于编写代码,而非更正代码。
  • 发布更稳定的代码:借助技能,智能体在编写单行代码之前检查设备实际支持的内容,而不是在真实硬件上运行之后。
  • 使用更少的未知因素进行部署:智能体在接触硬件之前,而不是在出现问题之后,应用飞行前检查、回滚计划和冷功率循环感知。

这样做的综合效果是任务和工作代码之间的校正周期减少。对于在 DOCA 应用程序上大规模使用 AI 智能体的团队来说,这可以在每个开发者、任务和部署中减少化合物。

使用智能体技能加速 DOCA 开发

以下各节将详细介绍这四种功能。我们通过 65 个提示词的评估提供了一个真实的提示,并说明了使用该技能的好处。

使用真实 API 更快地构建

DOCA AI 智能体技能解决的问题:API 滥用:智能体发明了不存在的函数、标志和图像标签。

这是我们评估中最常见的故障模式,在 65 个提示中影响了 59 个。在没有技能的情况下,智能体会生成引用库中不存在的 DOCA 函数、名称错误的标志以及运行时失败的图像标签的代码。作为开发者,您最终会调试一个未引入的错误 (智能体的发明) 。

提示:“我有一台安装了 BlueField-3 DPU 和 DOCA 的主机。我想在主机侧进程和 DPU 侧代理之间建立一个 DOCA Comch (通信通道) ,这样它们就可以交换小的控制消息 (每个消息在 4 KiB 以下,每秒几次) 。”

具有技能的 AI 智能体仅使用真实的 DOCA Comch API 调用:正确的参数顺序、经过验证的标志和生命周期序列,这些都不是发明。

当智能体的第一个响应使用正确的 API 表面时,您可以直接转向集成,而不是从调试会话开始。在测试 API 准确性的 63 个提示词中,with-skill 的结果每次都更好。

在编写任何代码之前验证硬件

DOCA AI 智能体技能解决的问题:智能体为设备不支持的功能编写代码。

在 65 个提示词中,有 46 个提示词未通过硬件能力验证。故障模式是一致的:智能体假设存在能力,针对该能力生成代码,而开发者只有在真实硬件上运行时才会发现不匹配。此时,修复工作需要了解跳过了哪些功能检查,重新设计代码路径并重新测试。

提示:“我使用高速 InfiniBand 网络将两台主机连接在一起。每台主机都有一个 NVIDIA GPU 和一个 ConnectX 网卡,并且都安装了 DOCA。当 WR (工作请求) 从 GPU 上的 CUDA 内核 (而非主机 CPU 线程) 发布时,我想测量 RDMA WRITE 工作请求的延迟,以便决定是否将应用程序提交到 GPUNetIO Verbs 接口。”

在编写任何代码之前,具有技能的 AI 智能体会检查设备实际支持的内容。它可以验证 GPU-NIC PCIe 拓扑结构,在提交前确认对 GPUNetIO 的支持,并命名替代 API 表面和适用的时间。

在编写任何代码之前,具有技能的 AI 智能体会根据实际使用的硬件来验证答案的先决条件。

DOCA AI 智能体技能解决的问题:生成不会在 DOCA 容器中编译或链接的代码的智能体。

在 65 个提示词中,有 10 个测试了构建正确性。这是一个较小的子集,但如果适用,开发将无法进行。

提示:“我正在尝试从其中一个交付的样本中构建一个 DOCA Flow 程序。编译步骤有效,但链接失败:对 doca_flow_init 的未定义引用。如何调试?”

具有技能的 AI 智能体将未定义的引用识别为链路时失败,并使用构建工具 (pkg-config) 为 doca-flow 查找正确的链接器标志。

生成错误链接器标志的代理会向开发者发送一条无法解析的路径。with-skills 智能体会立即指定正确的诊断方法和用于检索正确标志的工具。

安全执行影响硬件的更改

DOCA AI 智能体技能解决的问题:智能体在实时硬件上应用固件级更改,而无需预先检查、回滚计划或了解冷功率循环要求。

任务越复杂,技能就越重要。在我们由 65 个提示词组成的评估中,最大的性能差距出现在最复杂的场景中:实时硬件上的固件级更改。

提示:“我有一个运行 DOCA 工作负载的产品级 BlueField-3 DPU。我为自己的服务加载了 DOCA AI 智能体技能,下一步是编写 mlxconfig 级固件级参数。”

拥有技能的 AI 智能体可以应用固件级更改所需的全部学科,以满足各项要求。其中包括预检清单 (假设带外 (OOB) 路径为先决条件) 、显式维护窗口和回滚计划,并指出 mlxconfig 类写入仅在冷电循环时生效,而非热重启。

with-skills 智能体满足了所有要求。没有技能的代理什么也没遇到。在运行中的 DPU 上,这些错误都不是可恢复的调试步骤。这些技能包含可能出错的地方和原因的知识,将有风险的固件更改为严格、安全的程序。

在全部 65 个提示词中,具备 DOCA 技能的 AI 智能体每次都能得出正确答案。这意味着校正周期更少,代码生成时间也更短。

视频 1 中的演示将效率提升具体化。两个智能体被赋予了相同的任务:使用 NVIDIA DOCA 构建程序,在 BlueField-3 上发送真实的 RDMA 流量。两者都取得了成功,但 with-skills 智能体使用的手写代码减少了 73% ( 189 行相比 695 行) ,硬件命令大约减少了一半 ( 20 行相比 37 行,减少了 46%) 。这就是两种智能体之间的区别,一种是重新发现 DOCA API 并反复构建需求,另一种是在编写单行代码之前就已拥有这些 API。

视频 1. 观看 并排对比了两个 AI 编码智能体,它们分别负责在 BlueField-3 平台上使用 NVIDIA DOCA 构建基于 Go 的 RDMA 应用

开始使用 NVIDIA DOCA AI 智能体技能

DOCA AI 智能体技能为您的智能体提供取得成功所需的领域知识,以便您可以更高效、更准确地进行构建。首先,请访问 NVIDIA/skills GitHub 资源库。查看快速入门的一般技能,以及适用于 DOCA Flow、GPUNetIO、RDMA 等的库特定技能。

标签