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

如果你写了个东西,但不知道它是怎么跑起来的,会心慌吗?

  •  
  •   x97bgt · 10 天前 via iPhone · 11156 次点击

    我就属于会有不安全感的人。所以每次 llm 生成了一段代码,我必须先看一遍。如果不看,即使它能跑起来,我也会有很大的不安全感。尤其对于工作项目,这种不安会更严重。

    所以我只用 llm 生成局部代码,大部分是一个方法或类,而且必须在自己在全局下有一个掌握时,才让它生成。所以我基本不让它做大范围的代码生成。

    你们会这样么?

    116 条回复    2025-05-28 17:25:11 +08:00
    1  2  
    967182
        1
    967182  
       10 天前   ❤️ 3
    不是抬扛,就是纯好奇,你用的所有库都会看一遍吗?
    lloovve
        2
    lloovve  
       10 天前 via iPhone   ❤️ 72
    @967182 你这确实抬杠,库是别人验证好的,ai 输出的是验证好的吗?
    fkzzzzls
        3
    fkzzzzls  
       10 天前   ❤️ 1
    用第三库也会读一遍源码吗
    AccelerXu
        4
    AccelerXu  
       10 天前   ❤️ 3
    @967182 完全不是一回事啊哥们
    qoo2019
        5
    qoo2019  
       10 天前
    @lloovve 为啥还会有 BUG 一说?
    yanxu4780
        6
    yanxu4780  
       10 天前
    笑,我写的我一样会担心跑起来会有什么问题。AI 写的我 review 一遍,程序逻辑正确就没什么事。如果遇到 bug 也是我和 AI 都没想到会遇到的情况。这谁也没办法。
    zjsxwc
        7
    zjsxwc  
       10 天前   ❤️ 1
    ai 模型也是这么训练出来的,训练者也不知道 ai 模型内部复杂的逻辑。

    但,op 的这个问题可以延伸为,
    “如果你买了辆汽车,但不知道它内部零件的型号和供应商,你会心慌吗?”
    “如果你点了个外卖,但不知道它每一个食材的产地和日期,种植养殖者,你会心慌吗?”
    TingLen
        8
    TingLen  
       10 天前
    一开始会,后面我根本不看。
    开发时候验证好没问题就 ok, 不会去仔细看具体实现,稍微瞄一下就好了。
    换个思路,你就把他当作你的同事。你会完全掌握团队里别人写的代码吗?
    只要没 bug 就行,不需要去质疑太多现阶段的 AI 模型的编程能力
    x97bgt
        9
    x97bgt  
    OP
       10 天前 via iPhone
    @zjsxwc 所以心慌主要还是对它没有信心
    abelmakihara
        10
    abelmakihara  
       10 天前
    别说 我同事就基本不看 问题是 ai 写的复杂的 hook 十有八九是有毛病的
    无语了 最后还是要看
    InDom
        11
    InDom  
       10 天前   ❤️ 19
    会, 因为 AI 自己也不知道自己在说什么!

    同事的代码有问题是同事的问题, 我用 AI 写出来的代码, 出问题是我的问题.

    相当于我作为监工监督 AI 干活, AI 出问题了, 我不能把锅甩给 AI.

    所以, 本质上我要为 AI 的产出兜底、负责任.
    way2create
        12
    way2create  
       10 天前
    ai 生成的我会 review ,特别涉及交易,但这完全看 ai 的水平跟个人习惯的。

    有些人自己写代码也随便写写看起来跑通了就行,之前就遇到过有些同事很随便的,只要表面看起来跑通了就行,甚至还见过把 if(a==1 || a==2) 写成 if (a==1 || 2) 还信誓旦旦的跟我说 js 就是这样写的
    way2create
        13
    way2create  
       10 天前
    不过如果生成的是 ui 我肯定不咋看的,本来就讨厌写 ui ,我只看逻辑层面
    ButcherHu
        14
    ButcherHu  
       10 天前
    可能 ai 实现一些业务不靠谱,心里没底很正常,就像是你手下一个小兄弟写代码不太靠谱,你 review 的时候也需要多想一想。
    你想控制 llm 只生成局部的方法,我觉得是一个意思,就是你这个小兄弟沟通还有点问题,你要是让他全写了,沟通就废死劲了 doge
    InDom
        15
    InDom  
       10 天前
    另者, 如果你使用 AI 以后就完全相信 AI, 当甩手掌柜, 那你也许是一个好的管理者, 但可能会阻止你成为更好的开发者.

    而你使用 AI 生成的代码, 你在阅读、理解之后, 你是站在 AI 的肩膀上在进步, 这个任务你是深度参与的.
    litchinn
        16
    litchinn  
       10 天前
    让它顺便把单元测试也写了
    hzcer
        17
    hzcer  
       10 天前
    可以写单元测试,理论上单元测试能通过,也不需要管黑箱里面是什么。虽然单元测试也是 AI 生成的,但单元测试看起来方便多了。
    pakholeung372
        18
    pakholeung372  
       10 天前
    @way2create 你这同事也太离谱了吧
    Knissing
        19
    Knissing  
       10 天前
    ai 生成的我也会自己看一遍,一个是学习其中的知识点,另一个是知道是怎么跑起来的,有了问题也方便排查。
    zzdxys666
        20
    zzdxys666  
       10 天前
    一样 我会搂一遍 AI 生成代码
    janstk
        21
    janstk  
       10 天前   ❤️ 1
    测试也测不出来问题,那就不慌
    zhengfan2016
        22
    zhengfan2016  
       10 天前
    多少还是看一下的吧,之前直接用 ai 的前端代码,后端么有强校验,结果把我数据库改坏了
    bzw875
        23
    bzw875  
       10 天前
    我经常让 LLM 写整理文件的脚本。我都会看或者先打印一下。免得它把我文件删了
    MozzieW
        24
    MozzieW  
       10 天前   ❤️ 1
    https://x.com/ryolu_/status/1914384195138511142

    你这个使用方法是正确的
    5waker
        25
    5waker  
       10 天前
    有担心是正常的,用多了知道边界在哪就不慌了。我觉得还是尽量拆分问题,具体到一个 function 去生成最好,自己 review 也轻松
    unused
        26
    unused  
       10 天前   ❤️ 1
    @zjsxwc 有什么可比性?如果你买了辆汽车,它是修理厂用各种未知来源拆车件组装的,你会心慌吗?
    corcre
        27
    corcre  
       10 天前   ❤️ 1
    @unused 而且修理厂不知道这个零件装上去会怎么运行🤣
    NightFlame
        28
    NightFlame  
       10 天前
    用 AI 给出的代码时需要验证的,我一般会让它生成独立的功能,然后再让 AI 对此写单元测试。
    INTOX8O
        29
    INTOX8O  
       10 天前
    我是肯定会阅读一遍的,因为不阅读发现的问题会更多,不过因为我不爱写注释和打印日志更多的是用来做这两件事
    crocoBaby
        30
    crocoBaby  
       10 天前   ❤️ 1
    AI 生成的代码必须审查后才能接受 pr
    ominus3
        31
    ominus3  
       10 天前
    突然想到有点像带的新人同事写的代码,提交了一个大大的 CR ,心里有点慌,没空 review 了,但是 QA 验收过了还是草草看一眼给通过了
    kuanat
        32
    kuanat  
       10 天前
    会的。甚至包括第三方依赖的引入,都会专门开会讨论各种实现的优劣再决定。

    初次编写代码的成本,比起长期维护的成本可低多了。这个成本总需要有人付出,无非就是写代码的那个或者审代码的那个。

    引入 ai 之后,就算写的人用 ai 写,审的人用 ai 审也无所谓,最终还是这两个人来承担责任。

    所以当我是提交代码的人的时候,肯定会看代码的。当我是审代码的人的时候,一样也会看,只是会在去掉注释和脱敏之后让 ai 一起检查一下。
    Folayi
        33
    Folayi  
       10 天前
    这是很正确的行为
    cmdOptionKana
        34
    cmdOptionKana  
       10 天前
    其实主要看用在哪里,业余做点小工具玩玩,简单做一点测试就可以用了,根本不怕,因为有问题也没多大损失。

    而公司,越大的公司,越是涉及金融、涉及大金额的软件,就约多审查和测试,包括第三方库也是要专门审查的。
    wyntalgeer
        35
    wyntalgeer  
       10 天前
    认清自己定位,你才是 Copilot ,活请交给 Cursor 。
    信任是需要时间培养的,永久了你自然会相信它。
    我现在 Review 越来越少了,只要 Prompt 到位,它比我写得好。
    BUG 怎么了?你自己写不会出 BUG ?
    无所吊谓
    pkoukk
        36
    pkoukk  
       10 天前   ❤️ 1
    跑单元测试啊,就算是你自己写的东西,你不写测试你能保证所有 case 都按你的预想运行了么?
    mumbler
        37
    mumbler  
       10 天前
    @lloovve #2 人的工作就是验证啊,你看 AI ,就像老板看你一样,都是黑盒,需要信任才能一起工作
    PaulSamuelson
        38
    PaulSamuelson  
       10 天前
    这么说吧,你买了一辆带有智能驾驶的车,官方说进行了完善的测试。
    但实际上,各种路面在随着城市建设在更新,以及行人和其他车辆的参与加入了更多变量。
    你敢在运行的车上睡觉么?
    misaka19000
        39
    misaka19000  
       10 天前
    会看,而且还会要求他不断的去重构代码,不然时间久了代码会失控
    tusj
        40
    tusj  
       10 天前
    AI 出了错,最终要人背锅,所以一定要看!
    re2ikotr
        41
    re2ikotr  
       10 天前
    搞深度学习的:什么,你们都知道它为啥能跑起来吗
    CyouYamato
        42
    CyouYamato  
       10 天前
    当然会啊, 不然哪天写代码能力退化的那真就是只能依赖 AI 才能写代码了.这不慌吗?必须要审核一遍,并理解所有代码.
    tusj
        43
    tusj  
       10 天前
    @zjsxwc 买汽车、点外卖,背后是有公司有店家负责的。开源库也是有组织的,有一定公信力背书的。但 AI 搞出来的东西出了问题,谁给你负责?还不是你自己。
    beyondstars
        44
    beyondstars  
       10 天前
    库的接口是明确定义的,有文档的,你可以选择用什么参数调用库,如何调用,你知道如何把库的行为和你的程序的逻辑结合起来。拿库来和 AI 类比,就是抬杠。
    ringcrl
        45
    ringcrl  
       10 天前
    从 claude3.7 到现在 claude4.0 ,AI 写的代码想挑出 bug 都难了,写提示词也写得越来越细致了
    LemonNoCry
        46
    LemonNoCry  
       10 天前
    @zjsxwc 例子不太恰当

    汽车或外卖等,都有公司、市场监督局等检查

    如果非要类比,比较恰当是:
    你使用一个完全不了解训练过程、标准不明确、可能偏见严重的自动驾驶系统,送你从市中心开到机场
    你是否直接躺着睡觉,还是紧握方向盘观察路面随时接管->对应 op 的是否 review
    min
        47
    min  
       10 天前   ❤️ 1
    没有单元测试和测试佬背锅么? 那确实得自己看
    有 peer review 或 commit review ,也得自己看不然面子上不好看
    forgottencoast
        48
    forgottencoast  
       10 天前   ❤️ 2
    @lloovve
    AI 必须看,AI 会乱改,经常把已经弄好的,不需要调整的东西给你整没了。
    所以 AI 每次弄好的我都立刻 git add 。
    luffy2u
        49
    luffy2u  
       10 天前
    AI 和库完全不一样,库起码有很多人使用过,至少是经过验证的
    caocong
        50
    caocong  
       10 天前
    吃过没仔细看 AI 生成的代码的坑,修改代码时有把之前正常的功能代码完整的删除的,都没报错,手动测试功能时才发现少了个功能
    quqiu
        51
    quqiu  
       10 天前
    盲猜,不看的估计都是写前端的.
    maolon
        52
    maolon  
       10 天前 via Android
    是的,同样吃过亏,能放心不看那你是真的心大
    zidian
        53
    zidian  
       10 天前
    当然要看啊,责任在自己
    SmiteChow
        54
    SmiteChow  
       10 天前
    那不是你写的,你写的肯定知道原理啊。至于你说的人工智障生成的代码,要看你设计的的业务网络公开程度,如果 CRUD ,那不用慌,如果领域相关,网络根本查不到,让你搜你都要提炼关键词做领域抽象,那不用想,人工智障肯定写的是错的,因为它不会“抽象”,它只会根据概率拼凑。
    yibo2018
        55
    yibo2018  
       10 天前
    会有不安全,但最终能稳定跑起来的时候,都会感叹一声:卧槽!
    CHTuring
        56
    CHTuring  
       10 天前
    肯定会啊,现在我也是局部使用。叽里咕噜生成一大段,就算能跑也没底。
    ladypxy
        57
    ladypxy  
       10 天前
    说不看的只能说牛逼。。。
    AI 生成的很多时候逻辑会出问题。。
    liuhan907
        58
    liuhan907  
       10 天前
    我就不一样了,我根本不用 AI 写代码,直接解决问题本身(
    prosgtsr
        59
    prosgtsr  
       9 天前
    有测试的代码我相信,没测试的代码我不信
    我试过让 ai 生成几个方法,直接启动可以启动,然后全是 bug ,从此以后再也不让 ai 写大段的代码了
    前几天因为工作繁重,稍微接受了 ai 提示的三行代码,瞅了一下,又是 bug ,真愁人。。。
    到现在只敢接受 ai 一行一行的 tab ,并且每次 tab 之前都会看一遍
    10ma
        60
    10ma  
       9 天前
    逻辑能够捋顺就可以了具体怎么实现,不纠结。方法千千万,能运行就行。就算出了 bug ,知道在哪改就好
    zhhqiang
        61
    zhhqiang  
       9 天前 via Android
    局部 OK ,整体不行🚫。
    Rickkkkkkk
        62
    Rickkkkkkk  
       9 天前
    主功能肯定会自己测试的呗
    caey
        63
    caey  
       9 天前
    不会,控制 AI 的影响范围+审查代码+做好测试,能有效地减少 bug 的产生。主要是现在的 AI 日常会抽风,例如瞎改/凭空捏造/自以为是...
    surbomfla
        64
    surbomfla  
       9 天前
    和安全和金钱交易相关的代码肯定要自己写或者检查,其他的功能 让 AI 在生成的代码关键位置打日志,让 AI 自己跑测试,读取日志文件,分析是否有问题,大概率比自己写的好一点
    jonsmith
        65
    jonsmith  
       9 天前 via Android
    会大概扫一眼
    xxyangyoulin
        66
    xxyangyoulin  
       9 天前
    功能性代码块,扫一眼。逻辑性业务,逐行阅读
    terrysnake
        67
    terrysnake  
       9 天前
    我曾经也抱有你这样的想法,但 claud3.7 和 4 以后我就不怎么看了,因为它一次生成的太多了。基本逻辑对就行。
    qiuhang
        68
    qiuhang  
       9 天前
    ai 又不需要对产出的代码负责,但是你需要,所以结论很明显了啊。不 review ,出了问题你总不能跟领导说是 ai 的锅吧。
    Lemon2ee
        69
    Lemon2ee  
       9 天前
    肯定会的,有的时候让他生成的东西一多就能很明显的感觉代码质量非常非常差,很多时候抽象都不知道怎么搞了,最后搞出来一个非常 ad hoc 的东西
    shen13176101
        70
    shen13176101  
       9 天前
    哈哈啊哈哈哈,之前我也对自己要求很高,对项目很负责,但是后来发现,没啥用,项目和自己有一个能跑就行
    Debug1998
        71
    Debug1998  
       9 天前
    焦虑无非是对人、事的不可控。
    AI 生成的代码确实不可控,但是有时候真香。
    xuanbg
        72
    xuanbg  
       9 天前
    笑死……今天刚被 AI 写的代码坑得不要不要的。这代码看上去一点问题都没有,但处理的结果和预期大相径庭。。。后来干脆还是自己写了
    bbao
        73
    bbao  
       9 天前
    @qoo2019 这是哪个学校或者公司的人,赶紧抬走……这认知~~~ 绝了。
    chendl111
        74
    chendl111  
       9 天前
    难道代码没有 review 就敢直接上测试环境甚至生产环境么
    CharlesQin
        75
    CharlesQin  
       9 天前
    慌,失去控制的都慌
    cxe2v
        76
    cxe2v  
       9 天前   ❤️ 1
    @fkzzzzls 你用的第三方库作者都是 AI 吗?
    liqingyou2093
        77
    liqingyou2093  
       9 天前
    我倒是想不看,一运行就出错,你受得了吗
    max1024
        78
    max1024  
       9 天前
    先上线,有时间再来看。
    iyaozhen
        79
    iyaozhen  
       9 天前
    不是非此即彼吧。看一眼也是看呀。再说,单测搞起来
    huzhizhao
        80
    huzhizhao  
       9 天前
    我写不出来这种代码
    ThinkCat
        81
    ThinkCat  
       9 天前
    肯定要验证一下的,再说不会每次大批量生成的。
    ghost024
        82
    ghost024  
       9 天前
    肯定会啊,甚至单元测试过了都要再看一遍掌握具体细节,一旦有问题就能快速反应
    635925926
        83
    635925926  
       9 天前
    @cxe2v 和 ai 没关系。op 标题“不知道它是怎么跑起来的,会心慌”,“它”指全部吧,不仅仅是 ai 生成的。
    INTOX8O
        84
    INTOX8O  
       9 天前
    @wyntalgeer 是这样,自己能承担相应的责任就可以了
    635925926
        85
    635925926  
       9 天前
    ai 内容确实需要 review 的。但是光看 op 这标题,像极了被害妄想症。
    lmmortal
        86
    lmmortal  
       9 天前
    第三方库 还有汽车都是标准化的产品,换句话说经过多次验证,AI 生成的内容是个性化的,甚至每次会话里面生成的代码都不一样,,需要加一道审核验证,不能不看就用
    tomatocici2333
        87
    tomatocici2333  
       9 天前
    AI 输出内容就是概率正确的,个人要充分验证 你怎么做没啥问题
    Felldeadbird
        88
    Felldeadbird  
       9 天前
    粗看就好了。毕竟是代码终究会出问题,避免不了。粗看大概知道这些修改会出现问题的位置。
    wnay
        89
    wnay  
       9 天前
    先跑,只要跑起来符合预期,下一个需求开干
    yishidixia
        90
    yishidixia  
       9 天前
    让他生成测试,测试不过继续 pua 它
    DIO
        91
    DIO  
       9 天前
    @cxe2v 难说
    anivie
        92
    anivie  
       9 天前
    @lloovve 大型库可以说是验证好的,小型库连个 test 的都没有的谁来验证?
    所以说你用到小型库了就要全部亲自审查一遍?
    Wh1t3zZ
        93
    Wh1t3zZ  
       9 天前
    我让 AI 写 Rust ,它给我编了一堆不存在的 crates...
    wwhontheway
        94
    wwhontheway  
       9 天前
    会 review 下,順便看看有沒有值得學習的地方
    fangxisama
        95
    fangxisama  
       9 天前
    不看 AI 写的代码,难道是因为看不懂吗?
    ano
        96
    ano  
       9 天前
    能跑就不看,不能跑再看
    sir283
        97
    sir283  
       9 天前 via Android
    《自己写的》《但不知道它怎么跑的》你是从 Ai 上复制下来的代码吧?那这个就不是你写的,你只是复制下来而已,跑不跑的起来,你都要运行看看,Ai 输出的代码基本都有问题,很少可以直接跑的。自己写的代码,基本自己都知道会怎么运行,会大概怎么走的。

    我一般自己写的,只会在写完后再 run 一遍,如果是 Ai 复制下来的,就会直接 run ,然后把报错丢 Ai ,继续改进,直到修复好 bug 跟满足需求为止。
    Belmode
        98
    Belmode  
       9 天前
    @zjsxwc #7 我觉得你的例子不对,OP 是代码的生产者,需要对自己的产品负责。你举例中买车、点外卖,都不是本人对车、外卖的质量负责!
    param
        99
    param  
       9 天前 via Android
    人家第三方库是经过大量使用后验证过的,AI 生成的是完全原创,未经验证的。这么想的话,stackoverflow 上收获大量点赞的答案都比生成的靠谱
    newtype0092
        100
    newtype0092  
       9 天前
    引用大厂久经考验的三方库,比如 Amazon 的 SDK ,出了问题一般怪不到你头上。

    引用不知名小团队的库或者一些 unstable 库,出了问题可能你的锅占大头。而且一般引入这种库的时候你就得保证背这个锅,不然不会允许你随便用的。

    直接 copy AI 的代码,那锅全在你头上,就看你愿不愿意把你的饭碗交给 AI 了。。。

    自己的 project 不说,如果你给别的 project 提 PR ,owner 要是知道你的代码自己都没看过,那敢直接 merge 的也是狠人。

    另外说到 unit test ,我觉得这个只能算人肉 review 过的前提下多加的一层保险,不可能作为主要手段,毕竟谁敢说 unit test 能写到全逻辑覆盖的,代码 100% 覆盖都难。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3791 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:13 · PVG 13:13 · LAX 22:13 · JFK 01:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.