国内大厂实践 vibe coding 遇到的问题和困扰。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wxiao333

国内大厂实践 vibe coding 遇到的问题和困扰。

  •  
  •   wxiao333 1 月 19 日 1158 次点击
    这是一个创建于 95 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近 15 人小组实践 vibe coding 遇到了一系列问题。
    一、项目背景:
    业务性质: 这是一个涉及资金流(与钱直接挂钩)的企业级复杂架构项目,对系统的稳定性、一致性和高可用性有着严苛的要求。
    应用场景: 专门为**“大促”(如双 11 等大型活动)准备,需要应对海量的瞬时高并发流量**,设计中必须包含完备的幂等、事务和并发处理机制。
    交付压力: 这是一个典型的**“倒排期”项目**,上线时间点死板且不可逾越,任何延期都会被视为严重的生产事故。
    技术挑战:
    高复杂度逻辑: 除了基础接口调用,还必须设计多级核对机制(分钟/小时/天级)、异步消息补偿机制、技术应急预案以及客服处理预案,。
    开发约束: 采用 SDD (规范驱动开发) 模式,基于公司内部自研框架开发,且因数据安全限制,AI 无法读取既有私有代码库,属于从 0 到 1 的全新代码仓库。

    二、问题
    1. 技术与代码质量问题
    逻辑伪造与“将错就错”:AI 在面对缺失的知识、错误的接口文档或注释时,会伪造逻辑或猜测( Mock )返回格式,。遵循“垃圾进,垃圾出”( GIGO )原则,如果输入信息有误,AI 的产出必然也是错误的。
    错误传播与测试盲区: 如果 AI 基于错误的架构分析生成代码,它也会基于同样的错误逻辑设计测试用例,导致单测和集测无法发现逻辑漏洞。
    产生“史山代码”: 虽然 AI 初步生成的代码看似整洁,但在经过人工点对点的调试( Web Coding )修复问题后,代码会逐渐演变成难以维护的史山代码,。
    缺乏企业内部知识: 由于数据安全限制,AI 无法读取既有的私有代码库,且对企业内部定制或自研的框架缺乏了解,导致其难以写出符合要求的代码。
    不符合开发规范:AI 编写的代码往往不符合团队内部的开发规范或习惯(如事务处理方式),导致人类工程师在 CR (代码评审)或维护时感到非常困难。
    2. 架构与设计层面的局限
    输出不稳定与概率推断: 基于 Transformer 架构的 AI 本质上是概率推断模型,同样的输入和提示词( Prompt )产生的输出是不稳定的。
    上下文限制与“遗忘”:AI 的上下文处理能力有限,在解决具体问题时可能会忘记之前的全局设计,导致代码复用性差,甚至在同一项目中针对相同问题重复编写不同的代码。
    “只见树木不见森林”:AI 容易陷入局部逻辑,忽略全局影响,例如在修改代码逻辑后忘记更新注释或相关的单元测试。
    文档过度冗长:AI 喜欢编写极其详尽、甚至带有重复内容的长文档,这增加了人类阅读和理解的成本,。
    3. 工作流程与效率悖论
    工作强度反而增加: 使用 AI 后,程序员的工作时长变得更长、更累,甚至需要工作到凌晨,这与“AI 减负”的初衷相悖。
    由于过度约束导致的“犯傻”: 为了约束 AI ,开发人员会定义越来越多的 Agent 和复杂的 Workflow ,但约束过多会导致 AI 出现“过敏”或变得笨拙,丧失了发散性思维的能力。
    Token 消耗巨大: 复杂的 Workflow 和长指令会导致 Token 消耗量激增(每天消耗上亿 Token ),导致成本异常昂贵。
    陷入“面多加水”的死循环: 当 AI 做不好时,人类倾向于增加更多 Agent 或约束,这使得系统越来越复杂,最终效果反而变差,。
    4. 心理压力与管理挑战
    认知负荷与上下文切换: 领导层可能误认为 AI 能大幅提升生产力,从而给程序员安排更多并发项目,导致程序员需要在多个 AI 窗口和项目背景间频繁切换,造成脑力枯竭,。
    巨大的“不安全感”:AI 的自评分往往虚高(如给自己打 98 分),但人类很难一眼看出其逻辑中的隐患。由于不理解 AI 某些设计的意图,人类工程师会产生强烈的不安全感和心理压力,。
    信息爆炸:AI 产出的海量文档和代码需要人工进行大量审查( Review ),这一过程极其消耗精力。


    三、建议
    1. 明确 AI 的适用场景:
    推荐场景: 编写一次性脚本、处理数据报表、编写复杂的 SQL 、整理文档、画图、辅助理解不熟悉的既有代码、查 Bug 、以及编写基础的单元测试和集成测试代码。
    限制场景: 涉及核心业务逻辑、复杂资金流、高可用架构设计时,必须由人类主导。
    2. 坚持“人机协作”而非“全权委托”:
    建议通过 Web Coding 的方式,让 AI 按照人类提供的模板类和示例代码进行学习和约束。
    核心逻辑必须按照团队的开发规范和习惯进行重写,以确保代码的可维护性和安全性。
    cstj0505
        1
    cstj0505  
       1 月 19 日
    我个人实践就是有限使用 AI,轻量级使用 AI,在研发的某些阶段看情况使用 AI,原来怎么检查人的工作质量的就怎么检查 AI 的工作质量,AI 生成太快,代码逻辑和规模很容易失控.
    我是不会允许项目里出现自己或者其他人无法理解的代码的.
    我们最近一次生产事故就是 AI 在不知道数据规模的情况下对原来的语句做了负优化,导致上线直接数据库打满
    wxiao333
        2
    wxiao333  
    OP
       1 月 19 日
    @cstj0505 是的,目前这个阶段,只能轻量使用,重度的话,人工审查 AI 的代码是灾难
    cstj0505
        3
    cstj0505  
       1 月 20 日
    另外我觉得你这个帖子的内容还是有挺多干货的,好奇其它说使用 AI 编程的帖子下面一些留言,为啥这种正儿八经讨论的没有人跟贴
    wxiao333
        4
    wxiao333  
    OP
       1 月 20 日
    @cstj0505 可能排版风格 AI 味儿太重了,我准备换个排版和措辞重发一次试试呢,哈哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1662 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 16:26 PVG 00:26 LAX 09:26 JFK 12:26
    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