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智能体赋予新能力和专业知识。这种轻量级的开放格式围绕一个SKILL.md文件构建,其中包含真实的API签名、硬件能力要求和构建约束条件。这些技能组合在一起,为智能体提供了针对DOCA的推理和操作框架。
技能覆盖了整个DOCA库,包括Flow、GPUNetIO、PCC等组件。它们并不能取代智能体本身,而是赋予智能体像经验丰富的DOCA开发者那样进行推理的领域知识。
每项技能都针对特定的DOCA组件或工作流程。例如,当智能体加载针对DOCA Flow的技能时,它会获得真实的函数签名、正确的pkg-config模块名称、构建容器的限制条件,以及常见故障模式及其应对方法。这些技能不仅是文档的摘要,更是智能体可以直接据以推理的机器可读规范。
为什么AI智能体需要DOCA开发的基础
当你要求一个通用型AI智能体设置DOCA Comch(通信通道)、配置RDMA上下文,或调试DOCA Flow程序中的链路故障时,该智能体是基于通用训练数据中的模式匹配来工作的,而不是基于经过验证的DOCA API约定、硬件能力清单或构建系统规范。DOCA库的覆盖面庞大、迅速演进,并具有通用训练数据无法捕捉到的硬件特定性。智能体没有可供推理的机器可读契约,智能体所知内容与硬件、软件实际支持内容之间也没有稳定的保证接口。
为了量化这一差距,NVIDIA团队运行了65个真实的DOCA开发者提示词,比较了有技能和无技能情况下智能体的表现。这些提示词从一行简单问题到包含多项具体要求的详细指令不等,并依据必答检查清单(针对每项任务设定的一组通过/失败标准)进行评分。在没有技能的情况下,智能体反复出现相同的错误,包括:
API和参数误用:65个提示词中有59个
硬件能力未经验证:65个提示词中有46个
工具调用路径错误:65个提示词中有39个
跳过冒烟测试:65个提示词中有34个
版本猜测:65个提示词中有30个
这些是持续出现的失败情况。没有技能时,智能体在真实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个提示词中,配备技能的结果每次都更优。
在编写任何代码之前先验证硬件
DOCA AI智能体技能解决的问题:智能体为设备不支持的功能编写代码。
在没有技能的情况下,65个提示词中有46个未能完成硬件能力验证。失败模式是一致的:智能体假定某项能力存在,针对该假定生成代码,而开发者只有在真实硬件上运行时才发现不匹配。此时,修复工作需要弄清哪项能力检查被跳过,重新设计代码路径,并重新测试。
提示词示例:"我有两台通过高速InfiniBand网络连接的主机。每台主机配备一个NVIDIA GPU和一个ConnectX网卡,两台主机都已安装DOCA。我想测量从GPU上的CUDA内核(而非主机CPU线程)发出RDMA WRITE工作请求(WR)时的延迟,以便决定是否将我的应用程序投入到GPUNetIO Verbs接口上。"
配备技能的AI智能体会在编写任何代码之前,先检查设备实际支持的内容。它会验证GPU与网卡之间的PCIe拓扑结构,在投入使用前确认GPUNetIO支持情况,并指出其他可用的API接口以及各自适用的场景。
配备技能的AI智能体会依据实际使用的硬件,验证答案的前提条件,然后才开始编写任何代码。
交付能够编译和链接的代码
DOCA AI智能体技能解决的问题:智能体生成的代码无法在DOCA容器中编译或链接。
构建正确性在65个提示词中的10个上进行了测试。这是一个较小的子集,但一旦涉及此类问题,开发工作就无法继续进行。
提示词示例:"我正在尝试基于一个官方示例构建DOCA Flow程序。编译步骤成功,但链接失败:undefined reference to doca_flow_init。我该如何调试这个问题?"
配备技能的AI智能体会将这个未定义引用识别为链接时错误,并使用构建工具(pkg-config)查找doca-flow对应的正确链接器标志。
一个生成错误链接器标志的智能体会让开发者走上一条无法解决问题的路径。而配备技能的智能体则会立即给出正确的诊断思路,以及用来获取正确标志的正确工具。
安全执行影响硬件的变更
DOCA AI智能体技能解决的问题:智能体在没有预检、回滚方案,也不了解冷启动周期要求的情况下,对运行中的硬件应用固件级变更。
任务越复杂,技能的重要性就越突出。在我们的65个提示词评估中,性能差距最大的情况出现在复杂度最高的场景中:对运行中硬件进行固件级变更。
提示词示例:"我有一台运行DOCA工作负载的生产环境BlueField-3 DPU。我已经为我的服务加载了DOCA AI智能体技能,接下来要编写一个mlxconfig类的固件级参数。"
配备技能的AI智能体严格执行固件级变更所需的全部规范,满足每一项要求。这包括预检清单、将带外(OOB)路径作为前提条件、明确的维护窗口、回滚方案,并指出mlxconfig类的写入操作只有在冷启动周期后才会生效,而非热重启。
配备技能的智能体满足了所有要求,而未配备技能的智能体则一项都没有满足。在生产环境的DPU上,这些疏漏都不是可以通过调试来弥补的。这些技能承载着关于潜在风险及其成因的知识,将一次充满风险的固件变更转变为一个严谨、安全的流程。
在全部65个提示词中,配备DOCA技能的AI智能体每次都得出了正确答案,这意味着更少的纠错循环以及更快获得可用代码的速度。
演示视频中给出了具体的效率提升数据。两个智能体被分配了相同的任务:编写一个使用NVIDIA DOCA在BlueField-3上发送真实RDMA流量的程序。两者都完成了任务,但配备技能的智能体手写代码量减少了73%(189行对695行),所需硬件命令数量也大约减半(20条对37条,减少了46%)。这正是一个需要通过反复试错来重新发现DOCA API和构建要求的智能体,与一个在编写第一行代码之前就已掌握这些知识的智能体之间的差异。
开始使用NVIDIA DOCA AI智能体技能
DOCA AI智能体技能为你的智能体提供了取得成功所需的领域知识,让你能够以更高的效率和准确性进行构建。要开始使用,请访问NVIDIA/skills GitHub仓库。你可以查看通用技能作为快速入门,也可以查看针对DOCA Flow、GPUNetIO、RDMA等库的专属技能。
Q&A
Q1:DOCA AI智能体技能是什么?
A:DOCA AI智能体技能是一种标准化方式,用于给AI智能体赋予新能力。它围绕SKILL.md文件构建,包含真实API签名、硬件能力要求和构建约束,帮助智能体像经验丰富的DOCA开发者一样进行推理。
Q2:使用DOCA智能体技能能带来什么好处?
A:可以让开发者更快构建、交付更稳定的代码,并以更少的未知因素进行部署。智能体能提供经过验证的API调用,在编写代码前先检查设备支持情况,并在接触硬件前应用预检和回滚方案。
Q3:如何开始使用DOCA AI智能体技能?
A:可以访问NVIDIA/skills GitHub仓库,查看通用技能快速入门,也可以查看针对DOCA Flow、GPUNetIO、RDMA等库的专属技能。
