AI 写的项目要怎么维护?都是一次性代码吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jacketma
V2EX    编程

AI 写的项目要怎么维护?都是一次性代码吗?

  •  1
     
  •   jacketma 2 天前 3341 次点击

    去年 Leader 让大干快上了不少 AI 代码工程,年后开工需求又增加了不少,话说这些 AI 产生的项目(含 AI 量超过 50%)要怎么维护?

    让人去读 AI 的代码,再去增删改查,还不如让人重新写来的顺手,就是慢。

    另外,就是让 AI 自己改,从以往的经验看,让 AI 维护需求更新代码,还不如让 AI 从头重写,从零开始写代码可能消耗的 tokens 比改需求绕圈圈烧的钱还少。

    这么看下来,AI 做的项目都是一次性代码吗?

    25 条回复    2026-02-24 09:51:22 +08:00
    benjen000
        1
    benjen000  
       2 天前 via Android
    让 leader 自己来维护。
    default996
        2
    default996  
       2 天前   1
    每次只让 ai 写一个小模块,否则没办法人工维护(反正我是维护不了 ai 的代码,看着头痛)。现在只能让它分析整理项目生成文档,拆分成各个小模块,然后从头开始生成了……
    106npo
        3
    106npo  
       2 天前 via Android
    只维护文档,让 ai 由文档维护代码
    riscv
        4
    riscv  
       2 天前 via Android
    做好黑盒测试就行,代码全部交给 ai
    Lemonadeccc
        5
    Lemonadeccc  
       2 天前
    使用不同模型进行审查测试,是否符合设计规范等等。感觉后面大模型发展测试和部署是一个重点方向,不然背锅都不知道错在哪
    foru17
        6
    foru17  
       2 天前   1
    https://x.com/luoleiorg/status/2025412230616056272
    春节纯 Vibe Coding 的一个工程化的项目。
    ttbox
        7
    ttbox  
       2 天前   3
    先让 AI 将数据库关系、数据库 sql 文件、 代码整体业务逻辑 以文档的形势先形成文档
    然后再做一个数据库日志审计,将所有的异常都放到日志表里,
    分析好新功能后再让 AI 加新功能就行了,加个规则每次开发完新功能都让 AI 去异常表里看看
    YaakovZiv
        8
    YaakovZiv  
       2 天前
    我这边是拼接模式,拆分大功能到各小功能,然后拼接互相调用。随时可以拆分或者让 AI 单独扩展。可能不适用你那边场景。
    learnshare
        9
    learnshare  
       2 天前
    文档和设计作为核心,代码就容易维护了
    Gilfoyle26
        10
    Gilfoyle26  
       2 天前
    维护?反正这个项目做完就可以了,维护的时候可能我都已经走了
    matrix1010
        11
    matrix1010  
       2 天前   4
    我在公司同时做 3 个比较复杂的项目,差不多 95%以上的代码都是 Jules 生成的。有几个小经验:

    - 架构层面必须我来告诉 agent ,不能让他自己发挥,比如选什么数据库/orm ,代码怎么分层,怎么写单元测试
    - 不要使用冷门语言/框架
    - 后端有单元测试
    - 详细的 agents.md
    - 完善的提交检查,让 agent 在提交代码前把 lint/test 什么的都跑一遍,通过再提交
    - 使用 plan 模式(Jules 叫 Interactive Plan),交互让 agent 根据你的原始计划生成详细且明确的新计划

    最近折腾的一个小开源项目也是这样的思路 https://github.com/Yiling-J/forgery 。可以参考一下
    securityCoding
        12
    securityCoding  
       2 天前 via Android
    用好 openspec ,ai coding 文档是非常非常重要的资产
    xuld
        13
    xuld  
       1 天前
    你 Leader 不是已经找到解决方法了吗:招人维护,如果招的人觉得不好维护,让他发帖去请教别人怎么维护,如果还不知道怎么维护,那就去换个人维护。
    enihcam
        14
    enihcam  
       1 天前 via Android   1
    每个时代都有自己的软件过程实践,AI 编程下最重要的就是 spec-driven development 。

    就,管理好 spec 。
    stinkytofux
        15
    stinkytofux  
       1 天前
    AI 写的代码, 可能功能没问题, 测试也能通过, 但是细看会有很多逻辑问题和细节问题, bug 只是没有测试到而已. 重要的项目一定要仔细审查代码.
    jczeng
        16
    jczeng  
       1 天前
    @foru17 好久没看到大佬在博客更新文章了
    SayHelloHi
        17
    SayHelloHi  
       1 天前
    读 AI 的代码很费神

    虽然功能没问题 但是有的功能它写得非常简洁(非常复杂)调试和阅读要花费一点时间

    我自己使用 AI 写的代码 都不想去调试 看一遍真的很浪费时间

    现在的做法:

    AI 写的代码 有啥 bug 让 AI 自己修改

    自己写的代码,AI 作为辅助,自动补全重复代码,实现工具类
    zcf0508
        18
    zcf0508  
       1 天前 via Android
    用自己写代码的规范让 ai 自己重构,补充单元测试和集成测试
    Liftman
        19
    Liftman  
       1 天前
    所以从一开始必须要用最好的模型。。。。减少堆叠 bug 的概率。。。反正 cc codex 是都有审计模式的。但是都不会太有效。
    slackerman
        20
    slackerman  
       1 天前 via Android
    不会啊,我开始用 ai 重构一年前的代码了,比重头写省事啊,模块拆清楚核心逻辑都不会乱。重新写 spec driver 那得盯着文档和测试啊,保不齐出什么乱子是吧。绕圈圈是不是什么逻辑/模块没有拆清楚
    donaldturinglee
        21
    donaldturinglee  
       1 天前 via iPhone
    从零纯 vibe 不考虑维护(根本维护不了),如果是重构保证 TDD 和架构的方向正确就可以了
    levelworm
        22
    levelworm  
       1 天前
    我很少完全让 AI 生成代码,请问如果让 AI 生成比如几千行一个大 feature 的代码,是个什么样子?为什么大家觉得很难维护?
    momodesuka
        23
    momodesuka  
       1 天前
    @enihcam #14 又学到了!谢谢
    langsansan
        24
    langsansan  
       1 天前
    学习学习
    lefer
        25
    lefer  
       1 天前
    最好是让 AI 一个一个模块去写,然后变量名别让他自己乱取。

    不过你们现在这样的情况,属于已经是没法补救的了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3956 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 05:28 PVG 13:28 LAX 21:28 JFK 00:28
    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