VeriTrace:类人时间探索完善智能体行动空间

arXiv cs.AI 论文

摘要

VeriTrace 是一个用于自动化 Verilog RTL 生成的多智能体系统,它引入了智能体时间探索(Agentic Temporal Exploration),使调试智能体能够完全控制信号选择、时间窗口和迭代深度,在 VerilogEval-V2 上实现了 100% 的 Pass@1,并比基线模型高出 +5.1% 的性能。

arXiv:2608.02878v1 公告类型:新发布 摘要:大型语言模型在自动化 Verilog RTL 生成方面显示出潜力,然而最先进的多智能体系统在标准基准测试上的准确率却停留在约 95% 左右。我们将这一上限追溯至不完整的调试行动空间:现有系统限制了智能体可检查的信号、可查询的时间窗口,或两者兼有限制,从而将调试降级为在狭窄且预定的电路行为视图上进行模式匹配,而非基于假设的根因分析。我们提出了 VeriTrace,这是一个多智能体系统,其 Inspector 智能体在完整的调试行动空间上运行,对信号选择、时间窗口边界和迭代深度具有独立的控制权。这种能力我们称之为智能体时间探索(Agentic Temporal Exploration),它使智能体能够对故障原因形成假设、查询波形以获取证据,并迭代地完善其理解,模仿人类验证工程师的探索过程。VeriTrace 在 VerilogEval-V2 上达到了 100% 的 Pass@1,成为首个在该基准上实现完全功能正确性的系统。在共享的 Claude Sonnet 4.0 骨干模型上,VeriTrace 比最强的复现基线高出 +5.1%,证明调试智能体代理能够弥合最终的准确率差距。
查看原文
查看缓存全文

缓存时间: 2026/08/05 07:38

# VeriTrace:类人时间探索补全智能体动作空间
来源:https://arxiv.org/html/2608.02878
###### 摘要

大语言模型在自动化 Verilog RTL 生成方面已展现出巨大潜力,然而最先进的多智能体系统在标准基准测试上的准确率仍停留在95%。我们将这一上限追溯到一个不完整的*调试动作空间*:现有系统要么限制了智能体可检查的信号,要么限制了可查询的时间窗口,甚至两者都受限,从而将调试降级为在狭窄且预定的电路行为视图上进行模式匹配,而非基于假设的根因分析。我们提出 VeriTrace,一个多智能体系统,其 Inspector(检查器)智能体在一个*完整的*调试动作空间上运行,对信号选择、时间窗口边界和迭代深度均拥有独立控制。我们将这种能力称为智能体时间探索(Agentic Temporal Exploration),它使智能体能够针对故障原因形成假设、查询波形以获取证据,并迭代地精化其理解,从而复现人类验证工程师的探索式调试过程。VeriTrace 在 VerilogEval-V2 上实现了 **100% 的 Pass@1**,是首个在该基准测试上达到完美功能正确性的系统。在共享的 Claude Sonnet 4.0 主干模型上,VeriTrace 比最强复现基线高出 **+5.1%**,这表明调试智能体的能动性弥补了最后的精度差距。

††publicationid:pubid:979\-8\-3195\-1246\-8\-0/26/$31\.00 ©2026 IEEE## I 引言

现代数字硬件设计仍是一个劳动密集型过程,需要具备硬件描述语言(HDL)(如 Verilog 或 SystemVerilog)方面的深厚专业知识[5 (https://arxiv.org/html/2608.02878#bib.bib7),9 (https://arxiv.org/html/2608.02878#bib.bib8)]。随着芯片复杂度不断增长、设计周期持续缩短,对自动化 RTL 代码生成的需求日益迫切[13 (https://arxiv.org/html/2608.02878#bib.bib2),18 (https://arxiv.org/html/2608.02878#bib.bib9),16 (https://arxiv.org/html/2608.02878#bib.bib13)]。手动将自然语言规范转换为功能正确的 Verilog 既容易出错又耗时,因此亟需智能化自动化手段。

大语言模型(LLMs)已成为硬件设计自动化领域的潜在有力工具[18 (https://arxiv.org/html/2608.02878#bib.bib9),25 (https://arxiv.org/html/2608.02878#bib.bib11)]。近期工作表明,LLM 能够根据自然语言描述生成语法有效的 Verilog 代码,GPT-4 和 Claude 等模型在 VerilogEval 等基准测试上取得了不容忽视的通过率[13 (https://arxiv.org/html/2608.02878#bib.bib2),19 (https://arxiv.org/html/2608.02878#bib.bib3)]。这些结果表明,LLM 已具备足够理解 HDL 语法和基本数字设计模式的能力,可以作为自动化 RTL 生成的基础[19 (https://arxiv.org/html/2608.02878#bib.bib3),36 (https://arxiv.org/html/2608.02878#bib.bib16),26 (https://arxiv.org/html/2608.02878#bib.bib12)]。

然而,单智能体 LLM 方法在调试方面面临根本性限制。当生成的代码未通过仿真时,这些系统只能获得通过/失败反馈或泛泛的错误消息,缺少诊断功能缺陷所需的信号级详细信息。多智能体系统已开始通过引入基于波形的调试反馈来弥合这一差距[10 (https://arxiv.org/html/2608.02878#bib.bib1),37 (https://arxiv.org/html/2608.02878#bib.bib4)],但仅有反馈并不够。关键在于调试智能体可用的*动作空间*:它可以选择哪些信号、可以查询哪些时间窗口,以及能否随着自身理解的演进而迭代地发出查询[33 (https://arxiv.org/html/2608.02878#bib.bib23),4 (https://arxiv.org/html/2608.02878#bib.bib29)]。

表I (https://arxiv.org/html/2608.02878#S1.T1) 总结了现有多智能体系统的调试动作空间。MAGE[37 (https://arxiv.org/html/2608.02878#bib.bib4)] 引入了状态检查点打印机制,在首个错误时间戳捕获 I/O 值,但将智能体限制为在单个时间点检查输入和输出信号:没有信号选择,没有时间自由度,也没有迭代。VerilogCoder[10 (https://arxiv.org/html/2608.02878#bib.bib1)] 使用 AST 分析来自动化信号选择,并支持迭代追踪,但它的波形显示固定锚定在首个失配时间戳。尽管这两个系统都证明波形反馈能够提升功能正确性,但两者都未授予智能体对*检查哪些信号**以及**何时检查*的联合控制。

TABLE I:多智能体系统对比。我们提出 VeriTrace,一个通过引入智能体时间探索(Agentic Temporal Exploration)来弥合这一动作空间差距的多智能体系统。这是一种调试方法论,赋予 LLM 智能体对信号选择和时间窗口检查的完全控制。与以往方法不同,VeriTrace 支持迭代式波形查询:智能体选择信号和时间范围,观察结果,精化假设,然后再次查询,直至找到根因。我们的贡献如下:

参见图注 图 1:VeriTrace 概览

- • 我们将*调试动作空间完备性*确定为多智能体 RTL 生成中的关键瓶颈,并引入智能体时间探索,使智能体能够自主访问任意信号和时间窗口,实现基于假设的代码精化。
- • 我们提出 VeriTrace,一个围绕智能体时间探索构建的多智能体系统,其中设有专用的 Inspector 智能体用于波形分析。
- • Inspector 不是吞入完整的 VCD 波形转储,而是只查询与其当前假设相关的信号和时间窗口,从而将 token 消耗降低 18%,并为更大设计提供了可扩展的路径。
- • VeriTrace 在 VerilogEval-V2 上实现了 100% 的 Pass@1,据我们所知,这是首个在该基准测试上达到完美功能正确性的开源系统。

## II 背景

### II-A 用于 RTL 代码生成的 LLM

大语言模型在 Verilog 生成中的应用沿着两条路径发展:在精选 RTL 数据集上训练的领域专用模型[15 (https://arxiv.org/html/2608.02878#bib.bib15),36 (https://arxiv.org/html/2608.02878#bib.bib16),7 (https://arxiv.org/html/2608.02878#bib.bib17),3 (https://arxiv.org/html/2608.02878#bib.bib28),12 (https://arxiv.org/html/2608.02878#bib.bib31),6 (https://arxiv.org/html/2608.02878#bib.bib32),14 (https://arxiv.org/html/2608.02878#bib.bib33)],以及将 GPT-4 和 Claude 等通用 LLM 直接应用于硬件描述[13 (https://arxiv.org/html/2608.02878#bib.bib2),19 (https://arxiv.org/html/2608.02878#bib.bib3)]。两条路径都表明,LLM 已获得对 HDL 语法和基本数字设计模式的充分理解[25 (https://arxiv.org/html/2608.02878#bib.bib11),19 (https://arxiv.org/html/2608.02878#bib.bib3)],但如果没有仿真反馈,单次生成本身仍不足以确保可靠的功能正确性[32 (https://arxiv.org/html/2608.02878#bib.bib34)]。

### II-B 用于 RTL 生成的多智能体系统

为了纳入仿真反馈,近期工作采用了多智能体架构,将 RTL 设计分解为专门的子任务。VerilogCoder[10 (https://arxiv.org/html/2608.02878#bib.bib1)] 引入了任务与电路关系图(Task and Circuit Relation Graph)用于计划分解,以及一个基于 AST 的波形追踪工具,可从失配输出向回追踪信号,在故障点提供信号级上下文信息。MAGE[37 (https://arxiv.org/html/2608.02878#bib.bib4)] 采用了四种智能体类型,并结合高温候选采样策略及在最早失配处捕获 I/O 值的状态检查点机制。ACE-RTL[8 (https://arxiv.org/html/2608.02878#bib.bib18)] 将领域专用 RTL 模型与前沿推理 LLM 相结合,通过智能体上下文演进循环(agentic context evolution loop)进行协作,其中 Reflector 分析仿真日志,Coordinator 跨迭代维护结构化的调试历史。这些系统共同表明,将仿真纳入回路的多智能体协作在功能正确性上大幅优于单次生成方法[33 (https://arxiv.org/html/2608.02878#bib.bib23),11 (https://arxiv.org/html/2608.02878#bib.bib24),31 (https://arxiv.org/html/2608.02878#bib.bib35)]。

### II-C 智能体推理与工具使用

ReAct 范式[35 (https://arxiv.org/html/2608.02878#bib.bib5)]将智能体工具使用形式化为 **思考(Thought)、行动(Action)、观察(Observation)** 的交错循环:智能体对当前状态进行推理,调用工具,观察结果,然后重复。来自软件工程领域的一个关键发现是,智能体与工具之间的*接口*与底层 LLM 本身同等重要[21 (https://arxiv.org/html/2608.02878#bib.bib21)]。

SWE-Agent[34 (https://arxiv.org/html/2608.02878#bib.bib19)] 表明,对于软件智能体而言,动作空间设计比模型规模扩展更为重要。硬件调试带来了额外的挑战:缺陷是时空性的,需要对信号选择和时间导航进行联合控制[22 (https://arxiv.org/html/2608.02878#bib.bib22),30 (https://arxiv.org/html/2608.02878#bib.bib25),4 (https://arxiv.org/html/2608.02878#bib.bib29),17 (https://arxiv.org/html/2608.02878#bib.bib37),29 (https://arxiv.org/html/2608.02878#bib.bib26),28 (https://arxiv.org/html/2608.02878#bib.bib27),27 (https://arxiv.org/html/2608.02878#bib.bib36)]。

参见图注 图 2:Inspector 对 Problem 155 进行智能体时间探索的示例。

## III 方法

VeriTrace 的多智能体架构遵循确定性的控制流,其设计仿照人类工程师处理 RTL 设计的方式:编写代码、仿真、检查故障信号、诊断根因、修复。VeriTrace 不依赖学习到的编排或动态智能体分配,而是将任务分解为验证工程师会遵循的相同顺序阶段,每个阶段由专门的智能体处理。

如图 1 (https://arxiv.org/html/2608.02878#S1.F1) 所示,该系统将自然语言规范以及可用的 golden testbench(黄金测试平台)作为输入,生成 testbench 和 RTL。随后,如果仿真报告功能错误,则进入检查和调试的闭环循环,直到所有测试用例通过。关键创新在于 Inspector 智能体,它在完整的调试动作空间上运行,以提供基于假设的诊断反馈。

### III-A Testbench 与 RTL 智能体

Testbench 智能体会修改 golden testbench 以转储所有波形,从而使 Inspector 能够查询任意内部信号,正如人类设计者使用商业工具所做的那样[24 (https://arxiv.org/html/2608.02878#bib.bib14)]。RTL 智能体根据规范和修改后的 testbench 生成模块,并在仿真前强制执行严格的语法检查。我们遵循 MAGE[37 (https://arxiv.org/html/2608.02878#bib.bib4)] 的做法,在前端处理中引入仿真裁判(Simulation Judge)和高温 RTL 采样,从而为中等或简单任务省去高 token 消耗的调试循环。

### III-B Inspector:智能体时间探索

复杂的 RTL 问题,特别是带反馈的有限状态机(FSM),很少能通过一次生成就解决。如第 II-C 节 (https://arxiv.org/html/2608.02878#S2.SS3) 所述,RTL 缺陷是时空性的:在时间点 tt 观察到的失配可能源于许多时钟周期之前一个不相关逻辑块中的问题。Inspector 通过将诊断(diagnosis)与修复(repair)分离来应对这一问题。Debugger 负责将诊断结果转化为代码编辑,而 Inspector 则在完整的调试动作空间上运行,选择要检查的信号、要查询的时间窗口以及要执行的探索轮数。

这种诊断与修复的分离(图 1 (https://arxiv.org/html/2608.02878#S1.F1))使每个智能体拥有聚焦的上下文窗口,避免单个智能体同时处理波形分析和代码修改。

图 2 展示了 Inspector 如何从初始错误时间戳出发,通过迭代式波形分析识别出错误的状态转换。

#### III-B1 来自人类 RTL 验证的观察

当 RTL 仿真报告失配时,人类设计者并不会孤立地检查失败时间戳。在 Synopsys Verdi[24 (https://arxiv.org/html/2608.02878#bib.bib14),23 (https://arxiv.org/html/2608.02878#bib.bib6)] 等商业工具中,设计者会选择一个可疑信号,在选定的时间窗口内检查其跳变,形成一个关于哪个逻辑块引入了错误的假设,然后进一步追踪该逻辑块的输入以确认或修正假设。关键是,由设计者来决定检查哪些信号以及何时检查。诊断此类故障需要在任意时间范围内迭代地导航内部信号、状态寄存器、计数器、次态逻辑,直至理解逐渐清晰。

这些观察启发了 Inspector 的设计。一个被限制在固定信号或单一时间戳上的智能体无法摆脱那种导致自动调试脆弱的狭窄视野。Inspector 赋予智能体对信号选择和时间窗口的完全控制,从而实现了下文形式化的迭代式、基于假设的推理过程。

#### III-B2 Inspector 动作形式化

令 S
表示自然语言规范,CC 为当前 RTL 代码,terrt_{\text{err}} 为仿真报告的第一个错误时间戳,W
为修改后的 testbench 生成的完整波形。

在每次迭代 ii 中,Inspector 选择一组信号 σi
以及一个时间窗口 [tistart,tiend][t^{\text{start}}_{i},\,t^{\text{end}}_{i}] 进行查询。智能体波形追踪工具返回一个自然语言风格的波形快照:

ωi=Trace(W,σi,tistart,tiend)\omega_{i}=\textsc{Trace}(\mathcal{W},\,\boldsymbol{\sigma}_{i},\,t^{\text{start}}_{i},\,t^{\text{end}}_{i})   (1)

Inspector 遵循 ReAct 风格的推理模式[35 (https://arxiv.org/html/2608.02878#bib.bib5)],将思考与行动交错进行。在每一步中,Inspector 产生一个思考 τi\tau_{i},基于累积的上下文进行推理,并决定是发出另一次查询还是终止:

τi,ai=Think(S,C,terr,ω1,...,ωi)\tau_{i},\,a_{i}=\textsc{Think}(\mathcal{S},\,C,\,t_{\text{err}},\,\omega_{1},\dots,\omega_{i})  (2)

其中 ai∈{Query,Finish}a_{i}\in\{\textsc{Query},\,\textsc{Finish}\}。如果 ai=Querya_{i}=\textsc{Query},则 Inspector 选择新的参数 (σi+1,ti+1start,ti+1end)(\boldsymbol{\sigma}_{i+1},\,t^{\text{start}}_{i+1},\,t^{\text{end}}_{i+1}),并获取下一个快照 ωi+1\omega_{i+1}。该循环持续进行,直到 ai=Finisha_{i}=\textsc{Finish} 或达到最大迭代次数 NN。

终止后,Inspector 生成一份 **Inspector 报告(Inspector Report)** R
,其中总结了所诊断出的 S
与 CC 之间的行为失配、关于失配的推理,以及提供给后续 RTL Debugger 的建议修复方案。请注意,testbench 不会暴露给 Inspector,因为自校正的目标应当是发现 RTL 代码 C\mathcal{C} 与功能描述 S\mathcal{S} 之间的失配行为,而非针对 testbench。

### III-C RTL Debugger

在收到 Inspector 报告 R
之后,RTL Debugger 将存在缺陷的 RTL 代码 CC 与报告中所包含的诊断出的行为失配及建议修复方案一并进行分析。随后,Debugger 执行有针对性的编辑,生成修正版本 C′C^{\prime}。Debugger 不会尝试重写整个模

相似文章

我厌倦了手动调试追踪

Reddit r/AI_Agents

一位开发者构建了一个AI代理调试工具,通过比较重放与参考运行来识别行为首次偏离的位置,表达了对手动追踪调试的挫败感。

Agent Trace RFC

Lobsters Hottest

Agent Trace 是一个开放规范,用于追踪版本控制代码库中由 AI 生成的代码,定义了一种供应商中立的格式,以记录 AI 贡献与人工作者身份。