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

关于新来的技术 leader 准备用 Claude code 升级现有项目

  •  
  •   jinbangzhu · 2 天前 · 9973 次点击

    现有的项目背景,已经平稳运行了有接近 10 年了。所有的拓展、报表、API 等全部基于 PHP7 Laravel 5.2 进行的开发,最终目标是升级到最新的 Laravel 12

    简单的使用 find . -type f -name "*.php" | wc -l 发现有接近 7500 个 php 文件。

    升级的原因是老板认为版本过老,有潜在的漏洞风险。

    关于新的 leader ,目测有 20 年以上的开发经验,但他几乎不懂 php ,有.net react nodejs 的开发经验,Claude code Max 忠实用户,最近又新开了几个 Max 账号给其它三位 php 开发。

    目前执行到了第一步,先简单的从 5.2 升级到 5.3 试试水,让 Claude/Chat-GPT 生成了大概 12 个步骤,每个步骤都单独进行 git commit ,整体执行下来已经消耗了整月 20%的 token ,升完后遇到 bug 喂给 Claude 解决,一直反复进行。

    三位同事的反馈是 Claude 升级的时候会改现有的业务逻辑,需要大量的时间去 review 代码。

    各位有没有使用过 AI 来进行老项目升级的经历?

    134 条回复    2025-10-25 00:04:50 +08:00
    1  2  
    lhstock
        101
    lhstock  
       2 天前
    @visper 赞同,越认真的 review 花费精力不说,在老板眼里又是唱反调,成了证明 AI 能解决,和牛马没关系,不成还得背锅
    pugoingdrt
        102
    pugoingdrt  
       2 天前
    为啥不把现有业务逻辑整理出来,然后直接让 AI 用最新版本重新开发测试,业务没有问题后,迁移数据库文件进行对接
    zerovoid
        103
    zerovoid  
       2 天前
    升级框架版本为啥要用 AI 呢,这应该有很成熟的解决方案了吧,
    新功能用 AI 去开发提高效率还能理解,
    居然用 AI 去动老代码,感觉像是给自己整活。
    zw1one
        104
    zw1one  
       2 天前
    这个事有意思,拿公司的钱 自己玩 ai 升级项目 最后成不成也不关我事。
    成了是我的功劳,不成是 ai 的锅而且自己也涨了 ai 使用经验,挺好的。

    老板愿意砸钱给你们霍霍,就尽情霍霍呗。比做业务需求开发好玩多了。
    qianyeyixi
        105
    qianyeyixi  
       2 天前
    建议跑路,哪来的逗比? 7000+文件的项目 是来搞笑的吧 先把锅分掉,分不掉赶紧跑,不然新 leader 就该给你上压力了
    oops1900
        106
    oops1900  
       2 天前   ❤️ 1
    平时就该维护升级……我们 Laravel 项目也运行了 6 年,基本都是追着次新版升级。
    littleG
        107
    littleG  
       2 天前
    前几天刚看了相关文章和评论,说的就是 AI 并没有提升多少工作效率,相反需要工程师花大量的时间和精力对提交的代码进行质量审查和修改。

    而对于这种古董级工程,能平稳运行已经非常不错了,靠它进行整体升级重构……不如重新再另起炉灶开发一个了。
    盲猜一下: 最后就是简单改一部分,然后技术 leader 向老板汇报 “取得重大成功”;出问题了的话怎么办?拉一个开发祭旗
    strive
        108
    strive  
       2 天前
    拆分出来拿一小部分业务升级,积累升级的经验,再扩大升级吧;怎么也不可能一次性升级完呐
    aonshuy
        109
    aonshuy  
       2 天前 via Android
    先把 tech leader 开了,安全漏洞说安全的,不去面对漏洞而是追新技术,新技术就没漏洞吗,活在梦里?
    xufei0913
        110
    xufei0913  
       2 天前   ❤️ 1
    可以采用分阶段升级方案。比如在我的 java 项目中,将项目的 Spring Boot 从 2.x 升级到 3.x 时,第一阶段可直接将 Java 从 8 升级到 17 ,因为 Spring Boot 2.x 支持 Java 17 ,这样就无需逐级升级。第二阶段再从 Java 17 升级到最新版本和 Spring Boot3.x
    canteon
        111
    canteon  
       2 天前
    用 krio ,我觉得能解决。看起来用模型,怎么用最佳方式,就知道模型哪个牛逼,别改了离职吧
    bestwaytowait
        112
    bestwaytowait  
       2 天前
    太瞧得起 AI 了。。。。一点点做还有戏
    kyrieIvring
        113
    kyrieIvring  
       2 天前
    md 写的怎么样,写的不行就很费事情。
    dingyaguang117
        114
    dingyaguang117  
       2 天前   ❤️ 1
    大家也太瞧不起 AI 了,我感觉应该问题不大, 可能会有少量 Bug 。 主要需要有一个完善的测试用例。 不过看 LZ 公司这种万年不升级的,估计也没啥测试用例。
    zuosiruan
        115
    zuosiruan  
       2 天前   ❤️ 1
    期待 op 主一个后续,可千万别没了后续啊
    bbbblue
        116
    bbbblue  
       2 天前   ❤️ 1
    @xufei0913 其他的不一定有 java 这么好的兼容性.... java8 到 21 都没太大问题(除非大量反射 jdk/类库的 internal 实现) sb2 到 3 我之前升过除了 jaktraEE 改包名 几乎没破坏性更新

    特别 php 项目 前端构建一般也在一起。。。那就更恐怖了 前端的东西构建工具都迭代了多少了😂 搞不好他们的还是 gulp 新的基本都是 vite 这个都够吃一壶了。。。

    这个难度 估计和让你将几千个 java 文件的 SSH+JSP 项目升级到 spring boot+vue 有的一拼😂😂😂😂
    aarontian
        117
    aarontian  
       1 天前
    只能说 AI 没那么强,这事性价比过低
    xmdbb
        118
    xmdbb  
       1 天前   ❤️ 1
    指向性那么明显,倒不如自己投喂 larvel 每个版本更新信息和 PHP 的,然后再跑;
    接着再投喂业务文档和相关接口文档,让 AI 去 review ,review 结果不确定的记录转人工。
    lizuoqiang
        119
    lizuoqiang  
       1 天前
    重构一时爽
    ccfly
        120
    ccfly  
       1 天前
    @dingyaguang117 你也太看得起 ai 了。。。。这种跨很多个大版本的升级 你让精通的人来搞都很难搞 何况对业务一无所知的 ai
    jun4rui
        121
    jun4rui  
       1 天前   ❤️ 1
    这种不实际开发的 Leader 是坑的几率非常之大,过于脱离实际。这种人的信息来源基于各种宣传文章可能性很大,尤其是现在这种自媒体泛滥的时代,很容易被忽悠瘸。

    20 年的.net 经验,是不是 ASP 那种?.net 太宽泛了,建议好好调查下他的技术路线,我虽然已经退休不在一线编码了,我开发代码时间有 30 年,据我所知大部分 20 年经验的其实和现在的开发技术已经脱节了,很多都是根据新闻了解一下大概自己并不实际写代码,虽然流行的术语、词汇都朗朗上口,但绝大多数属于纸上谈兵,和实际编码相差太远,毫无参考价值
    jianrenjun
        122
    jianrenjun  
       1 天前
    1.首先有没有改这个项目的紧迫性,比如那些银行需要信创,旧的那种必须 ie 插件的系统确实紧迫
    2.AI 工具毕竟是个工具,如果是为了工具忽略了目的,那确实本末倒置.
    3.有给员工买 claude Max 的 leader 是个好 leader
    jun4rui
        123
    jun4rui  
       1 天前
    @littleG 本来就是,AI 生成得快,但是 review 的时间不快。你自己写代码思路和逻辑都知道,而 AI 生成的如果太多你还需要花时间了解,所以速度自然上不去,尤其是需要长期运营的项目,各种底层实现都需要了如指掌。

    出问题他跑路就是,换下一家,你们这个公司可能就全完蛋了,万万不可轻易重构系统
    jxee
        124
    jxee  
       1 天前   ❤️ 2
    代码错了编译器会报错, AI 错了他会告诉你: 我棒棒的完成了
    ryougifujino
        125
    ryougifujino  
       1 天前
    没有完善的测试用例这种 AI 重构就是无稽之谈。
    coolmenu
        126
    coolmenu  
       1 天前
    这么个升级步骤,用订阅制度肯定是不行。你跟总监说一下,用 API 制度,然后写上千个测试案例,估计消耗个几千美元上万美元。他就不说话了。
    jun4rui
        127
    jun4rui  
       1 天前
    @coolmenu 给他们买 Max 就是一种甩锅,你们 AI 我给你们了,搞不出来就是你们的问题了,搞不出来就是你们技术不行,或者玩不转现在的 AI 时代。

    万一老版也是那种被各种自媒体吹嘘 AI 的吹上脑的话,搞不好觉得底层程序员就是拖我后腿的,都给我裁掉,让 Leader 再招一批人(多半是他的人)进来入职就好玩了。
    tohearts
        128
    tohearts  
       1 天前
    看上去,升级完全没有必要,如果真要升级,那么采用系统的拆分,逐步升级才是正道。AI 用到这个地方才对。
    一上来将一坨运行平稳的老架构重构,有这样的领导,真是你们公司的“福气”啊
    qbuer
        129
    qbuer  
       1 天前
    让他滚蛋
    sharpy
        130
    sharpy  
       1 天前
    不如借助 cc 重写
    aroad
        131
    aroad  
       1 天前
    开新项目借助 ai 慢慢迁移就好了, 同时再让 ai 辅助出 unit/feature test 以便后续升级
    huifer
        132
    huifer  
       1 天前
    我是搞 Java 的接触到的项目规模:除开实体总数在 30 万行左右吧。然后用的方法也总结下来了,有机会的话可以看一看,目前对于老项目的理解已经很完善了。
    https://fc75euxpwk.feishu.cn/wiki/NfE0wGwZ6iYmzYk2KhlcaGTUnkd?fromScene=spaceOverview
    guiyumin
        133
    guiyumin  
       1 天前
    平稳运行了这么久,如果没有新的业务需求,就不要升级

    升级的话,必须要足够的理由
    dingyaguang117
        134
    dingyaguang117  
       1 天前 via iPhone
    @ccfly laravel 升级都是有官网指导文档的,AI 对着文档升级我感觉完全没问题
    1  2  
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   975 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:29 · PVG 02:29 · LAX 11:29 · JFK 14:29
    ♥ Do have faith in what you're doing.