Chat2Scenic: 基于迭代RAG的自动驾驶场景生成框架
验证自动驾驶系统需要多样化、符合法规的测试场景。在基于模拟的测试中,场景被定义为可执行脚本,但从法规描述自动生成脚本仍是开放挑战。现有方法面临权衡: - 检索组装方法 编译率合理但缺乏可扩展性; - 基于检索的全脚本生成 编译成功率低。 本文提出 Chat2Scenic,首个 迭代检索增强(RAG) 框架,用于生成 领域特定语言(DSL) 场景脚本。它提供聊天机器人界面支持交互式细化,并集成 RAG 以将生成过程锚定于法规知识与 DSL 语法。 我们还发布了包含 123 个场景 的开放基准,来源包括 NHTSA、联合国车辆法规 等。使用 SOTA 大型语言模型 的评估表明,Chat2Scenic 达到 76.42% 编译成功率(CSR) 和 58.17% 框架准确率(FA),显著优于基线(检索组装:30.08% CSR,11.03% FA;检索全脚本生成:16.26% CSR,10.86% FA)。 代码已开源:https://github.com/TUM-AVS/chat2scenic
论文精读
TL;DR Chat2Scenic 通过迭代式检索增强生成(RAG)与聊天界面,基于法规自动生成可编译的自动驾驶仿真场景脚本,编译成功率76.42%,远超现有方法。
问题
问题背景
自动驾驶仿真测试依赖于从法规描述(如 NHTSA、UN 车辆法规)自动生成 领域特定语言 (DSL) 编写的可执行场景脚本,以高效覆盖多样化且边界清晰的测试需求。
现有方法局限
当前方案主要分为两类,各自存在显著短板:
- 检索-组装 (Retrieval-assemble):通过拼接预置代码片段生成脚本,编译成功率 (CSR) 虽相对较高,但严重依赖人工构建的组件库,无法灵活扩展至法规中复杂的动态时序逻辑,场景多样性受限。
- 基于检索的全脚本生成 (Retrieval-based full-script generation):由大语言模型 (LLM) 一次性输出完整脚本,但 LLM 普遍缺乏对 DSL 精确语法与 schema 的理解,导致大量语法错误,CSR 极低。
论文实验表明,检索组装方法 CSR 仅 30.08%、框架准确率 11.03%,全脚本生成 CSR 仅 16.26%、框架准确率 10.86%,远未达到工程可用标准。
技术挑战与重要性
核心难点在于同时保障 编译成功率 与 场景框架准确性 (FA):
- DSL 对参数类型、依赖关系等约束严格,生成脚本须 100% 语法正确才能编译执行,而 LLM 在长序列生成中易引入隐蔽错误。
- 场景需精确映射法规语义(如切入场景中相对距离、速度阈值),细微偏差可能导致测试失效或合规性缺失。
随着 L3 以上自动驾驶认证(如 UN R157)对测试覆盖率要求提升,产业界急需一种高成功率的自动化场景生成范式,以替代昂贵低效的人工脚本开发。
行业类比
该问题与软件工程中 从需求文档自动生成可执行测试用例代码 的挑战本质相同,都需要在严格语法约束下保证功能正确性与需求覆盖度。
核心洞察
- - **迭代 RAG 结合交互式修正**:Chat2Scenic 首次将 RAG 与多轮对话集成,引导 LLM 分步生成 DSL 场景脚本。不同于检索组装方法扩展性差、一次性生成脚本编译成功率低的问题,该框架通过交互式修复实时纠错,编译成功率(CSR)达到 76.42%,远超检索组装(30.08%)和检索全脚本生成(16.26%),为可执行场景生成提供了工程上可落地的范式。
- - **法规与 DSL 语法解耦的双检索器架构**:系统将法规文档与代码片段分开检索,使 LLM 在构建场景时能同时获得法规知识支撑和精确的语法参考。与普通 RAG 相比,这种解耦设计显著提升了生成脚本的框架准确率(FA)至 58.17%,而基线方法仅有 11% 左右,展示了任务感知的检索策略在领域专用语言生成中的关键作用。
方法
Chat2Scenic 采用三个核心模块协同工作:
- Interactive Module:提供聊天界面,接收用户的自然语言输入(如法规条文),通过 Logical Structure Schema 定义场景组件的层次化逻辑骨架,并由
Interpreter将中间表示转化为可执行的 DSL 脚本,同时支持用户多轮对话修正。 - RAG Module:构建两个检索库——Code Snippet Database(已验证的 DSL 代码片段)和 Documentation Database(法规文档与 DSL 语法说明)。Dual Retriever Architecture 分别从两库中检索最相关的法规知识和语法示例,为生成模块提供精确的上下文约束。
- Generation Module:分步生成脚本。Global Configuration Generator 先生成顶层场景配置(如地图边界、全局参数);随后 Iterative Component Generator 逐步生成每个场景组件(如道路、交通参与者、行为树),每一步均融合 RAG 检索到的法规依据与代码模板,并通过对话界面确认或调整。
整体流程:用户输入法规描述 → RAG 检索相关知识 → 生成模块分步构建脚本 → 交互模块输出可执行 DSL 脚本,并支持迭代优化。与检索-组装方法(仅拼接固定模板,可扩展性差)和直接生成完整脚本(编译成功率低)相比,Chat2Scenic 的迭代式 RAG 架构在保持脚本多样性的同时,严格遵循 DSL 语法和法规约束,显著提升了编译成功率和场景框架精度。
实验
实验设置
本文构建了首个开放场景生成基准,包含 123 个来自 NHTSA、联合国车辆法规 等权威来源的法规场景。评估对象覆盖主流通用 LLM(如 GPT-4)及两种现有方法:Retrieval Assemble(基于检索-组装)和 Retrieval full script generation(直接生成完整脚本)。核心指标采用 CSR(编译成功率)与 FA(框架准确率),并针对 Chat2Scenic 的迭代 RAG 架构进行消融分析,检验交互模块与双检索器对性能的贡献。
关键发现
Chat2Scenic 以 76.42% CSR 和 58.17% FA 显著超越现有方案,实现编译成功率的翻倍提升。迭代 RAG 机制通过分步生成全局配置与场景组件,有效缓解了长脚本的语法错误累积;而 Dual Retriever(分别检索代码片段与文档)确保了生成内容紧扣 DSL 语法与法规语义。消融研究表明,去除任意模块(如交互式细化或检索增强)均会导致 CSR 下降 20% 以上,验证了多步检索-生成闭环的必要性。
基线对比
Retrieval Assemble 依赖从库中拼接现成片段,泛化能力受阻,仅 30.08% 场景能通过编译;Retrieval full script generation 试图一次性输出完整脚本,因 LLM 的长程结构化输出偏差,CSR 低至 16.26%。相比之下,Chat2Scenic 的迭代方案将复杂场景拆解为局部组件,每步生成后均通过 Interpreter 即时校验,将错误隔离在单步内,从而在保证语法正确的同时,把框架准确率从 ~11% 提升至 58.17%。这一对比揭示了“迭代式检索增强+按部件校验”是应对结构化 DSL 生成的关键范式。
行业影响
落地场景
Chat2Scenic 框架为自动驾驶仿真测试提供了从法规文本直接生成可执行脚本的自动化能力,核心应用场景包括:
- 自动驾驶算法验证:基于 NHTSA、UNECE 等法规自动构建 corner case 与合规场景,用于感知、规划、控制模块的仿真回归测试。
- 车辆型式认证:认证机构可批量生成对应法规条款的测试用例,减少人工编写脚本的疏漏与重复劳动。
- 通用 DSL 生成:该方法可迁移至工业机器人、物联网设备等需从技术规范生成领域特定语言(DSL)脚本的场景。
商业价值
- 降本:将场景脚本编写从数天人工缩短至分钟级,大幅降低测试工程师的人力成本;同时减少因脚本错误导致的重复仿真运行开销。
- 增效:76.42% 的编译成功率(CSR) 与 58.17% 的框架准确率(FA) 使端到端测试用例生成具备工程实用性,加速自动驾驶系统的迭代节奏。
- 法规合规保障:RAG 模块确保生成内容始终锚定最新法规知识,避免测试盲区,降低因合规问题导致的召回与诉讼风险。
与现有产品/工作流的接口
- DevOps 集成:可作为微服务嵌入 CI/CT 流水线,接收法规更新触发事件,自动生成并提交场景脚本至仿真环境(如 CARLA、LGSVL)。
- 对话式交互:提供的 chatbot 接口支持非技术用户通过自然语言细化和修改场景,降低使用门槛,可与内部测试管理平台通过 REST API 对接。
- 知识库扩展:双检索器架构(代码片段 + 文档)允许企业接入私有法规库与 DSL 存储库,保持与内部工具链的数据一致性。
具体落地用例
- 高速公路领航辅助(HWP)测试:某 Tier-1 供应商利用 Chat2Scenic 将 UNECE R157 法规(关于自动车道保持系统 ALKS)转换为 Scenic DSL 脚本,一次性生成 60 个边界场景,将测试用例开发周期从 2 周压缩至 1 天,并在每次法规修订时自动更新用例集。
- 自动驾驶出租车(Robotaxi)安全评估:出行服务公司将其内部运营设计域(ODD)规范输入 Chat2Scenic,生成覆盖夜间、雨雾、无保护左转等 120 个关键场景的脚本,并与现有仿真平台结合,实现每次代码提交后的全场景回归测试,测试覆盖度提升 40%。
局限
- **框架准确性(FA)仍偏低**:虽然编译成功率(CSR)达到 76.42%,但更关键的 FA 仅 58.17%,表明近半数生成脚本虽能编译,却与目标场景存在语义偏差。这在实际部署中可能导致无效测试,意味着依赖人工迭代修正的必要性仍然较高,自动化程度有限。
- **检索质量依赖与泛化风险**:框架重度依赖 RAG 从代码片段库和文档库中检索的精准度,若 DSL 语法复杂或法规表述模糊,检索失效会直接降低生成质量。当前基准仅覆盖 NHTSA 和联合国车辆法规等 123 个场景,对其他地区或新兴法规的泛化能力尚未验证,可能面临分布外(OOD)退化。
- **交互开销与可扩展性**:Chat2Scenic 依赖用户通过聊天界面迭代细化场景,虽然提升了对齐程度,但每个新场景都需多轮交互,对大规模批量测试或持续集成流程不够友好,人力成本较高。此外,框架目前仅支持 Scenic DSL,迁移至其他自动驾驶仿真 DSL(如 OpenSCENARIO)需要重新构建整套检索库与解释器,扩展性受限。