挑战在 Coding Agent 时彻底推翻之前的方案

自研方案做到一半,越来越不对劲

当时我在做一个 ROS2 Integration Goal。

技术路线已经讨论过,Requirement 也冻结了,Route B Sidecar 甚至已经有了一套能工作的实现。

但越往后做,要补的东西越来越多:生命周期、重连、自定义消息、二进制传输、Clock、TF、Diagnostics......

每个都不是不能做,就是做着做着开始觉得:

我到底是在做 ROS2 Adapter,还是莫名其妙自己造 ROS2 Integration 了?

旧方案能跑,代码也写了一半,所以又不是那种可以毫无心理负担直接扔掉的东西,这种"明明继续做也能做完,但越做越觉得哪里不太聪明"的状态实在难受。

Prior Art Review,别人好像已经做完了

我问 AI 能不能调研下现有的成熟方案是怎么做的,他说这叫 Prior Art Review

翻成人话就是:先别写了,看看别人是不是早就把这些坑踩完了。

然后就查到了 TempoROS。

现有方案到底能不能接入呢?还是要先验证一下的。于是Route B 继续保持不动,新的方案放到隔离项目里旁路验证:Lifecycle、Custom Message、大 Payload......

就在大 Payload 的时候还真遇到了问题, 6 MiB FString 大概要用20多ms,大量挤占 Game Thread 的线程时间,或者说已经超过 16.67ms 了,险些否决这个方案。后来又做了实验,才发现是转换时间过长,换 Binary Image 才变成 2-3ms 左右的 mapper 用时,通过验收。

到这里才算:

不是"这个方案看起来不错",而是真的有证据证明它可以替代旧方案。

旧方案如何清理,才是真正的麻烦

让 Coding Agent 接受新方案很容易,你说以后走 TempoROS,它基本马上就会开始干,但是他真的会完全忘记之前的方案吗?但是他上下文压缩后真的会忘记之前的方案吗?

哦,他会,于是他会去读文档,这个时候,他还能分清谁是真方案吗?我替他问了:为什么这个项目的代码这么乱?怎么有两种方案叠在一起,我该按哪个执行?干脆都保留吧。

也就是说,旧方案已经形成了 Plan、Requirement、代码、测试和一堆调查证据。

如果只是再写一个新方案,最后将是:

复制代码
旧方案:有文档、有代码、有证据
新方案:也有文档、有代码、有证据

然后下一任 Agent 非常认真地:

两边都有道理,那我综合一下。

喜提一个没人设计过的缝合怪。

所以这次没有搞什么 Plan-v2Final-Plan

还是同一个 Active Plan,还是同一套 Requirement Ledger。

新证据改变了 Current Decision,但以前的证据也没有删,而是明确降成 Historical Evidence / Superseded

我认为这是一个很明确的区分:

旧方案没有消失,它只是失去了投票权。

它甚至还能解释"当时为什么这么做",但再也不会允许回答"现在应该怎么做"。

整个流程大概是:

css 复制代码
旁路证明新方案
→ 修改当前决策
→ 主项目实现新路线
→ 完整验收
→ 确认新路线站稳
→ 删除旧 Route B
→ 删完再验一遍

也就是先把新桥修通,确认真能走,再改路牌,最后才拆旧桥。

旧 Sidecar、Bridge、Framing、Reconnect 等实现最终真的被删掉,而且删除以后重新 Build、Automation,确认项目仍然成立。

挑战已经成功,现在是总结时间

Goal 完成后,Plan 归档进 Archive;当前事实进 Architecture 形成契约;为什么长期选择 TempoROS,则由 ADR 长期记录。

后来我把这种做法也整理进了 DocOS

github.com/ZhangAo1999...

这次最大的感受其实不是"换方案成功了"。

而是:

让 Coding Agent 改主意很简单,难的是让整个项目一起改主意。

相关推荐
大模型丫丫25 分钟前
如何高效部署开源AI编程助手:OpenCode实战指南
开源·ai编程
OriginCoding26 分钟前
用 AI Agent 协作完成一个 Android TOTP 应用:从需求边界到 v1.0.0
android·ai编程
ovO30 分钟前
DeepSeek Harness 源码解读(四):一次 Turn 为什么会跑多个 Step
开源·agent·deepseek
JaydenAI1 小时前
[DeepSeek Harness插件内核-06]Context全面解析[自由扩展篇]
ai·agent·deepseek·harness·cordis
ShallWeL1 小时前
RAG 命中后的引用格式与拒答规则
agent·知识库·rag·智能体
DeepAgent1 小时前
AI Agent 工程实践(37):需求分析——一个 Agent 项目到底应该怎么拆
agent·需求分析
tachibana21 小时前
AI Agent 的记忆机制
人工智能·ai·大模型·llm·agent
ovO2 小时前
DeepSeek Harness 源码解读(三):七个核心服务怎样拼成一次 Agent 运行
开源·agent·deepseek
小羊432 小时前
从Prompt到Skill:专家经验的标准化封装指南
agent