【More than Coding】用 SOLO 搭建 AGV 轨迹回溯与日志回溯系统,让调度调试不再"盲人摸象"
① 摘要
做 AGV 调度开发时,排查小车异常往往需要在轨迹工具和日志系统之间反复切换,效率极低。我用 TRAE SOLO 从需求分析到代码实现,搭建了一套 AGV 轨迹回溯与日志回溯系统——在同一界面中,3D 地图上展示所有 AGV 位置,点击任意小车即可实时回放其历史运行轨迹,同时联动展示对应时间段的运行日志。技术选型 Go + Three.js,从需求文档、功能实现文档到最终代码,全程由 SOLO 辅助完成。
② 背景
我是一名 AGV 调度系统开发工程师。日常工作中,优化调度算法、排查小车异常行为是高频场景。
核心痛点:
轨迹查看和日志查看是两套独立工具,来回切换、人工对齐时间,费时且容易遗漏关键信息。
举个典型场景——某台 AGV 在路口异常停滞,排查过程是这样的:
- 打开轨迹工具,定位异常时间点和位置
- 切到日志系统,搜索对应时间段的日志
- 人工对齐时间和位置信息,分析原因
整个过程繁琐且容易出错。我一直在想:能不能有一个系统,把轨迹回放和日志查看放在一起?点击某台小车,它的轨迹和日志同时出现,一目了然。
于是,这个项目诞生了。
③ 用 SOLO 实现的过程
整个项目分为以下几个阶段:
STEP 1:需求分析 — 先出文档,再写代码
我没有直接让 SOLO 写代码,而是先让它帮我梳理需求:
“我需要一个 AGV 轨迹回溯系统。3D 地图上展示所有小车的实时位置,点击某台小车后显示它的历史运行轨迹,同时下方联动展示对应时间段的运行日志。”
SOLO 帮我输出了两份关键文档:
- 需求文档:明确了功能模块——3D 地图展示、小车选择与轨迹回放、日志联动查看、时间轴控制等
- 功能实现文档:拆解了每个模块的技术实现方案、接口定义和数据结构
这一步很关键,有了清晰的"施工图",后续开发才不会反复返工。
STEP 2:技术选型
技术选型由我来拍板:
| 层级 | 技术方案 | 选择理由 |
|---|---|---|
| 后端 | Go | 需要处理大量轨迹数据,Go 的并发性能和部署便利性非常适合 |
| 前端 | Three.js | 需要在 3D 场景中还原 AGV 的实际运行路径和地图环境 |
STEP 3:编码实现 — 文档驱动,逐步推进
有了需求和实现文档后,让 SOLO 根据文档逐步实现:
- 后端部分:Go 搭建数据服务,提供轨迹数据查询和日志检索接口
- 前端 3D 场景:Three.js 构建 3D 地图,渲染所有 AGV 的实时位置
- 小车选择 + 轨迹实时回放:点击地图上的某台小车,像播放视频一样实时回放该车的历史运动轨迹
- 日志联动:轨迹回放过程中,下方日志面板同步展示对应时间点的运行日志
- 时间轴控制:支持播放/暂停、拖动时间轴,小车在轨迹上的位置和日志内容同步跳转
为了让 SOLO 更好地理解我的项目结构,我还让它帮我编写了 Skills,用于读取我自定义的配置文件和数据格式。这样 SOLO 就能准确理解业务数据结构,生成的代码更贴合实际需求。
STEP 4:一个有趣的插曲 
开发过程中有一件让我印象很深的事:
刚开始用 SOLO 的时候,我让它运行写好的 Three.js 代码,它告诉我 “没有 WebGL 组件,无法运行”。当时有点沮丧,想着可能前端部分得自己手动调了。
过了几天之后,我抱着试试看的心态再次让 SOLO 运行那段代码,心想如果报错就尝试用 Skills 引导它。结果没想到——它直接就跑通了! 没有任何报错,Three.js 的 3D 场景完美渲染了出来。
这件事让我真切感受到 SOLO 的能力在持续进化,也让我对 AI 辅助开发有了更多信心。
④ 成果展示
最终实现了一套 AGV 轨迹回溯与日志回溯系统,核心功能:
3D 地图总览:Three.js 构建的 3D 场景中,展示所有 AGV 的实时位置
点击小车实时回放轨迹:点击地图上的某台小车,像播放视频一样实时回放该车的历史运动轨迹
日志联动:轨迹回放过程中,下方日志面板同步展示对应时间点的运行日志
时间轴控制:支持播放/暂停、拖动时间轴,小车在轨迹上的位置和日志内容同步跳转
⑤ 效果与总结
提效成果
- 调试效率大幅提升:以前轨迹工具和日志系统来回切换,现在一个界面搞定,问题定位时间缩短了 60% 以上
- 开发周期缩短:从需求分析到功能实现,全程由 SOLO 辅助,整体开发周期比纯手工开发缩短了约一半
SOLO 在这个项目中做了什么?
| 角色 | SOLO 的贡献 |
|---|---|
| 产品经理 | 输出结构化的需求文档和功能实现文档 |
| 后端工程师 | 根据文档实现 Go 数据服务 |
| 前端工程师 | Three.js 3D 场景搭建、轨迹渲染、日志联动 |
| 技术助理 | 编写自定义 Skills 读取项目配置和数据格式 |
| 调试工程师 | 自动运行和调试代码,发现问题并修复 |
可复用的方法
- 先规划后执行:让 SOLO 先输出需求文档和实现方案,再逐步编码,比直接扔模糊需求让 AI 猜着写效率高得多
- Skills 是桥梁:编写自定义 Skills 让 SOLO 理解你的业务数据结构,生成的代码质量会显著提升
- 保持尝试:SOLO 的能力在持续进化,几天前做不到的事,几天后可能就悄无声息地解决了
