Conversational Code Generation: a Case Study of Designing a Dialogue System for Generating Driving Scenarios for Testing Autonomous Vehicles

📄 arXiv: 2410.09829v3 📥 PDF

作者: Rimvydas Rubavicius, Antonio Valerio Miceli-Barone, Alex Lascarides, Subramanian Ramamoorthy

分类: cs.CL, cs.IR, cs.RO

发布日期: 2024-10-13 (更新: 2025-09-08)

备注: In Proceedings of GeCoIn 2025: Generative Code Intelligence Workshop, co-located with ECAI-2025


💡 一句话要点

提出一种基于对话的自动驾驶场景生成系统,显著提升场景生成成功率。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 自动驾驶 场景生成 对话系统 自然语言接口 大型语言模型

📋 核心要点

  1. 自动驾驶车辆测试依赖于领域特定程序的仿真,但编写这些程序对非专业人士构成挑战。
  2. 利用大型语言模型构建自然语言接口,通过对话交互将用户意图转化为可执行的场景描述程序。
  3. 实验表明,对话交互显著提升了场景生成的成功率,相较于无对话方式提升了4.5倍。

📝 摘要(中文)

本文设计了一种自然语言接口,利用指令跟随的大型语言模型,辅助非编程领域专家合成所需的自动驾驶测试场景和车辆行为。该接口旨在帮助在部署前对自动驾驶汽车进行仿真测试,测试中会使用特定领域的程序进行场景规范。研究表明,尽管训练数据集非常小,但使用该接口将自然语言转换为符号程序是可行的。通过人工实验发现,对话对于成功生成模拟场景至关重要,与没有进行扩展对话的生成相比,成功率提高了4.5倍。

🔬 方法详解

问题定义:自动驾驶车辆在实际部署前需要在仿真环境中进行大量的测试,而创建这些测试场景通常需要编写复杂的领域特定程序。对于不具备编程能力的领域专家来说,这是一个巨大的挑战,现有的方法缺乏易用性,难以让非专业人士高效地创建所需的测试场景。

核心思路:本文的核心思路是利用大型语言模型(LLM)的自然语言理解和生成能力,构建一个对话系统,允许用户通过自然语言描述所需的自动驾驶测试场景。通过多轮对话,系统可以逐步 уточнить 用户的意图,并将其转化为可执行的场景描述程序。

技术框架:该系统主要包含以下几个模块:1) 自然语言理解模块:负责解析用户的自然语言输入,提取关键信息,例如车辆类型、行驶路线、交通规则等。2) 对话管理模块:负责维护对话状态,跟踪用户意图,并根据当前状态生成合适的回复,引导用户提供更详细的信息。3) 代码生成模块:负责将用户意图转化为可执行的场景描述程序,例如 CARLA 模拟器的 Python 脚本。4) 仿真执行模块:负责执行生成的场景描述程序,并在仿真环境中模拟自动驾驶车辆的行驶过程。

关键创新:该研究的关键创新在于将对话交互引入到自动驾驶测试场景的生成过程中。通过多轮对话,系统可以更好地理解用户的意图,并逐步 уточнить 场景的细节,从而生成更准确、更符合用户需求的测试场景。与传统的单轮生成方法相比,该方法能够显著提高场景生成的成功率。

关键设计:该系统使用了指令跟随的大型语言模型作为核心组件,并针对自动驾驶测试场景的特点进行了微调。在对话管理方面,系统采用了基于规则和基于模型的混合方法,以确保对话的流畅性和准确性。在代码生成方面,系统使用了模板和代码片段相结合的方法,以提高代码生成的效率和质量。具体的参数设置、损失函数和网络结构等技术细节在论文中未详细说明,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,使用该对话系统生成自动驾驶测试场景的成功率显著提高,与没有进行扩展对话的生成相比,成功率提高了4.5倍。这表明对话交互对于成功生成模拟场景至关重要,验证了该方法的有效性。

🎯 应用场景

该研究成果可应用于自动驾驶车辆的测试与验证,帮助开发者更高效地创建各种复杂的测试场景,从而提高自动驾驶系统的安全性和可靠性。此外,该技术还可以扩展到其他网络物理系统,例如机器人、智能交通系统等,为这些系统的测试与验证提供更便捷的工具。

📄 摘要(原文)

Cyber-physical systems like autonomous vehicles are tested in simulation before deployment, using domain-specific programs for scenario specification. To aid the testing of autonomous vehicles in simulation, we design a natural language interface, using an instruction-following large language model, to assist a non-coding domain expert in synthesising the desired scenarios and vehicle behaviours. We show that using it to convert utterances to the symbolic program is feasible, despite the very small training dataset. Human experiments show that dialogue is critical to successful simulation generation, leading to a 4.5 times higher success rate than a generation without engaging in extended conversation.