【More than Coding】用 SOLO MTC搭建 AGV 轨迹回溯与日志回溯系统,让调度调试不再"盲人摸象"

【More than Coding】用 SOLO 搭建 AGV 轨迹回溯与日志回溯系统,让调度调试不再"盲人摸象"

① 摘要

做 AGV 调度开发时,排查小车异常往往需要在轨迹工具和日志系统之间反复切换,效率极低。我用 TRAE SOLO 从需求分析到代码实现,搭建了一套 AGV 轨迹回溯与日志回溯系统——在同一界面中,3D 地图上展示所有 AGV 位置,点击任意小车即可实时回放其历史运行轨迹,同时联动展示对应时间段的运行日志。技术选型 Go + Three.js,从需求文档、功能实现文档到最终代码,全程由 SOLO 辅助完成。

② 背景

我是一名 AGV 调度系统开发工程师。日常工作中,优化调度算法、排查小车异常行为是高频场景。

核心痛点:

轨迹查看和日志查看是两套独立工具,来回切换、人工对齐时间,费时且容易遗漏关键信息。

举个典型场景——某台 AGV 在路口异常停滞,排查过程是这样的:

  1. 打开轨迹工具,定位异常时间点和位置
  2. 切到日志系统,搜索对应时间段的日志
  3. 人工对齐时间和位置信息,分析原因

整个过程繁琐且容易出错。我一直在想:能不能有一个系统,把轨迹回放和日志查看放在一起?点击某台小车,它的轨迹和日志同时出现,一目了然。

于是,这个项目诞生了。

③ 用 SOLO 实现的过程

整个项目分为以下几个阶段:

STEP 1:需求分析 — 先出文档,再写代码

我没有直接让 SOLO 写代码,而是先让它帮我梳理需求:

“我需要一个 AGV 轨迹回溯系统。3D 地图上展示所有小车的实时位置,点击某台小车后显示它的历史运行轨迹,同时下方联动展示对应时间段的运行日志。”

SOLO 帮我输出了两份关键文档:

  • 需求文档:明确了功能模块——3D 地图展示、小车选择与轨迹回放、日志联动查看、时间轴控制等
  • 功能实现文档:拆解了每个模块的技术实现方案、接口定义和数据结构

这一步很关键,有了清晰的"施工图",后续开发才不会反复返工。

STEP 2:技术选型

技术选型由我来拍板:

层级 技术方案 选择理由
后端 Go 需要处理大量轨迹数据,Go 的并发性能和部署便利性非常适合
前端 Three.js 需要在 3D 场景中还原 AGV 的实际运行路径和地图环境

STEP 3:编码实现 — 文档驱动,逐步推进

有了需求和实现文档后,让 SOLO 根据文档逐步实现:

  1. 后端部分:Go 搭建数据服务,提供轨迹数据查询和日志检索接口
  2. 前端 3D 场景:Three.js 构建 3D 地图,渲染所有 AGV 的实时位置
  3. 小车选择 + 轨迹实时回放:点击地图上的某台小车,像播放视频一样实时回放该车的历史运动轨迹
  4. 日志联动:轨迹回放过程中,下方日志面板同步展示对应时间点的运行日志
  5. 时间轴控制:支持播放/暂停、拖动时间轴,小车在轨迹上的位置和日志内容同步跳转

为了让 SOLO 更好地理解我的项目结构,我还让它帮我编写了 Skills,用于读取我自定义的配置文件和数据格式。这样 SOLO 就能准确理解业务数据结构,生成的代码更贴合实际需求。

STEP 4:一个有趣的插曲 :tada:

开发过程中有一件让我印象很深的事:

刚开始用 SOLO 的时候,我让它运行写好的 Three.js 代码,它告诉我 “没有 WebGL 组件,无法运行”。当时有点沮丧,想着可能前端部分得自己手动调了。

过了几天之后,我抱着试试看的心态再次让 SOLO 运行那段代码,心想如果报错就尝试用 Skills 引导它。结果没想到——它直接就跑通了! 没有任何报错,Three.js 的 3D 场景完美渲染了出来。

这件事让我真切感受到 SOLO 的能力在持续进化,也让我对 AI 辅助开发有了更多信心。

④ 成果展示

最终实现了一套 AGV 轨迹回溯与日志回溯系统,核心功能:

  • :world_map: 3D 地图总览:Three.js 构建的 3D 场景中,展示所有 AGV 的实时位置
  • :automobile: 点击小车实时回放轨迹:点击地图上的某台小车,像播放视频一样实时回放该车的历史运动轨迹
  • :clipboard: 日志联动:轨迹回放过程中,下方日志面板同步展示对应时间点的运行日志
  • :stopwatch: 时间轴控制:支持播放/暂停、拖动时间轴,小车在轨迹上的位置和日志内容同步跳转

⑤ 效果与总结

提效成果

  • 调试效率大幅提升:以前轨迹工具和日志系统来回切换,现在一个界面搞定,问题定位时间缩短了 60% 以上
  • 开发周期缩短:从需求分析到功能实现,全程由 SOLO 辅助,整体开发周期比纯手工开发缩短了约一半

SOLO 在这个项目中做了什么?

角色 SOLO 的贡献
产品经理 输出结构化的需求文档和功能实现文档
后端工程师 根据文档实现 Go 数据服务
前端工程师 Three.js 3D 场景搭建、轨迹渲染、日志联动
技术助理 编写自定义 Skills 读取项目配置和数据格式
调试工程师 自动运行和调试代码,发现问题并修复

可复用的方法

  • 先规划后执行:让 SOLO 先输出需求文档和实现方案,再逐步编码,比直接扔模糊需求让 AI 猜着写效率高得多
  • Skills 是桥梁:编写自定义 Skills 让 SOLO 理解你的业务数据结构,生成的代码质量会显著提升
  • 保持尝试:SOLO 的能力在持续进化,几天前做不到的事,几天后可能就悄无声息地解决了

写在最后 就这一句话是我自己敲的,其他的都是AI写的,嘻嘻:face_with_hand_over_mouth: