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

AI 代码后面怎么维护,心智负担太大了

  •  3
     
  •   cc9910 · 1 天前 · 8099 次点击
    ai 生成爽是很爽,但是数量太多了,每次阅读起来真的太累了
    今天加了两个函数,回来一看,又多了 300 行,也不能说它错,因为字段检验,格式又是自己写的要求
    本来立项的时候,规定一个文件最长就 400 行,现在都多余,无非是拆分一堆小文件,还不如一个文件两千行,省得点了
    整个项目搞下来都几万行了
    读是肯定要读的,不然后面报错,只能跟 ai 一起赌运气了,好累啊,难道要用 AI 控制 AI?
    70 条回复    2026-04-21 17:14:41 +08:00
    yechentide
        1
    yechentide  
       1 天前 via iPhone
    降低耦合,限制 AI 的探索/修改范围
    rocmax
        2
    rocmax  
       1 天前 via Android
    spec driven development ,ai 生成的代码成本已经可以忽略不计,那么人应该从维护代码转为维护 spec 。代码由 ai 根据可验证的 spec 检查。
    midsolo
        3
    midsolo  
       1 天前
    公司把某些内部系统外包出去了,项目交付前负责验收的同事开始介入,在对代码进行验收审计时发现,外包人员用 AI 狂拉了 8w 多行源码......

    他的心智负担很重,求他的心理阴影面积?
    apkapb
        4
    apkapb  
       1 天前
    按照 token 算,我大概有 10%-20%的 token 是用来让 AI 重构代码的
    lujiaosama
        5
    lujiaosama  
       1 天前
    别说代码了,每次看 AI 生成的文档,我都累得不行。GPT 生成的文档一大坨,读得头皮发麻。
    gumayusi
        6
    gumayusi  
       1 天前   ❤️ 25
    让真人去查真人,让 AI 去查 AI 。谁污染谁治理,觉得 AI 有智商能编写代码的人,没理由觉得 AI 没智商维护代码。
    lujiaosama
        7
    lujiaosama  
       1 天前   ❤️ 1
    @rocmax 复杂度不会消失,只会转移。不读代码也得读文档,文档也不轻松。
    sir283
        8
    sir283  
       1 天前
    Ai 写写小软件还可以,写那些成型的,还是算了吧,屎山堆屎山,最后直接爆了。

    分享一下我用 Ai 写的软件:

    免 ROOT 强力删除安卓系统内置垃圾软件: https://github.com/MrsEWE44/easyManager ,还有其它功能,详细在 GitHub 主页。

    宇宙超级无敌音乐下载工具: https://github.com/MrsEWE44/musicDownload ,支持所有主流音乐平台的歌曲文件下载,支持无损下载,详细在 GitHub 主页。
    erwin985211
        9
    erwin985211  
       1 天前
    如果你是最新的模型的话,我觉得完全不用特别担心,直接让 AI 查 AI ,你自己就化为测试视角,而不是去审查代码的视角,看看 AI 有没有把功能实现,如果你还要坚持现在的完全把所有代码都审查一遍,确实,心智负担会比较大
    CodeGou
        10
    CodeGou  
       1 天前
    测试覆盖+AI 审查。

    如果还有担忧说明测试覆盖的还不全面。还得继续完善测试范围和质量(基本这块也是 AI 来做了)
    mmz0717
        11
    mmz0717  
       1 天前   ❤️ 1
    @gumayusi 看来大明王朝 1566 没少看啊
    zzNaLOGIC
        12
    zzNaLOGIC  
       1 天前   ❤️ 3
    @rocmax 实际在生产项目上跑下来,并没有想象的那么美好。 规则和实际逻辑不匹配是常有的事情,甚至 spec 更难懂,在大型项目上甚至有些绕的匪夷所思,生怕人类看懂。 原先以为是 speckit 流程太复杂了,换成 openspec ,虽然人要干的事变少了,但是规则质量更差了。
    neuthself
        13
    neuthself  
       1 天前
    @mmz0717 哈哈哈,看到前两句的排版,也是想到大明王朝
    craftsmanship
        14
    craftsmanship  
       1 天前 via Android
    @mmz0717 这下不得不看了
    dandel1on
        15
    dandel1on  
       1 天前   ❤️ 2
    @gumayusi 话是这么说,但是 AI 犯错造成损失 AI 可不承当责任
    archxm
        16
    archxm  
       1 天前
    简单啊,多招几个程序员,多人审核,拆解任务
    skuuhui
        17
    skuuhui  
       1 天前
    公司是你自己的吗?为啥操那么多心
    yifangtongxing28
        18
    yifangtongxing28  
       1 天前   ❤️ 4
    公司只给你了指挥 AI 写代码的钱,没给你挑 AI 错的钱


    能找出来 AI 错误并修复的人,得精通古法和 vibe coding ,已经被干掉了。
    gkeeno
        19
    gkeeno  
       1 天前
    只能说以前怎么维护屎山,现在就怎么维护
    gophlet
        20
    gophlet  
       1 天前
    因为大多数人用 AI 开发新项目都是井喷式产出代码,我觉得这种模式只适合 MVP 和功能边界清晰的小项目。想要持续迭代的话,还是结合 AI 渐进式开发比较好。
    tt67wq
        21
    tt67wq  
       1 天前   ❤️ 1
    我们老板现在听说 AI 能提效,原来要 4 个人一个月的活儿让我们一个人一周上线,既然这样,就只能委屈 AI 喷粪了,维护性?不存在的!
    YanSeven
        22
    YanSeven  
       1 天前
    @lujiaosama 同感
    zdxddt
        23
    zdxddt  
       1 天前
    @gkeeno 感觉还是有区别。 以前是自己亲自堆的,多少心里还是有点数的。现在是挖掘机一斗一斗的倒的,不管是从熟悉程度和数量上都不一样了
    lovedebug
        24
    lovedebug  
       1 天前
    做大自然的搬运工~
    hymxm
        25
    hymxm  
       1 天前

    确实大
    sddyzm
        26
    sddyzm  
    PRO
       1 天前 via iPhone
    这确实是个问题,但其实现在很多项目已经算超大型了吧,可以参考现成的维护方案
    GeruzoniAnsasu
        27
    GeruzoniAnsasu  
       1 天前   ❤️ 2
    @erwin985211 不知道你了不了解游戏优化的很多黑魔法,面剔除、伪 3D 、数值快速近似。AI 写的代码就像剔除了不可视面的游戏。当你需要单独一个业务视角的时候 AI 优化得很好,但当你需要一个完整的业务实体的时候,你会发现 AI 除了原本可见的那个面之外什么都没写。
    2333wz
        28
    2333wz  
       1 天前
    @GeruzoniAnsasu 你让他写了吗
    EndlessMemory
        29
    EndlessMemory  
       1 天前
    AI 写出跟自己代码风格类似的代码确实太困难了
    icanfork
        30
    icanfork  
       1 天前
    公司不是自己的,目前的态度是要求代码 AI 率,我就 AI 生成 AI 修。
    jedeft
        31
    jedeft  
       1 天前
    @lujiaosama 关键是很多地方 AI 不讲人话,用些奇奇怪怪的词;看得云里雾里的。
    @hymxm openclaw 已经是人类屎上最大的屎山了
    mike1998
        32
    mike1998  
       1 天前
    用更多的 token 和更厉害的 ai 维护
    kamilic
        33
    kamilic  
       1 天前
    公司产运已经开始 vibe 了,后面程序员就是擦屁的了,哎。
    GeruzoniAnsasu
        34
    GeruzoniAnsasu  
       1 天前   ❤️ 4
    @2333wz 打个比方:

    「写一个赛车游戏」 => AI 会实现赛车,会实现赛车游戏,everything works well

    但人类不会这样写代码,人类会直接设计赛车的 prefab ,定义好可更换的皮肤和可更换部件,然后再把这个 prefab 拖进游戏




    「你让它写了吗」是个逻辑陷阱 —— 任何 AI 没按照我的想法做到的事显然都可以归集为「我没这么要求」,但我们期望 AI 的能力恰恰是「即使我们没有严格定义实现本身,它依然能够按照大致的指示完成严格的实现」。

    如果你不想思考我到底在表达哪个逻辑可以简单地认为我在说下面这句话:

    如果我要给 AI 写清楚怎么写,我自己写就得了,要 AI 干什么
    SoviaPhilo
        35
    SoviaPhilo  
       1 天前
    如果是想让人偶尔要接手一部分,必须从一开始就划分好领域/边界,按 DDD 的思路走;
    否则就只能靠 SPEC 了。不过实话说,一个上线的系统我是不太敢用 SPEC 重写的,因为人输出的 SPEC 只要业务稍微复杂一点,总会有逻辑遗漏,而这个逻辑遗漏肯定会爆发
    LittleFox
        36
    LittleFox  
       1 天前
    降低耦合度,做好架构设计
    kamilic
        37
    kamilic  
       1 天前
    @GeruzoniAnsasu 我也觉得这逻辑好可怕,任何出了问题的情况都怪罪到使用的人身上。
    每次听到都挺无语,也许是我菜,学不了大佬的操作方式。 😄
    iorilu
        38
    iorilu  
       1 天前
    谁写的代码谁维护
    ai 写的当然 ai 维护
    beefhotpot
        39
    beefhotpot  
       1 天前
    宁愿冗余也不要耦合,这样 ai 写错了也不会影响其他功能。
    teaguexiao
        40
    teaguexiao  
       1 天前
    我的做法是在项目根目录放一个 CLAUDE.md ,里面写清楚架构规范、模块边界,让 AI 每次只动指定范围内的文件。加上测试覆盖,心智负担少很多。
    ronyin
        41
    ronyin  
       1 天前
    ai 写的,肯定是 aireview 。。。
    ASHYWHISPER
        42
    ASHYWHISPER  
       1 天前
    同感,太累了,感觉已经完全跟不上 AI 了
    abelmakihara
        43
    abelmakihara  
       1 天前
    之前让 ai 写的一个 canvas 动画
    我就没办法调的和 ui 一模一样
    代码太长了 完全不想看
    最后也只能 ai 自己改 凑合上了
    brucedone
        44
    brucedone  
       1 天前
    你把测试,e2e 验收 ,集成测试的标准定好,它怎么改都能通过验证的话,就不用着关注了
    acmookey
        45
    acmookey  
       1 天前
    @gumayusi
    你是人机协作主事,代码是哪个 AI 写的?你是你统管的 AICoding 写的。

    代码的这个理解负担是谁带来的?是你亲自指使 AI 写出来的。

    那这代码出了纰漏,该谁去查?该谁来担?——还分什么真人、AI 。

    ……好个分得清楚——到头来,倒只你一个,是既能写、又能查、还能担的“能臣”。
    abc0123xyz
        46
    abc0123xyz  
       1 天前
    @lujiaosama #7 文档读着也很痛苦
    BigShot404
        47
    BigShot404  
       1 天前
    每次改后,让它生成和最初程序的变化清单,并写清楚为什么这么改。
    msg7086
        48
    msg7086  
       1 天前
    @GeruzoniAnsasu #34
    问题不在这里。
    PM 和程序员之间不是这样一个关系。PM 给程序员安排工作的时候也不会说「写一个赛车游戏」然后指望你的程序员神奇地写出一个游戏大作。SDLC 的过程是省不了的,该设计的东西还是要设计,该权衡的东西还是要根据具体情况权衡。AI 可不知道你让他写的赛车游戏是打算开发 3 年还是 3 天后就得发布。

    「如果我要给 AI 写清楚怎么写,我自己写就得了,要 AI 干什么」
    这句话就更不对了。AI 可以根据一份详细的 PRD/HLD/LLD 一天肝出几千行代码,你自己写能一天写那么多?你要是和 AI 能做到一样的代码生成速度那你早就财富自由了。

    TL;DR 你这就相当于在说,既然走路都能从上海走到北京,为什么要坐高铁去。
    crytis
        49
    crytis  
       1 天前
    @lujiaosama #7 是的,因为文档和代码都不在脑子中,都不是经自己脑子出来的
    yuruizhe
        50
    yuruizhe  
       1 天前
    谁写代码谁维护,ai 写的代码 ai 来维护
    66beta
        51
    66beta  
       1 天前
    你还能比 AI 更懂写代码?让 AI 时刻更新一批 markdown ,有了这 md 啊,我随时找另一个 AI 5 分钟复刻一个出来
    tyrad
        52
    tyrad  
       1 天前
    二楼说对 sdd 开发
    unco020511
        53
    unco020511  
       1 天前
    只能继续 AI 维护,多留点中间文档之类的产物吧,后面继续给 AI 才能维护好
    wuzhanggui
        54
    wuzhanggui  
       1 天前
    既然把发给程序员的钱发给 ai 了,那就使劲抽,改出问题了就多抽几次
    qeesung152
        55
    qeesung152  
       1 天前 via Android
    还是 harness 的问题
    Vindroid
        56
    Vindroid  
       1 天前
    碰到重大问题或需求变更时,就整个让 ai 重新写一份嘛
    xyooyx
        57
    xyooyx  
       1 天前
    疑人不用,用人不疑
    ryd994
        58
    ryd994  
       1 天前 via Android   ❤️ 1
    @msg7086 #48 “SDLC 的过程是省不了的,该设计的东西还是要设计,该权衡的东西还是要根据具体情况权衡”
    但这就是问题。很多人说 AI 取代程序员的时候,就是认为只要给 AI 一个目标,它就能自己理解并解决问题。
    更可怕的是,AI 还真就能做出一坨像那么回事的玩意。真正的危害要等上线几个月后才能逐渐显现。



    @Vindroid #56 这就是没做过大规模软件的人说的话。有几个问题:
    1. 生产环境出了问题,你 oncall 还是 AI oncall ?用户数据受 gdpr 保护,很难直接给 AI 权限。况且就算给,也不可能全自动解决,肯定要有个人看着。如何迅速定位并找到问题,这并不是 AI 的强项。
    2. 对于基础设施软件而言,符合设计标准一致只是最低标准。内在实现同样重要。即使是 undefined/undocumented behavior ,只要用的人多了,它就成了标准的一部分。如果是对外的服务还好说,直接不支持文档里没有的用法,客户骂也没用。如果是对内的服务,锅甩给谁都没用,谁搞出来的变动,谁负责回滚。要改实现,提前半年发 breaking change 通知。
    3. 项目规模大了以后,编译一次就要好几个小时。平时开发主要靠缓存来局部重新编译。重写?明年都写不完。
    Hilong
        59
    Hilong  
       1 天前
    让 AI 自己 review ,人是不看的。谁看的过来
    ykk
        60
    ykk  
       1 天前
    无法维护
    GeruzoniAnsasu
        61
    GeruzoniAnsasu  
       1 天前
    @msg7086 问题也不在 requirements->implementation 这里。AI 现在的问题是

    shm7
        62
    shm7  
       1 天前
    AI 写的代码肯定是 AI 管啊
    mashimaroinfo1
        63
    mashimaroinfo1  
       1 天前
    @xyooyx 有性格!
    zakol
        64
    zakol  
       14 小时 0 分钟前
    考虑用专门的 agent 定期重构和清理,然后构建一个可靠的测试集
    0x2
        65
    0x2  
       13 小时 47 分钟前
    用 golang 所有的代码都放在一个 main.go 强制一坨能看的过来的数量.
    romtancez
        66
    romtancez  
       11 小时 18 分钟前 via iPhone
    @EndlessMemory 很赞同,使用 Ai 写的代码超多不必要的判断,循环等等导致代码非常长,写法非常繁琐。后续如果能有 coding self style 这种 agent 很有意思。哈哈哈哈
    micean
        67
    micean  
       5 小时 53 分钟前
    AI 解释、AI 审计、AI 维护,开发者只作为观察者视角
    enpitsulin
        68
    enpitsulin  
       5 小时 32 分钟前
    所有试图解决任何 AI 协作维护代码的,不会有好下场,就老老实实的全部放手给 AI 才能行,否则你看到一堆复杂度上天的的`fn add()`在一堆模块中重复编写你怎么维护?有洁癖和架构思维的根本看不了一点
    cccvno1
        69
    cccvno1  
       4 小时 59 分钟前
    周末 vibe 了一个 go 的模板库,尝试用类 ddd 的模板、cli 提供的代码注入和中间件使用说明、、编译级的结构测试让 ai 写出一种固定风格的代码。vibe 了两个小项目测试一下,今天替换成公司的规范就在一个小项目里用起来了,虽然代码结构看起来怪怪的,但找东西还是挺方便的。
    https://github.com/cccvno1/goplate

    就是一个抛砖引玉的不完善的小工具
    hezp
        70
    hezp  
       3 小时 58 分钟前
    债务不会消失,只会转移,开发阶段用 ai 积累的债务,在上线后都会反噬回来的。当前最大的问题不是 ai 出现幻觉,而是老板出现幻觉。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3387 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 231ms · UTC 13:13 · PVG 21:13 · LAX 06:13 · JFK 09:13
    ♥ Do have faith in what you're doing.