AI开发的一些思考体会

1. 前言

近期在 Codex 和 Claude Code 指导和协助下做了一款熟人间的点餐微信小程序。记录一下实践相关经验。

此次前我还没有开发过微信小程序,也没写过 JS 等前端代码,没用过 python 的 fastapi 等服务框架,也没自己完整实践过项目的版本管理(包括dev版本到release版本的build部署,版本升级等等)。

过程中还是学习了不少。但更为重要的是,现在靠 ChatGPT + Codex + Claude Code 让我此次完整实践和学习的效率都高了非常多。

较完整的实践笔记:https://pangruitao.com/post/5896

这里记录一些过程中的思考体会

2. AI 进化速度非常快,且越来越好用和能用

今年给个人感受最强的是 Claude Code 。个人从 Copliot 的 agent 模式换到 Claude Code,感受到质的飞跃 。Claude Code 定位问题的能力,执行的专注度,todolist 的管理都非常强,可以相对比较放心地把一些步骤繁琐的任务丢给他处理和自动测试。

Codex 能力也不错,且最大的亮点是可以结合 Github ,云端并行执行,提 PR。且可以手机提需求和 Review 代码。个人感觉非常方便,适合碎片化地想到一些 idea 就交给他开动,并且碎片化 Review,非常灵活。

多尝试用 AI 协助,可以极大提升效率和以及拓展可能性。

  • 有些东西太麻烦了,可能就会懒得去做,比如以前我得去慢慢查,尝试小程序开发,挺麻烦,缺少足够的驱动力/需求,我就一直没去尝试。
  • 但有目前的 AI 帮助,减少后的麻烦量,一点点驱动力(比如这次的内部使用的小程序),对我就有性价比了,愿意去做,所以效率的影响会由量变到质变

3. 小项目中,对技术有掌控才更好驾驭AI

特别是在 vibe coding 遇到瓶颈时(如某个 bug 或修改, AI 尝试很多次都失败了),把 AI 定位为协助者,而非全权执行者可能会更容易解决问题。

3.1 技术型 leader / 协调型 leader

曾经和朋友讨论过两种 leader 能力:

  1. 技术 leader:自己懂所有技术原理,仅一些琐碎细节可以不懂(但需要也容易查到),即自己有实力独立完成整个项目,但是纯靠自己效率太低。从效率角度需要将任务切分,分发给更多人协作,以提升效率。协作者遇到问题或者关键决策, leader 可以随时插手和指导。
  2. 组织 leader:自己可以不懂很多项目的领域原理,但能找一群专家,且组织大家顺利合作完成自己要的项目。

两种 leader 没有本质高低。且其实是对应两种能力(技术能力和组织能力)。现实中 leader 两种能力通常都需要。

3.2 协调型 leader 能力

从一些大型,NB 的项目而言,类似城市管理、国家管理、或者多产业多业务的大公司管理。

组织协调能力会显得更加重要,主要由于

  1. 懂所有技术原理的可能性,随着涉及面的增加,会越来越接近0。
  2. 即使懂所有技术原理,在实际遇到问题时,也没有时间去一线指导(或者去的话则效率太低)。

实际落地其实会为了 规模/效率 牺牲一些落地质量(大公司病/腐败等等),但对于必要追求的 规模和效率 而言,一定程度的质量牺牲是在所难免的。

3.3 技术型 leader 能力

但对于小型的项目而言,组织能力就不如技术能力重要

  1. 项目越小,需要的专家也越少,组织能力发挥空间不大
  2. 由于项目小,会更多接近一线执行人员,如果不懂技术原理,很难给出确切的指导(甚至瞎指挥,负作用)

3.4 AI 开发需要的 leader 能力

回到 AI 开发。

如果我们考虑的是用 AI 开发偏大的项目(如一个 MMORPG 游戏),类比而言我们可能需要更多要有协调能力

  • 不管是组织擅长各个领域的 AI 来协作(如果 AI 足够强)
  • 还是组织一些人来各自负责一些领域的 AI 管理+人工开发(更接近目前的 AI 实力阶段)。

如果我们考虑的是小项目,类比而言则更需要我们有技术能力

  • 即自己要懂技术原理(包括需要用到的 编程、美学、音乐 等等)。
  • 当然可以不同的技术领域有侧重,这也会引领出最终不同的产品风格。
  • 有能力自己慢慢做出项目,只是让 AI 协助/加速/优化 开发过程。

从这个角度,AI 并不会让 程序员/美术 等专业人才失去价值。

只是身份需要从一线执行者上升为 技术 leader 的角色定位。

回到实际的这次小程序开发中。

偶尔会遇到 AI 多次也没搞定的bug(即使强如 Claude Code 或者 Codex),最后解决方案都是自己去研究。

研究过程可以靠与AI交流大大提升效率,有一些知识积累的情况下一般也花不了太多时间。

最后自己提出猜想/指出准确问题,然后让AI再来搞定。

整个过程像极了技术 leader 指导新人解决问题的过程。

其实从对产品的把控以及质量信心的角度,技术型 leader 肯定是优于 协调型 leader 的。(只要是)

以及从信心的角度,数据库结构/数据库关键操作 的需求和代码,我都有仔细阅读和修改,保证最底层的逻辑是靠谱的,再基于此让 AI 拓展 api 和 开发前端都会让我更有信心(缩小可能问题出现的空间,以及严重程度)。

除此以外,UI 设计等等,虽然 Codex 已经很不错,能给个大致像样的界面,但细节设计依旧需要自己的审美指导。否则只能提出”界面不好看,请优化“这样的需求,但大概率得不到太好反馈。

4. 表达能力越来越重要

当然,表达能力在以前也很重要。

只是由于 AI 的出现表达占比会更大

  • 程序员,以前可能 50% 时间自己写自己的代码,50% 时间和人交流。现在可能需要 20% 时间自己写代码, 30% 时间和AI 交流,50% 时间和人交流。
  • 美术,以前可能 50% 时间自己画画,50% 时间和人交流。现在可能 30% 时间画画,20% 时间和 AI 交流,50% 时间和人交流。
  • 策划(我是策划,但不要局限自己是策划),倒是依旧以交流为主,变化不大。

简单聊聊可能需要的表达能力提升途径:

  1. 结构化和逻辑化(如 SPEC 文档化),尽量减少语义模糊的空间。
    • 哲学上永远不可能消解,但缩小模糊空间还是可能的。
  2. 词汇量以及用辞精准,提升表达效率。实践中其实和技术能力和积累是相关的,所以保持各领域的学习。
    • 其实 AI 爆发以前这点也很明显:了解 程序原理/美术原理 的策划和 程序/美术 聊需求和修改的效率一般更高。只是现在对象从人部分换成了 AI 而言。
  3. 多聊多练多用

发表评论