AI智能体在复杂的芯片设计工作流中能够带来显著的生产力提升,但它们容易生成看似合理却实际错误的产出,这使得可靠性成为生产环境应用的主要障碍。在多阶段工程工作流中,设置初期一个未被察觉的错误可能会悄无声息地传播到下游各阶段,并最终影响产出结果。相比孤立地评估中间步骤,针对经过验证的最终输出来评估和优化这些智能体,是构建可信自动化系统的关键。

NVIDIA NeMo Gym是一个用于通过环境评估和改进模型及智能体的开源库,旨在解决这一难题。NeMo Gym的智能体评估环境专为诊断故障模式、追踪复杂多阶段工作流中的错误传播而设计。通过建立特定领域的验证器,将最终输出与经过验证的参考产出进行对比,NeMo Gym使工程师能够追溯完整的执行轨迹,并找出隐藏错误的根本原因。

本文介绍了如何利用NeMo Gym评估并改进西门子Fuse EDA AI智能体在调用特征化工具时的可靠性。西门子Fuse团队利用NeMo Gym扩大评估规模,将生成的Liberty(.lib)文件与已知参考文件进行验证比对,并追踪每次执行过程中常见及罕见的失败情况。这些发现指导了对智能体技能及模型上下文协议(MCP)工具描述的改进,使标准单元特征化代表性任务基准测试中的综合评分从约55%提升至约95%,同时减少了交互轮次和输出Token数量。

西门子的这项工作为芯片设计团队和EDA开发者提供了一个实践案例,展示了如何利用NVIDIA AI软件栈和开源库来提升智能体可靠性与芯片设计工作流水平。

自动化标准单元特征化

标准单元特征化是为逻辑单元在各种工作条件下生成精确的时序、功耗和噪声模型的过程。这是芯片设计的基础工作,在半导体代工厂发布新的工艺设计套件(PDK)时都需要执行。每个新的PDK都包含SPICE晶体管模型、设计规则,以及将制造工艺与设计工具相连接的工艺、电压、温度(PVT)定义。当代工厂更新PDK后,现有的特征化数据集可能无法准确描述更新后的器件。此时必须针对输入转换速率、输出负载及PVT条件的各种组合,重新生成并验证每个受影响单元的时序和功耗模型。

Solido特征化套件智能体可自动完成这一流程。该智能体通过西门子Fuse EDA AI智能体来协调更广泛的Solido特征化套件中的各类工具,Fuse平台向Claude Code、Codex和Cursor等常见编程工具开放了MCP服务器和技能接口。

MCP接口使工程智能体能够访问这些加速工具,而技能则指导其在特征化工作流中的使用方式。更快的仿真速度有助于智能体更快完成工程迭代,而NVIDIA NeMo Gym则帮助开发者衡量和改进智能体调配这些工具的可靠性与效率。

Solido特征化套件智能体必须完成工具设置、大规模SPICE仿真、分布式计算、Liberty文件生成、调试以及最终验证(见图1)。错误往往会产生看似合理的输出而非明显的失败结果,导致阈值错误、角点缺失或单元不完整等问题被隐藏起来。由于这些阶段彼此依赖,早期设置错误可能会传播到后续每一个步骤。制定严格的评估协议是让Solido特征化套件智能体准备好投入生产工作流的关键步骤。

利用NeMo Gym衡量并提升智能体可靠性

作为NVIDIA NeMo开源库集合中用于智能体专业化与优化的一部分,NeMo Gym在一个受控的评估循环中与标准单元特征化流程相集成(见图2)。它为每次执行定义了任务、工具、状态和验证器,确保每次尝试均从相同的初始状态开始,并产生可比较的结果。同时,它还会记录思考过程、输入输出消息以及工具操作记录。

这使得工程师能够运行以下优化循环:

在定制的NeMo Gym环境中,使用带版本控制的任务和验证器运行基准执行

检查执行轨迹、失败的工具调用及验证器诊断信息

识别出含糊不清的指令、无效操作以及错误的工具选择

优化智能体的技能及MCP工具描述

在相同的评估条件下重复相同的任务

对比验证后的结果,并评估每次成功结果所对应的效率

奖励机制设计与产出验证

团队在分析智能体执行轨迹的过程中发现,端到端评估能够揪出中间检查环节遗漏的失败情况。例如,最终的Liberty文件验证揭示了单元和工作条件缺失、转换速率阈值错误以及超出容差范围的时序或功耗值等问题。这些发现说明了为何必须针对最终产出而非单个工具调用来评估工程智能体。

为使这项工作具备可重复性,团队实现了基于以下指标提供最终综合奖励分数的验证器:

覆盖率:智能体是否生成了所有预期的单元和PVT角点。

有效性:交付的Liberty文件是否格式规范,可被验证工具使用。

相对验证:输出结果是否引入了参考文件中原本不存在的新故障。

准确性:预期时序和功耗数值落在规定容差范围内的比例。

完整性:特征化工作流是否产生了完整结果,而非复用、截断或重新格式化已有数值。

奖励分数定义如下:

R=指标[覆盖率]×指标[有效性]×指标[相对验证]×指标[完整性]×(容差内数值数/输出总数值数)

其中,容差内数值数是指输出结果中处于容差范围内的数值个数,输出总数值数是指输出结果的总数值个数。两者之比代表了处于容差范围内的输出数值所占比例。

每个指标项的取值在相应门限通过时为1,失败时为0。只要任意一个门限未通过,奖励分数即为零。

利用这一验证器,团队对智能体性能进行了多轮系统性评估与调优。

优化智能体

团队使用开源的GF180MCU PDK,对Solido特征化套件智能体在Liberty文件生成任务上进行基准测试。该数据集包含229个标准单元,涵盖36个PVT角点,使用Solido AFS进行SPICE仿真。

团队利用NeMo Gym构建了一个定制化的智能体环境。每次运行时,特征化流程都被限制在两个单元、36个PVT角点范围内,因为这一较小规模的子集已足以用于智能体工作流的调优。每次运行大约耗时1.5到2小时,团队以运行在Claude Code中的Claude Opus 4.8作为固定模型及智能体运行框架,共进行了约25次执行。

在连续多轮评估中,团队不断优化智能体的特征化技能以及MCP工具描述。为改进工具选择,他们简化了重叠的文件和Shell接口,并使用明确的JSON架构定义工具输入,使智能体更容易调用特征化工具。

经过这些改进后,各评估执行轮次的平均综合验证分数从约55%提升至95%。改进后的工作流还显著减少了所需的智能体交互轮次和输出Token数量。智能体交互轮次从155次降至53次,降幅约为66%;输出Token数从约81K降至29K,降幅约为64%。

借助同一方法在其他领域开发可靠智能体

同样的评估方法适用于EDA、CAE及其他工程领域中的工程智能体:

评估最终的工程产出,而非仅仅判断单个工具调用是否成功。

编写特定领域的评分器/验证器,用以检测缺失、截断、重新格式化或复用的结果,防止智能体“作弊”。

收集大量执行数据,通过优化技能和MCP工具接口来提升可靠性。

开始使用NeMo Gym

参照NeMo Gym快速入门指南运行初始评估。随后,将本文介绍的方法应用于一个具有代表性的任务:定义有效的最终产出,构建特定领域的验证器,检查执行失败情况,优化技能和工具描述,并在一致的评估条件下重新运行。

关于Solido Fuse如何将生成式AI和智能体AI引入Solido特征化套件智能体的更多详情,可观看“自我验证、长时运行的智能体特征化工作流演示”。

了解更多关于NVIDIA与西门子合作的信息。

致谢

感谢NVIDIA的Gunjan Shah,以及西门子的Tim Wheler、Lakshminarayanan Ramesh和Carl Hofmeister,他们为开发该智能体及建立评估方法作出了重要贡献。

Q&A

Q1:NVIDIA NeMo Gym是什么?

A:NeMo Gym是一个开源库,用于通过环境评估和改进模型及智能体,可以帮助诊断复杂多阶段工作流中的失败模式,并追踪错误传播情况。

Q2:使用NeMo Gym优化后,智能体的性能提升了多少?

A:经过优化,标准单元特征化任务基准测试的综合评分从约55%提升至约95%,同时智能体交互轮次减少约66%,输出Token数量减少约64%。

Q3:这种评估方法是否只适用于芯片设计领域?

A:不是,该评估方法同样适用于EDA、CAE及其他工程领域的智能体,核心思路是评估最终工程产出而非单个工具调用是否成功,并通过特定领域验证器防止智能体作弊。

NVIDIA