0%

AI 编码的观点和经验分享

这里提到的“AI”,涵盖了我用过的通用大模型(如 GPT, Gemini),以及集成在编辑器中的编程 AI(如 Cursor, Gemini Code Assist 等)。
观念:工具的进化

AI 相当于一个新的工具,我觉得应该尽快学会使用它。我看过一个非常贴切的比喻:在没有 AI 之前,程序员编程好比马车夫驾驶马车;而 AI 的出现,相当于把马车升级为了汽车。

AI 虽然比马车更加强大,但说到底还是一个工具。我们要做就是尽快学习使用它,完成从“赶马车”到“开汽车”的升级。即使工具升级了,有些东西是不变的——比如“拉客经验”,这就相当于程序员的内功心法:数据结构与算法。所以不用担心是否被替代了,这也符合我们斯多葛主义者的精神。

趋势:从搜索到生成

传统的浏览器搜索和 Stack Overflow 就像是那辆略显落后的马车。SEO (搜索引擎优化) 已显颓势,而 GEO (生成式引擎优化) 则日益火爆。

我平时有什么问题也更倾向于问 AI,一来它会给我聚合后的结果,二来也会根据上下文提供针对性的反馈。甚至可以通过自然语言描述直接帮你编码,“手动挡”变“自动挡”了。在 Vibe Coding 时,程序员就像司机,负责提供方向性的把控,让 AI 带你到达目的地。


具体的使用心得

1. 关于编码 最直接的功能就是帮你编码。目前的 AI 表现只能说是差强人意。它能帮你快速实现效果,但它似乎没系统学过“软件工程”。

  • 劣势区: 如果你只给它一个模糊的大概念,没有架构约束,它往往干不好,甚至会因为随意的修改破坏整体架构。

  • 优势区: 在细节上。只要给出详细的描述,AI 往往能符合你心意把代码写好。

  • 总结: 如果只给大方向,AI 可能会做过多发散修改,导致架构整体出错。

2. 关于代码阅读 这是我觉得一个很不错的优势区间。可以结合 Issue/Bug 快速了解项目。

  • 架构分析: AI 能帮你快速定位到相关代码块,指导你如何开始阅读,并解释代码的作用。

  • 快速上手: 不用费劲去翻找你需要哪部分代码,AI 可以帮你读出架构,助你快速上手。

  • 我的经验: 复制其他的项目到当前文件夹下,让 AI 分析代码,提取出解决思路和架构。

3. 关于重构 重构代码时 AI 表现也不错,因为重构往往是琐碎的工作,很适合交给 AI 工具来解放双手。

  • 注意事项: 必须要结合《重构》的方法经验来,同时配合 Git,采用“小步快跑”的修复方式。不然 AI 意外破坏了架构可是很头痛的。

4. 我的工作流 如果我要实现什么,通常会先用 AI 实现一个 Demo,然后利用 AI 小步重构代码,逐步完善。