
想象一个没有红绿灯的路口。四辆车几乎同时抵达每一辆都没有违章但谁也不知道对方下一秒要干什么。传统自动驾驶的做法是每一辆都靠感知算法去“猜”别人的意图用预测模型去“赌”别人的轨迹。猜对了顺畅通过猜错了要么急刹要么停在路口谁也不敢动。更麻烦的是如果两辆车都觉得自己有路权谁都不让路口就变成了僵局。大语言模型介入之后出现了一种新思路让车和车直接“对话”。不是靠灯光或喇叭而是通过无线通信把各自的意图、状态和约束条件用结构化语义发给对方。车不再是单打独斗的个体而是开始“组队”协作。这个方向看起来还很早期但它真正改变的不是某颗传感器的精度而是整个自动驾驶的决策逻辑——从“我猜你想干什么”变成“我告诉你我要干什么我们再商量”。这篇文章想聊清楚几件事大语言模型到底在自动驾驶里解决了什么问题一套“车车对话”的工作流长什么样工程落地要准备哪些组件以及为什么我建议先别急着把它直接接到方向盘上。1. 大语言模型在自动驾驶里的角色不是“更聪明的司机”1.1 单车智能的瓶颈不是感知而是“看不懂别人意图”过去十年自动驾驶的主线是在单车上安装越来越多的传感器摄像头、毫米波雷达、激光雷达配合越来越强的感知模型。到了某个阶段车辆对周围静态物体、动态车辆和行人的识别已经相当可靠。但真正在开放道路上跑过的团队都知道最难的不是“看见”而是“理解”。“理解”包含两层含义。第一层是对场景全局的理解。比如前方施工锥桶挡了一半车道侧方车辆在排队变道这时候车需要意识到这不是一个简单障碍物而是一个“事件”。第二层是对他人意图的理解。路口对面那辆车为什么慢慢往前挪是在等我还是想抢在我前面过去这类信息在大多数时候无法直接从像素里读出来只能靠“猜”。传统规控算法处理这个问题靠的是预测模型根据历史轨迹预测对方未来几秒的位置。预测准确率在简单场景下很高但遇到复杂交互场景本质上就是一种概率赌博。如果两辆车的预测结果都指向“我优先”冲突就无法避免。1.2 LLM带来的变化从“预测意图”到“交换意图”大语言模型在自动驾驶里真正有价值的地方不是替代感知模型去识别红绿灯也不是替代规控模块去算轨迹而是提供了一种“语义化表达与协商”的能力。一辆车可以把自己的状态和意图组织成结构化文本通过V2X通信发给附近车辆。内容大致包括当前车速、位置、目标车道接下来几百米内的驾驶计划以及希望对方执行的配合动作比如减速、让行、保持车距。另一辆车收到之后不是把它当作一条简单的控制指令而是交给大语言模型做意图理解、冲突判断和协商。如果双方计划冲突模型会检查是否有一方可以调整并生成新的建议方案。这个转变非常关键自动驾驶第一次不是“一个人自己想”而是“几辆车商量着来”。相比单车智能这多了一个信息维度也从根本上改变了交互方式。1.3 为什么过去V2X没有真正普及V2X车与万物通信不是新概念。早在智能网联汽车兴起时就有研究尝试让车与车交换位置、速度和刹车状态。但过去的V2X主要交换的是“运动状态”这类底层数据相当于在纸上写几个数字互相传。问题在于光有速度、位置、加速度不足以让对方理解“你为什么这么做”。两辆车交换了状态信息却不知道彼此的意图和计划最后还是得靠各自猜测。如果把V2X比作通信连接那LLM解决的其实是“通话内容能不能组织成让人听得懂的话”。底层链路当然重要但真正让“对话”产生价值的是语义协商层。所以我的判断是大语言模型并不是凭空创造了一种新通信技术而是补齐了V2X一直缺失的“语义协商层”。这才是它在这个领域最核心的增量。2. 一套“车车对话”的工作流从感知到协商再到控制2.1 整体链路五个层一次协商把“车车对话”落到工程上可以拆成一个五层链路感知层摄像头、激光雷达、毫米波雷达等设备采集环境数据语义化层把感知结果转换成结构化场景描述包括自车状态、目标、意图通信层通过V2X或中间件把语义数据分发给周边车辆协商层接收对方车辆的语义数据判断冲突、生成协商方案执行层把协商结果转换成规控信号下发到车辆控制模块。这套链路和传统自动驾驶最大的区别在第二层和第四层。传统方案里感知结果直接进入预测和规控模块而在这里感知结果会先被“翻译”成语义数据参与一次多车协商再回到规控模块。2.2 场景语义化把传感器数据变成“能商量的话”场景语义化是整个流程里最容易被低估的一步。大语言模型本身不能直接看懂激光雷达点云它需要的是“文本化”输入。所以要做的事情是把感知模块输出的目标列表、轨迹预测和地图信息拼装成一段有结构的场景描述。一个典型的场景描述可以包含场景ID和时间戳自车ID、位置、速度、航向目标车辆或障碍物列表及其运动状态当前道路拓扑和交通信号状态自车计划轨迹和期望策略。这段描述越结构化模型越容易稳定输出。我不建议直接把原始传感器数据丢给大语言模型也不建议让它读一长段自由文本。更好的方式是定义一套固定格式的JSON或者其他键值对结构感知模块负责填充数据模型只负责基于这份结构化输入做推理。2.3 意图协商不是聊天而是带约束的推理当多辆车的场景描述到达同一个协商模块它可以部署在其中一辆车上也可以部署在边缘计算节点。大语言模型在这个环节要做的工作包括识别双方是否存在时空冲突判断冲突类型追尾、路口抢行、变道插入、瓶颈汇入生成候选协商方案检查方案是否满足安全约束比如安全车距、速度限制、不能越过实线输出协商结果和依据。这里面最需要注意的是安全约束。大语言模型擅长生成看起来合理的语句但它不会天然遵守动力学限制和交通规则。所以协商层的输出不能直接变成控制指令必须先经过规则引擎和安全校验模块。常见做法是让LLM输出“提议”再由一套确定性规则模块决定“接受”还是“拒绝”。2.4 仿真环境中的最小验证流程对于想入门这个方向的开发者我建议先用仿真环境跑通最小流程不要一上来就考虑实车。最小流程大概是在CARLA、SUMO或Autoware等仿真环境里搭建一个双车交互场景从仿真器中导出两辆车的状态和感知结果写一个脚本把状态转换成结构化场景描述调用大语言模型接口分别输入双方场景描述让它生成协商建议把协商结果解析成规控指令写回仿真器对比有无协商模块时的通行效率和安全性。这个流程的核心价值不是做产品而是帮助理解“语义协商”到底改变了什么。先跑通再讨论优化这是我在工程实践里反复坚持的顺序。3. 要真正落地需要准备哪些工程组件3.1 数据层自动驾驶数据集与语义标注大语言模型在自动驾驶里的应用效果很大程度上取决于数据质量。传统自动驾驶数据集通常包含图像、点云、标注框、轨迹和地图信息但缺少“语义协商”所需的意图级标注。如果要训练或微调一个面向驾驶场景的模型数据需要包含以下层次场景描述这一帧里发生了什么意图标注自车接下来要执行什么动作交互标注其他车辆可能是什么意图协商结果多车共处一个场景时合理解决方案是什么。现有公开数据集大多只能覆盖前两层。所以很多团队会先做一轮“场景文本化”的数据加工用规则或视觉语言模型把现有数据自动补上语义描述再交给大语言模型筛选或微调。这个过程很耗时但它是模型稳定性的基础。3.2 模型层视觉大语言模型与纯语言模型的协作严格来说让车“看懂”场景并生成语义描述最合适的模型是视觉大语言模型而不是纯语言模型。纯语言模型只能处理已经文本化的输入视觉语言模型可以把图像或视频直接转成场景理解。在实际架构中通常有两种分工方式方式A传统感知模块负责检测和跟踪输出结构化目标列表再由语言模型做意图推理方式B视觉语言模型直接理解图像输出场景描述再交给语言模型做协商。方式A在实时性和可控性上更好因为感知结果仍然来自成熟的目标检测模型方式B更灵活但输出延迟和不确定性更高。我倾向于在初期采用方式A先把流程跑通再逐步验证方式B是否带来额外价值。3.3 通信层V2X与ROS/ROS2的对接车车对话需要一个通信载体。在工业界和学术界常用的路线包括C-V2X和专用短程通信在开发和仿真阶段更多团队会直接走ROS/ROS2的Topic或Service机制或者用MQTT、WebSocket等中间件模拟车车通信。在开发阶段我建议把通信层设计成可替换的接口。上层应用只关心“能发送一条语义消息”和“能收到一条语义消息”至于底层是用无线通信、局域网还是本机回环都封装起来。这样将来从仿真切到实车只需要替换通信适配层不需要重写协商模块。3.4 控制层安全兜底与降级策略这一部分最容易被人忽略。即使大语言模型协商得再合理也不能让它直接改方向盘和刹车。控制层必须保留一套确定性安全兜底机制前向碰撞预警与紧急制动独立运行不依赖大语言模型协商结果只作为目标车速、变道时机、让行决策的参考如果通信延迟、上下文过期或模型无响应自动降级为单车自动驾驶模式如果协商结果违反安全约束直接拒绝并采用保守策略。一句话大语言模型负责“商量”确定性安全模块负责“保命”。这两件事必须分开而且安全的优先级永远更高。3.5 一个通用提示词模板示例入门时可以用一个结构化提示词来稳定输出。以下是一个常见写法的简化示例{ system_prompt: 你是车路协同场景中的协商决策助手。输入是多辆车的结构化场景描述。请判断是否存在冲突。如果存在冲突请生成一个满足交规和动力学约束的协商方案。输出必须包含冲突判断、期望对方动作、自身调整动作、理由。, user_message: { self_vehicle: { id: CAV-001, position: [100.5, 200.3], speed_mps: 8.0, target_lane: 1, planned_action: 直行通过路口, plan_horizon_s: 10.0 }, other_vehicle: { id: CAV-002, position: [105.0, 198.0], speed_mps: 9.0, target_lane: 2, planned_action: 左转, plan_horizon_s: 10.0 }, map_context: 无信号灯十字路口双向四车道当前天气晴朗 } }用这个结构的好处是输入固定、输出可解析、后续方便加字段。等流程稳定了可以再把更多上下文塞进去但要谨慎控制提示词长度避免模型处理不过来。4. 真正跑起来之后最容易踩的五个坑4.1 把大语言模型当成决策主脑很多人看到“车车对话”的概念第一反应是让大语言模型直接判断“谁先走”。这个方向表面看很自然实际上很危险。大语言模型的输出有概率性同一段输入在不同采样参数下可能给出不同答案。自动驾驶要求的是确定性安全行为而不是概率性建议。所以正确做法是让LLM生成候选方案由确定性规则引擎和安全校验模块来做最终裁决。你可以把LLM想象成一个“协调员”而不是“指挥官”。4.2 只考虑通信可达不考虑延迟和上下文过期车车对话的信息有极强的时效性。如果在10Hz的感知频率下一条协商消息在传输中多花了200毫秒那么双方基于这条消息做出的决策可能已经过时。工程上需要给每条语义消息加上时间戳和有效期。协商模块收到对方消息时要检查时间戳是否过期、对方的轨迹描述是否仍在可接受范围内。如果过期就丢弃并请求重发或者直接降级为单车决策而不是拿旧数据硬算。这种“过期保护”机制比调提示词更重要也更容易被忽略。4.3 提示词里的数值和单位不严谨大语言模型对文本里的数值不敏感。提示词里写“距离前方车辆5米”和“距离前方车辆50米”模型可能给出几乎一样的建议。这在常规对话场景里可以接受但在自动驾驶里无法接受。有两个解决办法所有数值都用固定单位并在提示词里明确标注单位比如米、秒、米每秒对LLM输出做程序化解析和数值校验确保它没有凭空捏造坐标或速度。不要相信模型会“自动理解”数字的含义。数值必须走程序校验通道文本只负责表达意图。4.4 仿真顺畅实车就出问题仿真和实车之间的差距在自动驾驶领域是老问题在“车车对话”里尤其明显。仿真环境里通信延迟为零定位误差为零模型输入永远干净实车环境里GPS漂移、感知漏检、通信丢包都会发生。所以建议在仿真验证通过后先做硬件在环测试再在封闭场地做双车验证最后才谈开放道路。每一步都要预设失败模式丢掉一帧感知断网两秒消息乱序模型超时分别应该出现什么行为。把这些情况列成一个测试矩阵比追求单次演示的完美更重要。4.5 只做功能验证不做回归测试“车车对话”模块一旦接入车辆控制链路就必须像普通自动驾驶模块一样接受回归测试。每一次提示词修改、每一次模型版本升级、每一次V2X协议更新都可能改变协商输出。我建议建立一套包含典型场景、边缘场景、异常输入的回归测试集。典型场景包括双车抢道、三车并行、行人穿插、前车急刹边缘场景包括通信中断、定位漂移、超时无响应异常输入包括超范围速度值、相互矛盾的意图描述。每次改动后跑一遍用自动化方式对比输出是否满足预期。5. 从demo到量产还差哪几块拼图5.1 近期最可能落地的场景列队行驶与园区物流从技术成熟度看最可能先落地的不是复杂的城市路口而是结构化程度高、参与者相对少的场景。典型的是高速货车列队车与车之间保持较近车距通过V2X和LLM协商加减速目的不是“聊天”而是降低风阻、节省油耗、提升道路通行效率。这类场景路线固定、规则清晰、冲突模式少是大语言模型介入成本较低的地方。另一个方向是园区物流和港区作业。园区内车辆类型单一、速度低、通信环境相对可控适合先验证“车车对话”的实用性。在这些场景积累的数据和经验也会为后续城市开放道路应用打基础。5.2 中期要解决的核心问题确定性、认证、责任边界量产和演示之间隔着三道硬门槛。第一是确定性。任何大语言模型输出都必须经过可重复校验相同的输入必须产生相同或等价的安全输出。这在当前大模型架构下还不能完全保证所以需要额外设计一个“安全过滤加确定性输出”层。第二是认证和安全标准。自动驾驶系统进入生产阶段需要满足功能安全标准而大语言模型的黑盒特性会带来认证困难。目前比较现实的路径是把LLM部分定位为“增强功能”不承担安全关键功能这样认证范围可以限定在确定性模块里。第三是责任边界。当两辆车通过协商做出了一个联合决策如果最终发生事故责任如何划分这个问题不只是技术问题更是保险和法律问题。短期内我判断LLM协商结果只适合作为辅助建议不能作为最终责任依据。5.3 不适合跑这套方案的场景再好的方案也有边界。在隧道、地下车库、山区等通信盲区车车对话直接失效。此时必须降级到单车智能模式所以系统不能把“对话能力”作为唯一决策来源。在极端天气下感知和通信都会受影响。传感器可能被雨雪遮挡V2X天线也可能衰减语义描述可靠性明显下降。这时候依赖大模型生成协商建议既有延迟问题也有安全风险。还有一种更微妙的情况安全优先级冲突。比如一辆车为了避让行人必须突然变道而另一辆车正在加速通过。两车的协商目标可能互斥。大语言模型在文本层面生成“谁让谁”的判断可能很轻松但现实中这涉及复杂的紧急避险逻辑和责任判断。这类场景绝不能只靠文本协商来解决必须有确定性安全机制兜底并明确降级策略。5.4 我的长期判断LLM改变的是车与车之间的协作范式回到文章开头那个路口。大语言模型在自动驾驶里真正改变的是什么我的判断是它改变的不是某一项任务的处理精度而是车与车之间协作的范式。过去自动驾驶车辆是各自独立做感知、预测和规控的封闭系统现在通过语义通信和协商能力车与车之间第一次有了“理解彼此意图”的可能。这种范式变化类似于在自动驾驶工作流里加入了一个“能说话的消息层”。它的价值不是让每辆车开得更猛而是让系统的整体效率更高、冲突更少、行为更可解释。当然这个方向还非常早期距离大规模量产还有距离。如果让我给一个最务实的建议那就是不要急着让大语言模型直接控车先把它引入到数据标注、场景描述、仿真博弈、决策解释这些不涉及生命安全的环节。跑通一个最小流程积累一套回归测试集再逐步向更核心的规划决策扩展。这样既安全也能真正看清这项技术的边界在哪里。