被你的 Coding Agent 污染的热重载循环
· 阅读需 13 分钟
一个编程智能体(Coding Agent)和一个热模块替换(HMR)开发服务器,各自独立看都是神奇的存在。但把它们放在同一个工作目录里,它们就成了一个没有任何同步原语的生产者-消费者对。智能体写入文件,监听器触发。开发服务器重载到一个仅存在 90 毫秒的状态,随后就被智能体的下一次写入替换了。错误覆盖层反映的是文件系统已经越过的快照。智能体读取那个覆盖层,将其视为事实依据,并针对一个本就会被下一次保存抹去的问题编写修复方案。
在单行编辑时你不会注意到这一点。但在智能体进行协调的多文件更改时——比如在组件间重命名 prop、通过 hook 传递新字段、拆分模块——从“开始”到“完成”之间的每个中间状态在结构上都是损坏的。监听器无法分辨中间状态和最终状态的区别。而观察监听器输出的智能体,也无法区分真实的错误和其自身正在进行的工作所产生的伪影。
