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

讨论下 AI 写小项目要用 ts 么?

  •  
  •   FaiChou ·
    FaiChou · 7 天前 · 2091 次点击

    现在用 AI 写小项目太方便了,前后端的项目,直接用 nextjs 梭哈,代码都不用管,当一个产品经理和测试即可,自己懂部署就行。

    但随着使用的次数增加,AI 的一些问题会暴露出来。nextjs 会让你选是否使用 ts ,如果使用了 ts ,AI 写的代码会经常需要自己修改 lint 问题,还有一些 any 声明的问题。虽然这些可以 disable 掉,但还要手动去碰这些脚手架,对于不是很懂开发的人员来讲,这也要话时间去学习研究。虽然 AI 可以帮你完成,但最好你懂它在干什么。

    但是丢掉了 ts ,感觉就会少一层保护。现在就出现“既要又要”的局面,既想要 ts 带给的安全警告,又要 AI 能够像一个真正的“程序员”一样来完成项目。

    项目代码稍微多一点,AI 就会出现到处“拉💩”的问题,同样的方法不知道抽象出来。而且一个 ts 文件代码行数越来越高。有一次让它去重构一下,因为中间遇到了一个警告问题,结果把页面的逻辑也给改乱了。

    再一个是关于数据库,用 prisma 这种 ORM ,感觉更复杂一些,还需要手动 generate 和 migrate ,尤其是后面对数据库表结构调整。最近的几个项目我都没用 ORM ,直接操作数据库,这样更方便一些。舍弃了 ORM 带了的一点好处。

    总结一下,现在的 AI 可以做一个好帮手,但随着项目的代码增加,需要一个真正的程序员去半自动化管控,及时的让 AI 来重构。

    17 条回复    2025-04-13 04:54:27 +08:00
    foolishcrab
        1
    foolishcrab  
       7 天前 via iPhone   ❤️ 3
    其实你这个结论就是 ai hype 人群和正常程序员的根本分歧。
    正常程序员在兴奋过后,马上就会想在生产级代码上去使用 ai ,然后得出你这个结论。而 hype 哥们只会不停地输出补光灯 app 来强化 ai 无敌这个观点
    Lemon2ee
        2
    Lemon2ee  
       7 天前   ❤️ 1
    ai 编程不是开盲盒,是帮你省去打字的功夫。

    代码生成后仍然是需要你去审阅,仍然需要你去记住代码结构,这样你下一次让 ai 帮你写代码的时候你能够告诉他怎么写,用什么 function ,怎么拿东西,要注意什么等等。
    oliveira
        3
    oliveira  
       7 天前   ❤️ 2
    我感觉 TS 的类型系统提升了 AI 编程的稳定性。特别是在 Agent 模式下,AI 可以自动修复 TS 类型问题,从而确保代码不会有明显的类型错误。
    EgoTao
        4
    EgoTao  
       7 天前   ❤️ 1
    刚巧这两天领导让我去看看 anima+figma 能不能减少前端工作量。 测试了一下,首先第一点需要 UI 用 figma 的时候尽量符合 Anima 的规范,不然它都不知道这里是不是可以滚动的。第二点,就是生成出来的代码,如果想迭代要么就是重新生成,要么就需要花打吧时间去描述逻辑和验证代码,也就是你说的这个情况。当使用 AI 进行迭代,还是需要人工介入的。 我给领导的反馈就是,做一次性的落地页之类的还行,对于强交互或者需要长期迭代的反而不如人直接上手。
    sing1ee
        5
    sing1ee  
       7 天前
    AI 是比较喜欢 ts 的,——所以适合。
    FaiChou
        6
    FaiChou  
    OP
       7 天前
    @Lemon2ee

    AI 写代码分成三种模式:
    一种是让 AI 来 tab 补全,逻辑完全自己掌控,这种已经很成熟了。
    另一种是半自动化,对于一个成熟的项目,让 AI 来迭代,喂给它需要了解的代码,以及讲好需求,它来实现。这种也挺成熟的。
    最后一种是全自动化,项目的创建,代码的编写完全由 AI ,自己仅做产品经理和测试人员的工作。这种会遇到很多问题,也就是我上面写的那些各种问题,这种问题可能是由上下文太长导致的,仅仅靠一些 system prompt 解决不了。
    iceNa
        7
    iceNa  
       7 天前
    我最近在改造老项目的时候也遇到了,因为之前的同学图省事有比较多的 ts 类型错误没有修改。
    所以我现在每次提问都会补上一句: [如果遇到历史 ts 类型错误,暂不修改,先完成主线任务。完成后输出你认为需要修改的地方,由我决定要不要修改]
    sunny352787
        8
    sunny352787  
       7 天前
    我建议用 TS ,给 AI 更多的检查错误的机会写出来的代码更好
    AlexHsu
        9
    AlexHsu  
       7 天前
    你最擅长什么就用什么 ai 的一些 bug 藏的很深 你在那个技术层面造诣不够 找起来可老浪费时间了
    ccpp132
        10
    ccpp132  
       7 天前
    我纯用 ai 做补全,光这样都遇到过好几次 bug 需要修复,不敢想象全交给 ai
    tonytonychopper
        11
    tonytonychopper  
       7 天前
    我还以为现如今的前端项目里,TS 早就是必选了
    elevioux
        12
    elevioux  
       7 天前
    越严格越好,减少出错的可能。type 关键字也能当作上下文
    nowheremanx
        13
    nowheremanx  
       6 天前
    个人只用 AI 进行自动补全。 几十行的一次性脚本可以让它发挥,要修改的话,直接改得面目全非,都忘了最开始的需求了。
    theprimone
        14
    theprimone  
       6 天前
    不用 TS 已经不会写代码了
    asen001
        15
    asen001  
       6 天前
    有类型定义的情况下,AI 可以修复不少错误,体验还可以。
    lanxxkk
        16
    lanxxkk  
       5 天前
    把规则定义好了可以减少很多错误。
    liuhui244671426
        17
    liuhui244671426  
       4 天前
    可以试试。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   959 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:00 · PVG 04:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.