分布式异步系统在 vibe coding 下的困境 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
xwhxbg

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

  •  
  •   xwhxbg 4 days ago 1483 views

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

    困境

    分布式异步系统在用 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 replies    2026-04-23 15:53:35 +08:00
    JStone
        1
    JStone  
       4 days ago   1
    "修了一个 bug 引出另一个 bug ,并且还不知道为什么出 bug" 这个我也遇到过 但是还没有有效的解决办法
    lemonshuo
        2
    lemonshuo  
       4 days ago
    佬看着好高级 我只会 curd 已经蹲下观摩学习
    jackOff
        3
    jackOff  
       4 days ago
    马勒戈壁异步编程是真难维护,ai 都经常翻车,我还是喜欢基于事件的形式来写
    4seasons
        4
    4seasons  
       4 days ago
    天下大势,分久必合,合久必分
    teaguexiao
        5
    teaguexiao  
       4 days ago
    楼主说的事件流方案确实是正解,轮询就是在赌时机。另外给 AI 写单测时带上状态机图(哪怕是文字描述),它出错的概率会低很多。
    xwhxbg
        6
    xwhxbg  
    OP
       4 days ago
    @JStone 大部分就是数据流的异常,如果有完备的事件流,可以让 LLM 分析下事件流异常信号,比如 once 被启动两次,该回收的没有触发回收事件之类的,从这个角度排查比直接许愿好很多
    Zhuzhuchenyan
        7
    Zhuzhuchenyan  
       4 days ago
    https://rxjs.dev/guide/testing/marble-testing
    基于事件流的测试莫名让我想到了这个
    About     Help     Advertise     Blog     API     FAQ     Solana     4084 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 10:22 PVG 18:22 LAX 03:22 JFK 06:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86