分享一篇博客《谈谈 AI 编程工具的进化与 Vibe Coding》 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ligz
V2EX    程序员

分享一篇博客《谈谈 AI 编程工具的进化与 Vibe Coding》

  •  1
     
  •   ligz 37 天前 3330 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了一篇快 1w 字的长篇博客《谈谈 AI 编程工具的进化与 Vibe Coding 》

    最近关于 AI 辅助编程和 Vibe Coding 的讨论非常激烈,想了想还是写一篇博客来表达我自己的观点。

    从分析现在的 AI 编程工具,到讨论 Vibe Coding ,我们应该如何思考和实践编程这条道路?

    博客链接: https://guangzhengli.com/blog/zh/vibe-coding-and-context-coding

    21 条回复    2025-09-04 10:33:43 +08:00
    hbc1997
        1
    hbc1997  
       37 天前   1
    ChatGTP 写错啦
    ligz
        2
    ligz  
    OP
       37 天前
    @hbc1997 感谢,已经修复了,毕竟是纯古法手动写博客哈哈
    majiang2133
        3
    majiang2133  
       37 天前
    老师,你的字体很好看呀。是什么字体?
    ligz
        4
    ligz  
    OP
       37 天前   1
    @majiang2133 霞鹜文楷
    majiang2133
        5
    majiang2133  
       37 天前
    @ligz 了解了
    urlpha
        6
    urlpha  
       37 天前
    看完了,写的很好!
    vclin
        7
    vclin  
       37 天前
    请问下博主一般是写那类型项目,web 、后端还是其他,语言用的是什么哇,GitHub Copilot 、cursor 、cc 费用上有啥区别,谢谢
    weixind
        8
    weixind  
       37 天前
    感谢分享。
    betteron
        9
    betteron  
       37 天前   1
    花了点时间认真拜读,对我而言,学习到了很多,同时也有很多共鸣点,我个人经历了这些弯路:
    1. 我过去很长一点时间,将自己当作 context provider,和 llm 做 chat 形式的交互,这中间可能是修改代码,贴代码,也可能是问有可能是哪个原因
    2. 我过去深受 idea 上面的某些插件的 builder 模式的影响, 一度觉得 ai 还不够智能,随即有很长时间放弃 vibe coding
    3. 之后发现 cursor, 让我对 vibe coding 有了更深的理解.
    4. 随后, 使用 claude code, 最近在用:grok-code-fast-1, 可能会短暂放弃 cursor(这点作者也有提到弊端)
    5. 之后我会花大功夫在:如何和 grok-code 或者 claude code 更加有价值的沟通

    上面最后一点更有价值的沟通,可以总结点可能会做的事情:
    1. 重点学习 ruler, 让 ai 理解项目,过去我在我司大型项目中引入,发现 ai 需要理解你的项目结构, 编程规范,模块划分,开源工具的使用惯例
    2. 拆解任何一个你的 requirement, 最好清晰到 1,2,3..来交互,每一个拆解后的点都是独立且清晰的,这也是 claude code 的思考执行模式
    3. 尝试结合 mcp,这一点,我现阶段还没有心的,但我了解到作者原文的: context7
    4. 重点: 要舍得花钱,要享受 vibe coding,相信, 随着自己的不断学习,会发现很多新的认知, 我想这也是一个程序员的必修课.

    最后,感谢这篇文章,打赏 10 个 vt.
    betteron
        10
    betteron  
       37 天前
    @betteron 居然没有 v 币,那我就走 sol 把
    ligz
        11
    ligz  
    OP
       37 天前
    @vclin 我写的一般比较杂,主要写前后端产品,目前最常用的语言是 ts ,Java, python
    ligz
        12
    ligz  
    OP
       37 天前
    @betteron #9 感谢这么认真的回复
    0vo
        13
    0vo  
       37 天前
    @ligz 问一下 op 这个链接是什么字体啊,挺好看的
    cxtrinityy
        14
    cxtrinityy  
       37 天前 via Android   1
    AI 辅助编程写的很详细,但是 vibe coding 讨论的有点少,之前在油管搜索过相关视频,我发现 vibe coding 其实也挺复杂,但是角色切换很大,更像是从一个敲代码的变成一个会敲代码的项目经理,敲代码的能力主要用来 debug 了。
    需要 vibe coding 一个项目,首先需要明确的产品认知,最好有完整细致的需求文档,只有你知道需要做什么东西,你才能让 ai 做出什么东西。编码能力最后为 ai 兜底 debug 解决 ai 解决不了的问题,因此其间也需要不断学习编程语言。
    虽然和 vibe coding 不需要了解代码的原教旨有出入,但可能是现阶段更贴合实际的 vibe coding 方式。
    vibe coding 和 ai 辅助编程感觉是个双向奔赴的事,大家的目的都是完成产品开发,只不过一个是以人为本,一个是以 ai 为本,也许当 llm 的能力再进一步,两者终会殊途同归不再有侧重,也许很快,毕竟 llm 的发展速度的确很惊人。
    vclin
        15
    vclin  
       37 天前
    @ligz 感谢,文章分析了一些底层的机制,受益匪浅,目前自己使用一些国内的 IDE 开发 cpp ,开发很快,但是修复编译错误,又慢又耗时,也消耗了很多次数,还在摸索使用 PromptX 和 BMAD-METHOD 这类 MCP ,目前收效不多
    swananan
        16
    swananan  
       37 天前   1
    很好的一篇博客。
    我现在高强度使用 Cursor 、Claude Code 以及 Copilot 写一些工作或者开源项目,但是我无法接受一点:对 ai 生成的代码只要求功能效果,不去人工 review 。所以,很多时候,我的处理 IO 成为了产出的瓶颈,但是这个没办法,作为一个工程师,要把关好最后一公里。
    另外我还有一个比较切实的体会就是,我对编程语言的要求有了改变,我希望使用的编程语言没有太多抽象,更具体的说,我不需要语法糖了,我只需要一板一眼、完全工程化的编程语言,反正都是 AI 帮我干脏活。在我的场景里面,感觉 Rust 或者 Go 都是很好的选择。
    zinco
        17
    zinco  
       37 天前   1
    拜读了一下AI 相关的文章,写的非常好了,本来天天让 AI 给我写 AI ,只知道实现了,不知道为啥,看完以后清晰不少
    TimePPT
        18
    TimePPT  
    PRO
       37 天前   1
    我理解 Karpathy 说 Vibe Coding 的时候是带着一些调侃的味道的,不过因为其本人影响力太大,而且擅长造概念,AI Coding 又大火,大家就传开了。
    其实近期他还分享了另一篇 po 文,阐述了他日常 AI 辅助编程的经验,相对没那么调侃,是值得学习的。

    https://x.com/karpathy/status/1959703967694545296

    顺便一提,开头`Andrew Karpathy`应为`Andrej Karpathy`
    ligz
        19
    ligz  
    OP
       37 天前
    @TimePPT 感谢,已经修复了
    SHIROHA
        20
    SHIROHA  
       36 天前
    解答了最近的很多疑惑,感谢楼主的好文章。
    关于欠账单的比喻这部分深有感触,最近刚好在一个新项目上尝试使用 Vibe Coding 来开发,从 0 - 1 开发到上线都非常流畅,但是一旦涉及到子模块的修改、以及实现准确度,就开始出现形变一直到反复失败,最后还是要重新梳理整个逻辑(楼主提到的抽象部分)兜底。
    在实践中我对于 CC 和 Cursor 的规则文件的重要度并没有一个明确的感知,很多项目不管有没有这些文件都可以很好的完成任务,无法完成的任务也对于规则文件的修改也无从下手,想问一下楼主在开发时是怎么管理这些文件的?
    ligz
        21
    ligz  
    OP
       35 天前   1
    @SHIROHA 好处是不需要每次都让 LLM 去找这些信息,或者说每次都需要手动输入这些信息。我的部分实践可以参考: https://nextdevkit.com/zh/tutorials/ai-agents
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     898 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:34 PVG 03:34 LAX 12:34 JFK 15:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86