独立开发1:蹒跚学编程

未来的哇咔咔4 分钟阅读

我自己编写程序的过程就是一部被动学习"软件工程"的血泪史。

把AI当做了超级智能

过于信任AI,根本不看代码,导致前端页面做得看上去还行,实际结构混乱,到处是矛盾、冗余代码,性能差、bug横行,徒有其表无法稳定运行。

具体问题表现

  1. 页面结构混乱:没有在页面上划分section,随便一动页面元素就开始布朗运动
  2. 缺乏组件意识:以为一个button无非就是点击还是不点击,不知道状态管理、数据路由、逻辑抽象
  3. 重构事故:未先Git就进行重构导致整个页面崩坏

尝试与失败

我试图通过重新梳理PRD来解决,试图让AI一次性理解我的意图。结果一开始很好,我用了两天就实现了之前1周的开发效果,但很快这种治标不治本的方式就走到了尽头,代码重新走向了混乱,表象就是增删功能的时候AI开始晕头转向,效率越来越差。

我必须停下来看看发生了什么问题。

指导AI首先自己要know how

在这两次失败之后,我终于开始重视编码规则。我在YouTube和B站上找了几个视频开始学习如何编写全局规则和项目规则来约束AI的行为。

学习的内容

  1. 技术选型:知道要给前后端指定技术选型,比如nextjs还是nodejs
  2. 编码规范:知道要让AI遵循选择丰富的开源资源、控制性能、标准注释、规范代码风格
  3. 架构原则:规定了文件结构和架构原则——因为AI告诉我这就是最佳实践

遇到的问题

  1. 我实际不知道nextjs的特点是什么、MVC架构并不适合所有项目、每个编程语言都有自己的代码风格
  2. 当时(2025年05月)AI编程工具的规则设置还只是徒有其表,memory、上下文机制、MCP工具还极其不完善,智能路由、任务编排等能力几乎为零

长足的进步

  1. 知道一个项目必须在约束下进行
  2. 理解vibe coding必须要与幻觉共处
  3. 体验了很多工具,比如lovable、bolt、youware等等,他们表面的精美已经迷惑不到我,深知做一个完整的项目远不止一次性出一个漂亮的UI这么简单

给自己建立知识图谱

而后的一个月,我没有编程。我阅读了一些书籍:平面设计、用户体验要素、从0到1构建产品和商业、计算机网络、名人轶事,比如张小龙做微信的历程,以此提升认知。

重新认识计算机

  1. 它是如何通过路由器连接到公网
  2. 公网之间如何进行寻址和信息交换
  3. 高级语言如何变成机器语言被执行
  4. 终端工具和可视化的客户端的联系
  5. 浏览器和搜索引擎的关系
  6. 本地软件和服务器软件的区别
  7. 为什么微软/Google/AWS为何都不约而同走上了云的道路

对"架构"的体会

  1. 我希望用户在这个模块/这个页面要看到哪些信息、完成哪一组操作,完成之后达到什么效果
  2. 哪几个button的样式、交互逻辑、数据服务是一致的,应该做抽象而不是定制
  3. 哪几个功能可以拆开,这样维护起来更便利

产品设计理念

还有一些其他收获,关于产品设计理念。我读了张小龙的故事,重新看了他塑造微信的资料,我深刻地体会到了"极简"的理念:

围绕用户体验,对用户需求抽象再抽象。做产品不是追逐风口,也不用怕同质化的竞争,唯一重要的事情就是,你如何理解和实现用户需求。基于对即时通讯和社交网络的理解,张小龙可以一连串推出附近的人、漂流瓶、摇一摇、朋友圈等功能,他不会惧怕别人抄他的功能设计,因为理念才是核心。

这些知识给我了很多安全感,我知道自己不会再陷入与AI的纠缠,我知道我具备了驾驭AI的能力。

重新出发

完成知识图谱的建设之后,我重新回到了项目上。我要重新梳理重新出发:

  1. 重新制定全局和项目的编程控制规则,选用核心MCP工具,同时在编程的过程中主动调用规则压缩上下文、更新memory、启动标准化流程
  2. 从用户的角度重新做信息架构和功能设计,抓紧时间跑通流程实现MVP