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

关于 AI 编程对于前后端的讨论

  •  2
     
  •   wccode · 10 天前 · 5306 次点击

    现在公司内部大力推广 AI 编程,cursor 之类的。内部推广经常听到:“AI 写前端太厉害了,以后前端再说一个功能要两天就 xxxx”。

    不敢苟同,对于内部大部分还在用 Java8 开发,AI 提升效率不是更高吗?

    在公司前后端都干一些,前端和客户端 70%,后端 30%。个人使用 AI 去做 Java 和 go 的时候感觉效率更高呢。

    偏见吗?所以想和各位探讨一下:

    从你的经验来看,AI 编程对前端和后端开发的帮助,侧重点有什么不同? 在一个像我们这样,后端技术栈( Java 8 )比前端更“传统”的团队里,AI 工具的最大价值究竟在哪一边? 公司领导层(多为数据/后端背景)认为“AI 对前端提升更大”的看法,是否是一种普遍的偏见?

    76 条回复    2025-06-12 10:20:13 +08:00
    wxw752
        1
    wxw752  
       10 天前   ❤️ 1
    我们组前年十多个人,人手一个 cursor ,到今年还剩 6 个人了,其中前端快砍完了只留了一个,写特别复杂的画面。

    现在 flutter / web ,都是我们几个后端用 cursor 在敲,写的还挺好。
    wxw752
        2
    wxw752  
       10 天前   ❤️ 1
    @wxw752 #1 画面 => 动画页面
    nomagick
        3
    nomagick  
       10 天前
    AI 的前端代码写得和人写得一样烂
    peteretep
        4
    peteretep  
       10 天前
    AI 最大的问题在逻辑深度还是没有办法和人比,只能做通俗的逻辑

    UI 是最容易发挥的,因为只要样式对了就行,不求算法优化,逻辑平铺
    api 开发等等稍微项目大一点,就会碰到算法优化的需求,这个跟业务挂钩,AI 现在很难理解的很精确
    sentinelK
        5
    sentinelK  
       10 天前
    “是否是一种普遍的偏见?”
    不是。AI 的提升对于 UI 呈现,就是比业务流转要效率高。(注意我刻意规避了“前端、后端”)

    UI 呈现是由用户使用习惯,以及目前的科技硬件水平决定的,这就意味着某种操作设备,基本只有唯一一种最优解。
    有既定最优解,也就意味着需要更少的提示词,就可以更高的概率达到全局最优的 AI 生成结果。

    然后就是为何不聊“前端后端”。
    因为前端不止包含 UI 呈现,也会包含业务流转。
    sentinelK
        6
    sentinelK  
       10 天前
    举个特别简单的例子,你用提示词阐述清楚 12306 的业务逻辑,最少需要几句话?

    12306 的 UI 呈现,一个页面一句话就可以搞定。
    YvenChang
        7
    YvenChang  
       10 天前   ❤️ 1
    最近的项目都是用 Trae 写的,对我来说前端里 AI 生成的部分可能有 90% 以上,后端部分可能是 60% 左右。
    后端一开始的架构设计是 AI 提供的,controller 层和 service 层的一些重复代码也是 AI 辅助生成的,而大部分的具体业务操作 AI 就很难帮上太多忙(可能是 AI 缺少对于现实业务的理解?),AI 在后端开发的主要作用可能是节省了在各种框架文档里翻来覆去的时间吧,结合 mcp 之后可以快速的得出一些范式代码。
    但是相对来说,前端层面的代码我差不多可以完全交给 AI 生成,然后将精力放在美术设计和用户交互体验优化上。
    我作为个人开发者来说就是这样吧,如果说是对于公司的代码,那我只能说不管是前端后端 AI 能帮上的都不多(技术债太多了。。。
    NoKey
        8
    NoKey  
       10 天前
    没那么好用,简单比喻,做算法题厉害的人,不一定会搞应用服务~
    murmur
        9
    murmur  
       10 天前
    AI 写业务不行,设计界面也不如人抄设计稿好看,造轮子写点小工具类倒是不错

    后端可不一样,SQL 新人写是写不过 AI ,尤其是那种大连表
    ciki
        10
    ciki  
       10 天前
    实际体验下来,写前端就是强,而且理解精准,自由发挥的还符合使用习惯,写后端经常丢三落四,尤其是改老项目,一不注意就给你把原本正常的都破坏了
    finab
        11
    finab  
       10 天前
    想知道你们是怎么和 AI 描述 UI 和逻辑交互的?
    LPJD
        12
    LPJD  
       9 天前
    表示赞同“AI 对前端提升更大”。后端的代码需要根据业务要求写,业务要求并不在 AI 的学习范围内。后端的日常要写的代码不多,特别是维护旧项目时,需要了解业务需求、项目代码结构、已有的表结构、三方 api 、现有代码逻辑、存在的问题、三方库的版本号,在这个基础上,往里面加个几十行的代码就是一天的工作量了
    rogerer
        13
    rogerer  
       9 天前   ❤️ 1
    大家把前端理解为画 UI 是不是过于偏颇了?

    附一张图,大部分情况下,LLM 解决软件开发问题的成功率满足 Python > Java > TypeScript > JavaScript ≈ C++ 的规律。

    https://imgur.com/a/DvjSqQr
    lqbk
        14
    lqbk  
       9 天前   ❤️ 4
    不太分前后端吧、写简单的东西强。

    有这种偏见 心底里就是觉得前端的东西简单呗。
    zxjxzj9
        15
    zxjxzj9  
       9 天前
    对于很多后端来说,难的那一步在于你怎么和 ai 讲清楚你要写什么。大部分情况下你能讲清楚了,不需要 ai 其实你也可以写,难度比前端还低,很可能真的就是纯调包,前端还要考虑各种接口同步异步之类的呢。但是前端简单的地方在于他要写什么都是别人直接告诉他的,所以才有容易被 ai 取代的感觉
    wangtian2020
        16
    wangtian2020  
       9 天前
    AI 写 threejs ,他不知道你的模型结构是什么样的,猜不了一点代码。
    不熟悉的地方才适合用 AI ,熟悉的领域 AI 可以加速编程速度,但不用 AI 敲又不会多花多少时间,一天上 8 小时班,谁还不是写 1 小时代码划 7 小时手机呢。
    MYDB
        17
    MYDB  
       9 天前
    拥抱 AI 做业务的公司,多半没技术追求,不能期待能整出多好的产品
    kenshinhu
        18
    kenshinhu  
       9 天前
    我比较好奇怪的是有没有人用 Cursor 对一些古老的项目进行维护,是会优化代码还是增加屎山无用的代码?
    pangdundun996
        19
    pangdundun996  
       9 天前
    界面就是那么个界面,但业务逻辑有很多狗屎一样的需求
    vaporSpace
        20
    vaporSpace  
       9 天前
    说了那么多,什么 XX%以上用 AI 写的,为什么没人说一下大概的项目规模,是个怎么样的系统。说实话无论前后端,如果是企业级的项目,能达到 90%的 AI 代码率,我觉得还挺牛逼的,有无经验分享
    z44z8kDw76Vt3Pz1
        21
    z44z8kDw76Vt3Pz1  
       9 天前
    AI 那么 NB 全干了的了还要人干什么。

    分享数据库审计系统
    https://license.aiputing.com/#/pricing?lm=next-dbm
    gwbw
        22
    gwbw  
       9 天前
    个人感觉现在 AI 在往 "面向评测优化" 的路上走,那些好量化、容易被大众看出差异的地方,AI 公司会更倾向于针对这部分进行训练以提高评测排名。

    前端显然比后端更容易看出差异。
    zoharSoul
        23
    zoharSoul  
       9 天前
    因为我给 ai 说不清楚后端的狗屎业务
    accelerator1
        24
    accelerator1  
       9 天前   ❤️ 7
    curd boy 还玩起鄙视链了
    lovedebug
        25
    lovedebug  
       9 天前
    实践中用来辅助升级和还技术债很不错,ai 理解了项目逻辑,一些模块的大版本升级基本都能搞定
    nooneanyone
        26
    nooneanyone  
       9 天前
    后端屎山业务,你和人讲都讲不明白,还想和 AI 说清楚么。。。
    前端所见即所得
    rogerer
        27
    rogerer  
       9 天前
    @ciki 因为你的前端是自由发挥的,你让 LLM 去严格对照设计稿还原,几乎是没有任何可能还原成功的。真实场景不可能让 LLM 去自由发挥。
    monosolo1on1
        28
    monosolo1on1  
       9 天前   ❤️ 1
    为啥我一个后端起步的 9 年经验程序员,觉得前端也很复杂?尤其是 UI 交互下各数据/状态同步,搞麻了。
    相反后端模块化更容易,各模块职责明确,业务逻辑也是单向的,不会有前端那种互相影响的情况。
    当然,也有可能是我前端还没入门。
    pkoukk
        29
    pkoukk  
       9 天前
    前端是不是模块化更强一点?各个部分的耦合度没那么高?
    后端复杂项目烂代码的屎山太高了,别说 AI 了,来个资深看代码都得看两周
    pkoukk
        30
    pkoukk  
       9 天前
    @monosolo1on1 你说的后端是不是只面向前端的 HTTP 后端..
    hwdq0012
        31
    hwdq0012  
       9 天前
    @monosolo1on1 #28 mvvm 了解一下, 数据驱动 ui , 换句话说,用某种方式对数据进行修改,只管数据就行了,没 ui 也能运行程序,执行单元测试,有 ui 时,ui 跟着数据自动变化
    cheerxl
        32
    cheerxl  
       9 天前
    这不就是看你前端交互复杂还是后端逻辑复杂的事情吗?我的体验式,做复杂的都不行,甚至有些交互简单但是 UI 一致性要求高的前端,AI 也不太行
    ciki
        33
    ciki  
       9 天前
    @rogerer #27 能还原到 99%
    weixind
        34
    weixind  
       9 天前
    这是个伪命题。对大模型来说,哪有什么前后端的区别。

    其实跟业务相关,复杂度侧重于前后端的都有。不能笼统的一刀切说对哪个提升效率高。

    只不过 cursor 这类偏前端技术栈的工具在 agents 路上走的更远一些。
    llej
        35
    llej  
       9 天前
    我的想法就是,前端是可以快速测试的(人眼轻松就能看出来)然后可以给到 AI 正确的反馈

    而 ai 由于缺乏这种快速测试特性,所以人类无法快速给到 ai 正确反馈,导致开发者认为自己比 ai 更快。

    这两种情况 ai 获取到的信息质量是完全不一样的,不信你可以自己看看你让 ai 修改前后端时给出的提示词
    weixind
        36
    weixind  
       9 天前
    @ciki #30 大佬,哪个模型能到 99%啊。有相关的 prompts 可以分享下吗,是否需要 figma 的结构?多谢分析~
    sss393
        37
    sss393  
       9 天前
    前端 boy 还是太老实了,其实 cursor 写后端速度更快,特别是框架和层分好的情况下,边写边总结成 readme ,再反哺 ai 参考。写页面我说实话,我扔给他设计图他都能抄歪来,只能依靠 v0 来画,cursor 接业务。
    rogerer
        38
    rogerer  
       9 天前
    @ciki 做不到。

    Si, Chenglei, et al. "Design2Code: Benchmarking Multimodal Code Generation for Automated Front-End Engineering." arXiv preprint arXiv:2403.03163 (2024).

    可以看看这里的 benchmark ,这还只是 HTML+CSS 的简单页面。
    rogerer
        39
    rogerer  
       9 天前
    @llej 我反而觉得后端更容易让 LLM 知道问题,只要你有足够好的 unit test 。但是对前端来说,你即使告诉给他差多少个像素点,LLM 也很难处理,因为它无法「想象」这段代码实际的布局效果是什么样(这个要求就相当于让 LLM 训练得到一个差不多的渲染引擎,这很难)。

    实际体验里也经常遇到这种问题。
    llej
        40
    llej  
       9 天前
    @rogerer 你也说了,需要足够好的单元测试,我完全认可这点。但他们得出 ai 更好写前端代码不就是在没有单测的情况下吗
    rogerer
        41
    rogerer  
       9 天前   ❤️ 1
    @llej
    一是,「 AI 是更擅长前端」这个结论是不一定成立的。正如我引用的,AI 现在在 multi swe benchmark 上的任务成功率最高的是 Python 其次是 Java 这两者比 JavaScript 要高出一倍以上。所以我并不认可「 AI 是更擅长前端」这个结论。我对这件事情的理解是,AI 更擅长规范的代码,比如 Java 和 TypeScript 。(这里 Python 是个例外,字节的论文里认为是 Python 作为以前的 benchmark 的首选语言,会被 LLM 过度训练)。
    二是,前端同样需要好的 unit test ,但是和后端不一样的是,前端是没有办法被 unit test 覆盖完备的,比如 UI 的部分。这就要求更丰富的反馈给到 LLM 。

    我最近在做 design2code 的相关工作,可以多交流。
    llej
        42
    llej  
       9 天前
    @rogerer 我从来没有说过 ai 更擅长前端,我是说前端能够快速测试,有利于 ai 生成更好的效果。
    xubingok
        43
    xubingok  
       9 天前   ❤️ 2
    @peteretep 跟你的感觉恰好相反.
    ai 对设计稿的解读并不厉害,即使写出勉强令人满意的样式,也会产生大量垃圾 css.涉及公共样式和公共组件,又是一个需要调整 rule 的过程.
    至于后端,现在哪还有什么算法优化咯...都是业务 crud.我觉得 ai 可以完成得很好.
    monosolo1on1
        44
    monosolo1on1  
       9 天前
    @hwdq0012
    是呀,理论上是这样,但是光看前端的状态管理框架层出不穷的架势,就知道实际上是啥情况了~
    hwdq0012
        45
    hwdq0012  
       9 天前
    @monosolo1on1 #44
    那个好像是 react 的 hooks , 不是 mvvm ,最近也在学 react hooks ,感觉很别扭

    vue 据说也是 mvvm, 总之微软 wpf 是第一个 mvvm 框架,我写 wpf 是感觉比写 react 时更省心很多,不知道 vue 怎么样,
    学 react 是因为最近在玩 react native + c++的 全平台方案(暂时不理 linux)
    cabudad
        46
    cabudad  
       9 天前   ❤️ 2
    我反倒是感觉 ai 更擅长后端的东西,对页面没要求的情况下 ai 自由发挥生成那确实快,但是个性化程度高的页面 ai 完全没法实现,你就算把每个元素的位置尺寸都跟它说,也完全没法实现,最多是生成一个大概框架,还得自己填内容。
    Ghrhrrv146
        47
    Ghrhrrv146  
       9 天前   ❤️ 10
    我是 web 全栈,这个问题不约束场景就是自说自话。我的感受是如果你对产出结果有具体要求,那么 ai 生成前后端的质量相比没什么区别。

    相反,如果你对结果有清晰的限制,比如精准还原 ui 给的设计稿,ai 给的结果要么是相差甚远(比如 v0 、readdy ),要么极难维护(比如蓝湖给出的 css 全是用定位实现的)。
    很多后端之所以觉得 ai 生成前端简单,是因为他在生成前端页面前就没什么要求或者要求极低,属于 ai 给的什么样,就用什么样,最多加点微调。

    这种前端场景对标的后端场景应该是数据库的增删改查,此时 ai 质量同样很高,而且由于只涉及数据的流通,验证起来比前端还要简单,前端还要自己去看浏览器效果,后端直接让 ai 生成测试用例,跑一遍即可。

    影响 ai 质量的主要因素是语料库的丰富度和任务的可推理性。这两点普通前后端没有显著差别,可以说前端代码语料丰富一些,但没有数量级的差距。
    murmur
        48
    murmur  
       9 天前
    @ciki 哪个 AI 能读设计稿了,cursor 我试过 3.7 模型真就一顿胡来啊
    Ghrhrrv146
        49
    Ghrhrrv146  
       9 天前
    @Ghrhrrv146
    如果你对产出结果有具体要求 -> 如果你对产出结果没有具体要求
    chneqi
        50
    chneqi  
       9 天前   ❤️ 1
    ai 从 0 开始画个页面,美观程度到是不错。
    要说擅长前端那真不太行,让 ai 让改交互/样式细节很容易打转绕圈出不来。
    其中关键问题就像楼上遇到的那样,交互/图像有问题又不报错的,而且基于 html+css 结构(或者类似结构)的代码和实际呈现的对应没法保证直观,改前端就像是对着代码猜效果。
    ai 还是适合改独立性强的东西,容易解耦分出来的东西,特别是各类小的工具方法,而前端,组件化的再好也是糊在一块的。
    pandaPapa
        51
    pandaPapa  
       9 天前
    还是看需求吧, 做后台管理的功能, cursor 是真好用. 官网那种有强定制 UI 的就不行了, 它理解的 UI 有很大问题. 和 UI 的结构基本差不多, 但生成效果和 UI 差距太大了, 必须手动改, 让它同时适配 H5 和 PC 它就更晕了, 根本改不出来.
    chendl111
        52
    chendl111  
       9 天前
    前端确实很厉害,后端涉及到数据就很不好说
    huluhulu
        53
    huluhulu  
       9 天前
    自己做的 8w 行的项目,全部 AI ,自己不到 1%,我只能说太爽了
    chezs66
        54
    chezs66  
       9 天前
    不懂求问,你们在用什么工具做设计稿转代码?转换以后 UI 还原度、设计走查成功率是多少?
    chezs66
        55
    chezs66  
       9 天前
    @rogerer 求问一下图片来自哪篇论文?
    Mandelo
        56
    Mandelo  
       9 天前
    @cabudad 那个截效果图丢给 AI 直接给你生成代码的项目叫啥来着?
    rogerer
        57
    rogerer  
       9 天前
    icev5
        59
    icev5  
       9 天前
    1. 公司项目使用 cursor 或其他工具,领导不怕泄露吗
    2. 后端一枚,前端的需求比较多,倾向 AI 开发前端代码
    murmur
        60
    murmur  
       9 天前
    @icev5 国内绝大多数项目都是重复开发,或者对别人的仿制,牛逼是因为销售能把项目卖出去,尤其是 to b ,to g ,代码都交出去了,有啥泄露,里面全是业务屎山,赌的是你三五年后维护不了必须乖乖交维护费,项目本身都是要赔钱的
    icev5
        61
    icev5  
       9 天前
    @murmur 我是不怕,sb 领导和公司 怕
    helloet
        62
    helloet  
       9 天前
    但凡对 UI 有要求的项目,目前的 AI 还无法胜任。
    brucewar
        63
    brucewar  
       9 天前
    前端代码不只有画页面吧?
    xhjsw
        64
    xhjsw  
       9 天前
    抛开场景讨论就是耍流氓,, 如果是关于 ai 写前端后端哪个更好用这个问题很没意义,,,

    如果是,国内绝大多数公司的 web/h5/小程序端和后端用 ai 写哪个更好用? 那毫无疑问这种前端 ai 完全可以 100%代替了,具体是为什么就没啥可抬杠的了,.可以了解下各个中小公司今年前端被裁了多少几乎都被后端用 ai 替换掉的情况就可以充分回答了。

    但是其实前端主要的市场应用在移动端上,,如果也算上的的话那差不多吧
    fangxisama
        65
    fangxisama  
       9 天前
    给 AI 解释大半天的业务逻辑,不如我自己写算了。
    fangxisama
        66
    fangxisama  
       9 天前
    而且还有个问题,前后端的技术栈 AI 都可以学习到。但是前后端的业务逻辑 AI 学习不到,而后端更偏向业务逻辑。
    xubeiyan
        67
    xubeiyan  
       9 天前   ❤️ 1
    看我头像就是我对所谓 LLM 写代码的态度……
    现目前的 LLM 的问题在于:
    1. 受限于上下文长度,不能完整载入整个软件工程的所有信息,于是只能语法级别的设计
    2. 代码复杂度增长太快,多用几次无法控制。除非你只想写一次,永不维护。
    shm7
        68
    shm7  
       9 天前
    所以中国人特别容易面临敌人攻到家门口,快咩国了,还在内部无意义内卷争斗
    shm7
        69
    shm7  
       9 天前
    @xubeiyan #67 现在 LLM 的窗口已经很长了。而且代码是分段召回,交给 LLM 的,也不是全部。未来召回能力可能还会提升,毕竟写代码都这样了,找代码没道理不能提升。目前代码复杂度大点确实容易出问题。
    elseswitch
        70
    elseswitch  
       9 天前
    如果前端也需要处理复杂的业务交互逻辑,同样不行。
    xuxian4321
        71
    xuxian4321  
       8 天前
    前端和人交互的部分,很难标准化,还是需要人。后端主要是技术逻辑,反倒是可以完全用 AI 。
    chunhuitrue
        72
    chunhuitrue  
       8 天前
    我比较好奇你们公司推广 cursor ,给报销么?
    CyouYamato
        73
    CyouYamato  
       8 天前
    我正在前后端都写, 前端确实靠 AI 能写更多.后端有些需求一时半会描述不清, 描述了 AI 也难以理解. 反复描述让 AI 改浪费额度也很烦. 还得自己写核心逻辑. 前端错了最多就是性能 或者 UI, 接口对接问题, 后端错了那可是要丢饭碗的.
    xzylzz
        74
    xzylzz  
       8 天前
    @ciki #33 99%?你找个设计师来看看吧还是
    starlion
        75
    starlion  
       8 天前
    AI Coding 目前写大项目,比如一次性代码量 > 5000 行,还是会出现一些问题,
    还有复杂的业务逻辑,还得人来搞,
    最后 AI 写了代码还得人来监督检查
    SanjinGG
        76
    SanjinGG  
       8 天前
    我是前端,从没让 AI 画过页面,因为根本还原不了哈哈哈哈,不知道你们用的是什么,我目前只用过 gemini 、deepseek 、chatgpt 。倒是后端很多都是问 AI 写的,除了经常会用一些不维护的老库,其他没什么问题。AI 出的页面结构真是稀烂,真要维护,还得自己优化一轮再还原设计。所以我用 AI 写的后端肯定也有这样的问题,只是对于我来说够用而已,肯定不是最优解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3297 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:41 · PVG 12:41 · LAX 21:41 · JFK 00:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.