最近搬砖遇到的一些问题,抛砖引玉,欢迎大家讨论
困境
分布式异步系统在用 vibe coding 下最大的困境主要是两个,第一个就是环境搭建,需要多个相互隔离的 linux/windows 环境,每个环境甚至需要有自己的网络栈和 docker socket 。第二个就是测试断言非常困难,如果靠轮询数据库状态/接口状态,很多时候不及时,无法断言一些中间状态转移,轮询 gap 可能错过一些异常状态。
vibe coding 非常依赖测试作为基线,如果没有完备的测试兜底,很容易陷入打地鼠的困境,修了一个 bug 引出另一个 bug ,并且还不知道为什么出 bug 。
systemd-nspawn
它可以模拟一个几乎完全隔离的 linux 环境,特别适合 需要 systemd 作为 PID 1 需要比较真实的 Linux 主机语义 需要 独立网络栈 需要在容器里跑多服务,而不只是一个 app 进程 需要细粒度控制 mount / namespace / network bridge / user namespace 特别是每个节点本身也需要做容器编排的情况 这东西写起来非常复杂,不过难不倒 codex
把状态转移做成事件流
与其轮询状态,不如把状态转移做成事件流,由测试编排统一订阅,这样永远不会错过中间状态,永远会有一个状态 trace ,LLM 非常适合根据 trace 来判断是否有异常信号。尤其是对于容器/算力编排系统,断言中间的容器/算力回收状态远比轮询来的靠谱。