V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xwhxbg
V2EX  ›  程序员

分布式异步系统在 vibe coding 下的困境

  •  
  •   xwhxbg · 6 小时 53 分钟前 · 896 次点击

    最近搬砖遇到的一些问题,抛砖引玉,欢迎大家讨论

    困境

    分布式异步系统在用 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 来判断是否有异常信号。尤其是对于容器/算力编排系统,断言中间的容器/算力回收状态远比轮询来的靠谱。

    7 条回复    2026-04-23 15:53:35 +08:00
    JStone
        1
    JStone  
       6 小时 29 分钟前   ❤️ 1
    "修了一个 bug 引出另一个 bug ,并且还不知道为什么出 bug" 这个我也遇到过 但是还没有有效的解决办法
    lemonshuo
        2
    lemonshuo  
       6 小时 27 分钟前
    佬看着好高级 我只会 curd 已经蹲下观摩学习
    jackOff
        3
    jackOff  
       6 小时 19 分钟前
    马勒戈壁异步编程是真难维护,ai 都经常翻车,我还是喜欢基于事件的形式来写
    4seasons
        4
    4seasons  
       5 小时 34 分钟前
    天下大势,分久必合,合久必分
    teaguexiao
        5
    teaguexiao  
       5 小时 14 分钟前
    楼主说的事件流方案确实是正解,轮询就是在赌时机。另外给 AI 写单测时带上状态机图(哪怕是文字描述),它出错的概率会低很多。
    xwhxbg
        6
    xwhxbg  
    OP
       3 小时 30 分钟前
    @JStone 大部分就是数据流的异常,如果有完备的事件流,可以让 LLM 分析下事件流异常信号,比如 once 被启动两次,该回收的没有触发回收事件之类的,从这个角度排查比直接许愿好很多
    Zhuzhuchenyan
        7
    Zhuzhuchenyan  
       1 小时 22 分钟前
    https://rxjs.dev/guide/testing/marble-testing
    基于事件流的测试莫名让我想到了这个
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5134 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 09:16 · PVG 17:16 · LAX 02:16 · JFK 05:16
    ♥ Do have faith in what you're doing.