[实战分享] 记一次与 Solo Desktop 结对排查并重构复杂告警逻辑的绝佳体验

大家好!今天想和大家分享一下我近期使用 Solo Desktop 辅助开发和排查复杂业务逻辑的实战经验。

在维护一个复杂的客流监控与告警系统时,我们经常会遇到“为什么某条数据没查出来”、“为什么告警类型不对”这类问题。以往排查这类问题需要人肉翻阅多个 Service 和 DAO 层,甚至要扒历史代码。但这次借助 Solo Desktop,整个排查、分析、修改到重构的过程如丝般顺滑。

以下是本次“结对编程”的几个高光时刻和使用心得:

:bullseye: 场景一:精准的源码级逻辑追踪 (Bug 根因定位)

问题背景:发现某个监控点位接口(/areaFacts/getMonitorPointAreaFacts)中,没有配置告警规则的点位直接消失了,前端不展示实况数据。
Solo 的表现

  • 极速定位:只给了一个接口名,Solo Desktop 迅速通过全局检索,拉出了从 Controller 到 Service 的完整链路。
  • 一针见血:不仅找到了代码,还直接指出了核心原因——在 AreaFactsServiceImplforEach 遍历中,有一行 if (config == null) return; 构成了硬性拦截。
  • 深层业务理解:它甚至额外提醒我,代码在后续查询物理点位时,强依赖了配置里的 analyseType,把“告警配置”隐性当成了“实况分析开关”。这种深度的代码审查能力非常惊艳。

:counterclockwise_arrows_button: 场景二:安全的试错与敏捷回退 (Refactor & Revert)

问题背景:我最初决定干掉那个 if (config == null) return; 的拦截,让所有点位都展示实况数据。
Solo 的表现

  • 修改前的防御性检查:Solo 没有无脑删代码,而是主动去排查了下游的辅助方法(数据聚合 aggregateMonitorPointValues 和 告警定级 calculateMonitorPointAlertLevel),确认了这两个方法内部已经做好了对 config == null 的兼容处理(默认求和与默认正常状态),然后才给出了安全的修改方案并一键应用。
  • 懂业务的敏捷回退:修改完后我突然意识到,业务上的“聚合方式(求和/平均)”是绑定在告警配置里的,强制放开会导致数据计算歧义。我只需说一句“算了,还是不改了,保持这个逻辑”,Solo Desktop 瞬间理解了我的业务考量,并精准回退了代码。这种零沟通成本的撤销体验极佳。

:hammer_and_wrench: 场景三:全局架构缺陷发现与重构 (发现“501 兜底”元凶)

问题背景:定时任务中生成了大量 501(进出口旅客积压)告警,感觉类型绑定有遗漏。
Solo 的表现

  • 逻辑拆解:Solo 分析了 AlertV2Scheduler,清晰地列出了代码里将 501 作为“全局兜底类型”的三种场景(没配类型、未知类型等)。
  • 顺藤摸瓜找缺失:结合 AlertTypeEnum 枚举类,Solo 主动对比了系统里现有的区域(值机、安检)和有问题的区域(登机、行李、中转)。它指出代码里存在大量的“一刀切”逻辑——因为枚举不全,导致无论分析类型是什么,都强行返回固定的告警码(缺失了区域溢出/旅客积压的成对定义)。
  • 一站式补全:在我的指令下,Solo 跨文件进行了协同修改:
    1. AlertTypeEnum 中优雅地补充了 301408902601602 等缺失的告警枚举(连到达区 ARRIVAL 都一并考虑进去了)。
    2. AlertV2Scheduler 中死板的 switch-case 重构成了根据 analyseType 动态返回“溢出”或“积压”的三元运算分支。

:light_bulb: 总结:为什么推荐使用 Solo Desktop?

  1. 它不仅仅是个“搜索器”,而是“逻辑分析师”:遇到 Bug 时,不要自己去翻代码,直接把现象抛给它。它能通过上下文关联,把数据在哪一步被过滤、哪个变量导致了空指针、哪个默认值影响了输出,给你分析得明明白白。
  2. 修改代码前的主动嗅探:它在修改核心逻辑前,会去检查关联函数是否支持这种修改(如 null 安全检查),这极大降低了 AI 写代码引发次生 Bug 的概率。
  3. 极强的项目上下文记忆:在一个 Session 中,从接口排查到枚举梳理,再到定时任务重构,它一直保持着对“监控点位”、“告警类型”、“分析方式”这些核心领域名词的深刻记忆,沟通起来就像和一个熟悉项目多年的老同事在 Pair Programming。

一句话建议:把 Solo Desktop 当成你的高级研发搭档,多让它去“分析原因”和“检查遗漏”,你会发现排查问题的效率能提升数倍!


BUT: 当前 solo desktop 的默认模型的能力还有待加强,方案的质量与代码修改的质量,感觉没有在 TRAE ide中使用角色智能体来的好

1 个赞