生成AI驱动开发时代的混乱与恩惠 - 作为生活在革命时代的开发者
生成AI工具的猛烈进化 ChatGPT登场的时候,代码生成还只是"偶尔利用"的程度。 但不知不觉间,GitHub Copilot、Cline、Claude Code等,作为开发者期待的功能和服务接连登场。真是势不可挡。 而且,每个都超越了单纯的代码补全,达到了作为正式开发伙伴发挥作用的水平。 追不上的现实 - 连享受恩惠的时间都不够 问题是,因为更新太快,想享受恩惠却连那个时间都不够了。 觉得新工具出来了,马上就发布下一个版本。正想要掌握功能,又添加了新功能。 “这看起来很方便,试试看"的时候,下一波已经来了。真是追不上技术通货膨胀的现实。 而且,这不仅仅是代码生成的话题。图像生成AI(Midjourney、DALL-E、Stable Diffusion)、音乐生成AI(Suno、Udio)、视频生成AI(Runway、Pika Labs)…波及到了所有创意领域。 作为开发者,正想着"掌握代码生成AI”,又出现了"图像、音乐、视频也能用AI制作的时代,也应该活用那个"的新选择。 如果不聚焦到某个地方,就会完全被吞没的变化风暴。 特别是对个人开发者来说,尝试新工具的时间和实际使用它开发的时间的平衡成为了大课题。 在处理工作、家务和其他日常事务的同时,挤出私人时间开发,好奇心持续迸发,那种怀念的热血感觉不断复苏。 “新AI工具出来了!““想试试看!“的兴奋。就像以前遇到新编程语言或框架时的那种激动感。 但现实问题是,能削减的只有睡眠时间。虽然想着"今晚也熬夜试试新工具”,但明显对第二天的皮肤不好。 是个烦恼的选择。 生成AI已成为生活不可或缺 关于生成AI的话题说不尽,但最近已经到了没有它就无法生活的地步。特别是开发者。 代码模板生成 bug原因特定 重构建议 文档制作 设计的讨论对象 不知不觉间,开发流程的各个场景都涉及生成AI。 就像"没有搜索引擎就无法查东西"的情况一样,没有生成AI开发就进行不下去的情况正在形成。 从BASIC·汇编时代看到的天翻地覆变化 我自己从BASIC和汇编的时代就一直致力于编程和软件开发,幸运的是也以此为业谋生。 当时的编程环境 以前的编程是: 在连像样的编辑器都没有的环境中编码 调试器是奢侈品 稍微出错整个系统就挂起 参考资料只有纸质书籍 连复制粘贴都做不到(只能物理打字) 现在想想,竟然在那样的环境中开发。 少年时代的鲁莽挑战 少年时代的我也怀有"想做马里奥、勇者斗恶龙、最终幻想那样的RPG!“的梦想。但处于"从哪里开始做?“的状态。 不像现在"用智能手机拍照"的时代,把CRT显示屏和借来的游戏攻略本描在纸上设计。从角色的点阵图到地图结构,全部手工制作。 但是,怎么才能像游戏那样呢?手头只有文本编辑器和BASIC(后来升级到Fujitsu HighC编译器笑)。 “能做到。我要做到。” “首先从工具制作开始!做自己最好用的绘图编辑器!” 现在想想,可能是个有点疯狂的孩子。总之,活着的世界本身就像是由if、for和goto语句构成的感觉。 走在路上也会想"这个标识有bug!",或者"这条路虽然远但按概率走会更快吧”,完全可能是个恶心的家伙。 朋友说"买了游戏”,我就说"那我就做”。“买不起YAMAHA音序器(做音源的工具),就做个类似的!"。妈妈说"帮个忙”,我却说"开发中反而帮我debug?” 完全是个危险的孩子。 因为没有互联网,一直在与充满错误的书籍格斗,夜以继日地制作。现在想想,正因为有那时的纯粹热情和鲁莽,才能知道编程的乐趣。 没想到30年后会作为Pixnote在线上复活。 经历阶段性进化 之后,集成开发环境(IDE)的登场、互联网上的文档搜索、Stack Overflow上的信息共享、GitHub上的代码管理…切身感受到了阶段性的进化。 但是,哪个都是现有开发风格延长线上的进化。 天翻地覆般的革命 但是,生成AI的登场根本不同。 之前的进化是"让开发变轻松"“提高效率"的水平,而生成AI是"改变开发本质"水平的变化。 从机械化革命到智能革命 更俯瞰来看,到目前为止的技术进化只是制作物理工具的机械化革命。 更快的处理器(计算速度提升) 更大的内存(存储容量扩大) 更便利的编辑器(输入效率改善) 更高功能的IDE(作业环境统合) 全都是"物理上补完·扩展人类能力"的东西。 但生成AI不同。因为获得了智能这一人类拥有的特性,变成了与以往完全不同的世界。 思考、判断、创造…这些到现在为止都是"只有人类能做的"领域。AI开始承担这些的瞬间,开发这一行为的前提本身就改变了。 ...