挑战在 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 改主意很简单,难的是让整个项目一起改主意。

相关推荐
云烟成雨TD21 小时前
LlamaIndex 系列【31】检索增强策略:命名实体识别(NER)
ai·agent·rag·llamaindex
mCell21 小时前
用 Knip 清理 AI Coding 留下的冗余代码
前端·ai编程·前端工程化
slacker-kian21 小时前
本地大模型 + 自建 MCP Server + SAP OData:让 LLM 代理 SAP 业务操作
大模型·llm·sap·agent·mcp·odata
Flynt21 小时前
Shopify 弃 React Native 上了 HN 1272 分,我复现了它给 Agent 用的那套无头架构
react native·前端框架·agent
leoZ2311 天前
第 10 篇 数据飞轮与冷启动:AI 产品的数据从哪来
人工智能·大模型·agent
坐吃山猪1 天前
Harness Engineering知识总结
llm·agent·harness
杨杨杨大侠1 天前
RAG 到底是怎么工作的?从用户提问到模型回答的完整链路
spring·openai·ai编程
李燚1 天前
Agent 要用 API key,但明文一次都不能进模型——Secret Runtime 落地实录(第110篇)
ai·agent·credential·secret·eino·deepflux·secret runtime
invicinble1 天前
agent操作Windows的原理,以及操作其他的操作系统里面的数据
agent