乐于分享
好东西不私藏

聊一聊AI coding工具对ROS2 自动驾驶开发者的影响

聊一聊AI coding工具对ROS2 自动驾驶开发者的影响

一直想聊一聊AI coding工具对ROS2 自动驾驶开发者的影响,但又不知道从哪下手,从何聊起,今天随想随写整理了一下,希望对大家有帮助。
1.先来看个例子
如果要添加一个基于红绿灯状态的代价函数层:
  • 以前
阅读 Nav2 Costmap 插件文档(2小时)→ 找到源码位置并理解基类接口(30分钟)→ 编写新的插件类(2小时)→ 修改构建文件和插件注册(30分钟)→ 编译修复报错(1小时)→ 运行仿真测试(30分钟)。总计 4-5 小时,而且每一步都需要深厚的 C++ 和 Nav2 架构知识。
  • 现在

输入自然语言指令:”在路径规划模块中加入一个考虑红绿灯状态的代价函数层”。AI 自动探索代码库找到 Layer 基类实现,生成完整的 C++ 插件代码,修改 CMakeLists.txt 和 plugins.xml,执行 colcon build 并自动修复两处编译错误,最后启动仿真验证车辆在红灯前停车。全程 15-30 分钟,我只需要做最终验收。

2.AI Coding 工具的能力
  • 基础能力:底座LLM+ 内置工具

 AI Coding工具以LLM为认知引擎,驱动”上下文收集→推理决策→规划执行→验证反馈”闭环。当开发者发出指令,LLM主动感知项目结构、依赖关系与代码历史,并联网获取最新文档。基于丰富输入,它权衡重构/新建/修改配置等路径,调度阅读、编辑、构建、预览等工具完成操作,独立实现从模糊需求到可验证产出的完整流程。

实例:要求添加红绿灯检测模块,AI 自动探索规划模块结构、阅读代码理解插件接口、生成代码并编译验证。
  • 扩展与定制能力:规则、记忆、智能体、MCP、插件、技能

基础能力之上,AI Coding工具提供六层扩展机制,将”通用助手”升级为”团队专属工程师”。规则划定行为边界,记忆沉淀项目知识,智能体并行处理复杂任务,MCP连接外部数据源,技能封装专家工作流,插件打包定制功能——从行为约束到知识复用,从任务分解到系统集成,构建可演进、可沉淀的智能工程体系。

规则:强制性的行为护栏

在项目或全局配置中设定必须遵守的指令,AI在执行前强制读取并遵循。例如写入”严禁向生产数据库执行DROP命令”,将团队规范、架构约束和安全红线固化为AI的操作边界,防止”幻觉式”违规。

 实例:设定”规划插件必须继承 PluginInterface”,AI 新增模块时自动遵循基类规范。

记忆:跨越对话周期的持久化认知

将项目目录结构、业务逻辑、历史决策和编码偏好存储在本地 Markdown 文件中,打破LLM无状态限制。新对话时自动加载上下文,实现持续数周的长周期协同开发。

实例:记住 autoware 的三层目录结构(launcher/core/universe),下次对话无需重新解释。

智能体:并行子任务执行器

主控AI将复杂需求拆解为子任务,派出专门的子智能体并行执行。每个子智能体拥有独立上下文窗口和执行权限,完成后主控AI合并结果,避免单一窗口过载。

实例:并行派出 3 个子智能体分别探索规划、控制、感知三大模块。

MCP:连接外部世界的万能适配器

标准化协议,将AI与外部数据源(数据库、云盘、Jira、Slack)的交互抽象为统一的”工具调用”。连接后可从问题跟踪器获取需求、查询数据库、集成设计工具、自动化工作流。

实例:通过 Context7 MCP 查询 ROS2 Humble 的最新 API 文档,或获取 Nav2 costmap 插件的代码示例。

技能:可复用的专家工作流模板

封装好的提示词与工作流组合,定义专门的”思考过程”和”操作指令集”。例如security-audit技能内置SQL注入、XSS漏洞检查链,AI严格按专家路径执行,无需每次重复描述。

实例:使用自定义launch-tracker 技能可递归解析 ROS2 launch 文件的完整启动链,生成可视化报告。

插件:原生功能增强包

将自定义命令、专用代理、外部工具连接和自动化脚本打包为独立、可分享的单元,将AI从”对话助手”升级为可沉淀的”智能工程系统”。

实例:安装 planning-with-files 插件后,可使用 Manus 风格的文件规划系统追踪复杂任务。
  • 集成开发流与范式:从”工具”到”方法论”的跃迁

前两层解决了”能做什么”(基础能力)和”如何定制”(扩展机制),第三层则定义”如何系统性地做”。它引入标准化工作流,将需求澄清、方案设计、任务分解、增量实现、质量验证固化为可复用的开发范式。AI不再随意”跳入写代码”,而是先理解需求、设计方案、制定计划,再逐步执行——将资深工程师的隐性经验显性化为可遵循的工程流程。

代表性框架包括 Superpowers、OpenSpec、GSD、OMC、ECC等。以 Superpowers 为例:

核心理念:”系统性优于随机性”——AI 不应该直接写代码,而是先停下来思考,理解需求、设计方案、制定计划,再执行。所有技能都是纯 Markdown 文件,零依赖,通过 /plugin install 即可安装。

典型工作流

1. brainstorming(头脑风暴)→ 理解需求、设计方案 ➡️2. using-git-worktrees → 创建隔离的 git worktree 工作空间➡️3. writing-plans(编写计划)→ 分解为小任务(每个 2-5 分钟)➡️4. subagent-driven-development → 子代理执行 + 两阶段审查➡️5. test-driven-development(TDD)→ RED-GREEN-REFACTOR 循环➡️6. requesting-code-review → 代码审查➡️7. finishing-a-development-branch → 合并/PR 决策
步骤 Superpowers 技能 实际操作
1 brainstorming AI 提问:”盲区检测触发条件是什么?需要哪些传感器输入?”,澄清需求边界
2 writing-plans 分解为:理解 PluginInterface → 编写 Scene 类 → 注册插件 → 编写单元测试
3 using-git-worktrees 创建 blind_spot_module 分支的独立工作区,不影响主线开发
4 subagent-driven 子代理 A 阅读现有模块代码,子代理 B 生成插件骨架,主控合并
5 TDD 先写测试用例(模拟盲区场景),再实现检测逻辑,确保红线覆盖
6 code-review AI 检查:是否继承 PluginInterface?参数配置是否合理?有无硬编码阈值?
7 finishing 运行 colcon test,验证仿真场景,创建 PR 提交到 autoware_universe

这一流程将”添加一个模块”从依赖工程师经验的随机过程,转化为可复现、可审查、可追溯的标准工程实践。

3.AI Coding工具正在重塑ROS2 自动驾驶开发流程

AI Coding工具的价值不止于代码生成,它能够渗透到自动驾驶开发的每一个环节,包括环境配置、依赖安装、源码编译、运行demo、代码理解、实车部署、调试排错、功能开发等等。在当下,AI coding工具正在动态地重塑ROS2 自动驾驶开发流程,AI coding工具使用差距正在快速的扩大人和人之间的差距,特别是AI coding工具能力也在快速地发展,这会进一步地扩大这差距。无论你是初学者还是资深工程师,无论你在开发工作承担了什么角色,一个诚恳的建议就是把这个工具先用起来,具体你可以按照章节2中三部分能力逐步进阶。
最后
我们把AI Coding工具带入了ROS2自动驾驶开发套件,核心层为 Autoware.universe+Nav2 双主线自动驾驶集成底座,向外依次拓展覆盖 SLAM、感知、规划全链条的算法生态层、AI 原生的 Coding Agent 开发提效层