• 请不要在回答技术问题时复制粘贴 AI 生成的内容
go522000
V2EX  ›  程序员

AI 时代的开发,还有必要像以前规划各种模块吗?

  •  
  •   go522000 · 2 days ago · 3925 views

    刚在修改以前的旧的项目,这个项目除了最基本的控制器与视图区分开外,还把模型、服务、前置后置等等,都按文档规则分开存放,但刚在想,现在基本上由 AI 在控制编写。

    假如某个地方要读取新闻列表,写一个段 SQL 直接读,然后其它地方也要,也让 AI 直接写来读,假如以后要修改也是让 AI 全局搜索,找到并确认哪些地方要修改 SQL ,会不会比封装在某个地方更加方便。

    因为刚考虑到比较复杂的 SQL ,需要关联太多表并且不同权限与不同展示的地方,显示的不一样,那么直接用 SQL 直接读取不要封装的话,是不是后期维护起来会更加方便?

    39 replies    2026-09-10 14:14:17 +08:00
    chendy
        1
    chendy  
       2 days ago
    从来也不用,只要💩最后不是自己吃,爱怎么拉就怎么拉
    morrieati
        2
    morrieati  
       2 days ago
    实际上还是需要的,感觉某种程度上是一种上下文工程
    tf2
        3
    tf2  
       2 days ago
    不知道最新的模型怎么样

    老模型的话,一个 1w 行的文件,改起来明显比几百行的吃力得多。

    把文件拆小,AI 上下文也更小
    xqk111
        4
    xqk111  
       2 days ago
    一样的,后续维护,一坨屎怎么维护,
    sky3hao9
        5
    sky3hao9  
       2 days ago   ❤️ 2
    这正是有着同样的工具, 你是 coder 人家是 engineer 的原因
    superrichman
        6
    superrichman  
       2 days ago
    AI 填坑快,但是你得规划好茅坑的位置,不然很快就是屎山 🐶
    jackOff
        7
    jackOff  
       2 days ago   ❤️ 2
    我感觉 ai 时代更需要微服务把功能拆成模块化,这样子 ai 拉的屎不会把全局设计污染掉,风险隔离可控
    RexKang
        8
    RexKang  
       2 days ago
    只要你觉得任何情况下,你都不会碰这坨代码就行(包括万一)。
    zengxs
        9
    zengxs  
       2 days ago
    要规划,如果懒得思考这些 可以直接用 mattpocock 的 codebase design 这个 skill
    yidinghe
        10
    yidinghe  
    PRO
       2 days ago
    项目大到一定程度,AI 也找不出全部要改的地方。别把 AI 想象的具备无限大的能力。
    yelog
        11
    yelog  
       2 days ago
    模块分组还是需要的,当项目大的时候,coding agent 找代码的速度也会比较快,也比较省 token
    thtznet
        12
    thtznet  
       2 days ago
    一个简单的逻辑:用了五轴加工设备后,你觉得一张桌子应该是桌面和 4 个腿分开加工然后组装,还是直接让加工中心做出一张腿和桌面连一起没有接缝的家具?其实都可以,看你以后打算怎么用。
    Yishanshan
        13
    Yishanshan  
       2 days ago
    分组至少能控制屎山爆了的时候不会炸的到处都是
    a1562619919
        14
    a1562619919  
       2 days ago
    看是不是技术驱动的事情,只要求做出来就不管了,还是想把它做漂亮的问题。分模块 ai 回答速度/迭代需求可以搞快点,人工介入时也能舒服看代码,开发体验更好
    penisulaS
        15
    penisulaS  
       2 days ago
    好的架构能省 token ,如果你 token 无限量,那就无所谓了
    homewORK
        16
    homewORK  
       2 days ago
    感觉还是需要的,而且可以拆的更合理了。
    拆模块主要不是方便写代码,是方便后续维护,服务扩展。 你全部写一个模块如何扩展? 更不用说 AI 上下文管理也是用好 AI 的关键,全给 AI 不如不给。
    cellsyx
        17
    cellsyx  
       2 days ago via Android
    划分模块和接口在 AI 时代更重要了,因为需要保证 AI 的可维护性。模型上下文又不是无限的。
    cppc
        18
    cppc  
       2 days ago
    那是肯定的,不然就会:
    一个目录下几百个代码文件
    一个代码文件几千/万行

    而且 AI 干活会模仿你当前项目的编程风格

    带个好头,坚守规范~
    theohateonion
        19
    theohateonion  
       2 days ago
    取决于你的项目会有多大。如果自己写着玩的,无所谓了,单文件只有一个函数模型也能搞定。

    但凡你要考虑 scale ,多花点时间在模块设计,分层上,后面和 AI 协作起来会更加的高效和流畅。
    Lemonyi
        20
    Lemonyi  
       2 days ago
    @theohateonion 确实,小项目的话无所谓,公司大型系统和复杂项目还是必须要 DDD 分层的,另外我在前面几个帖子看到你,这里又看到你了哈哈,主要是你这个头像有点独特印象深刻
    zuokanyunqishi
        21
    zuokanyunqishi  
       2 days ago
    @Lemonyi 我这垃圾项目 5 万行有效代码都得分层...
    gitlight
        22
    gitlight  
       2 days ago
    需要,业务逻辑和概率模型本身都是熵增的来源,做职责划分/DDD/软件工程的意义是人为地推动熵减,把项目的复杂度维护在一个可被理解的范围
    此事在人月神话中亦有记载
    adoal
        23
    adoal  
       2 days ago
    天龙八部,牛鬼蛇神,他们的生产力和破坏力,都会被 AI 放大
    mlsnatalie
        24
    mlsnatalie  
       2 days ago
    这些不是 ai 自己决定的吗?她喜欢就好。
    zencitta
        25
    zencitta  
       2 days ago
    对于大厂我我觉得有必要,如果是个人和小团队,应该把重心放在功能和实现上,而不是代码内部的结构上。
    dwSun
        26
    dwSun  
       2 days ago
    看给多少钱,钱多我就多做点,钱少我就少做点,能用就行
    isnullstring
        27
    isnullstring  
       2 days ago
    需要,分模块 节省脑力,也节省 AI 上下文窗口,你也不想修一个简单的问题 填充 512K 上下文吧
    DonaldY
        28
    DonaldY  
       2 days ago
    当然需求,架构设计必定需要的。除非一次性需求,日后不用维护。
    EthanZC
        29
    EthanZC  
       2 days ago
    @yidinghe 别招笑了, 你的项目有 openAI 人家做的项目大? openAI 自己的工程师已经在用自己的 AI 写代码了,你还在这阿巴阿巴,玩你那一套古法编程的思维模式
    wat4me
        30
    wat4me  
       2 days ago
    要吧,token 量有限的情况下,不分块 AI 每次都全读一遍吗?
    ajaxfunction
        31
    ajaxfunction  
       2 days ago
    要,因为为遇到过类似问题。
    刚开始只是做一个小功能,目录让 ai 自己建的。 后来要扩展功能,ai 就开始抽风了,不断死循环
    当然,规划目录也不是自己建,而是写一个 .md 文件,让 ai 阅读,按这个规则来
    kaf
        32
    kaf  
       2 days ago
    ai 上下文也是有限的
    heyhumor
        33
    heyhumor  
       2 days ago
    不光需要,还得比以前做的更好。
    人可以记住很多前因后果,ai 不行,没有具体目标和模块设计,他做出来的就是一坨 shi
    pmer
        34
    pmer  
       2 days ago
    看项目复杂度,需要有一定架构思维,但实际用起来可以简化,虽然我不是技术背景...
    uxstone
        35
    uxstone  
       2 days ago
    AI:我只是人工智能,我不是言出法随的神。
    hitsmaxft
        36
    hitsmaxft  
       2 days ago via iPhone
    技术架构就是防止一堆水 kpi 的人瞎搞。现在 ai 和水货一块干活,更需要架构了
    SP00F
        37
    SP00F  
       1 day ago
    笑死了。。。没有规划就做,AI 散发思维一个 1+1 他给你整出个 0.1+0.1+0.2+0.1+(10000*0)+N 来
    skuuhui
        38
    skuuhui  
       1 day ago
    只要你还在考虑这个问题,就说明已经走偏了。现在只注重结果。astra 已经可以生成二进制直接可运行的程序了,你觉得未来还需要架构吗?编程语言可能都不是特别长久了。如果你用顶尖的大模型,那么你只需要做一件事,就是说明白你想要的东西。
    MaskerPRC
        39
    MaskerPRC  
       1 day ago
    刚做完一个类似纠结的决策,说说实操感受。

    我们现在把“模块”当成给 AI 的上下文路标来用——不是因为老规矩要求分层,而是发现 agent 在职责清晰的目录结构里干活,改动的爆炸半径小得多。比如有个截图搜索的功能,OCR 、索引、查询这三块从一开始就拆开,后来重做索引策略的时候,AI 只需要动其中一个目录,另外两块的测试全绿直接过。

    反过来也试过让 AI 在一个“顺手都写这儿”的项目里加功能,改一处它会把不相干的几个文件也顺手“优化”一遍,review 的成本比写代码还高。

    所以我的结论是:AI 时代不是不规划模块,而是规划的理由变了——从“方便人维护”变成“给 AI 划定改动边界”。SQL 那个例子,如果那段 SQL 只有一个地方用,直接写没问题;超过两处就该收拢了,不然让 AI 全局搜索着改的时候,你不知道哪处会漏。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1662 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 96ms · UTC 16:17 · PVG 00:17 · LAX 09:17 · JFK 12:17
    ♥ Do have faith in what you're doing.