用AI在275次提交中更新一个副项目

用AI在275次提交中更新一个副项目

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

作者利用AI工具(Claude Code和Pi)在10天内完成了婚礼网站Gifty Weddings的重建,从Go后端和Elm前端迁移到Go HTML和htmx。他通过迭代开发、代码审查和测试,成功移植了旧功能并添加新特性。尽管对AI持怀疑态度,但AI显著提高了效率,预计节省三倍时间,他享受了构建和编程的乐趣。

🔎

延伸解读

AI辅助开发的关键前提

作者强调,AI工具的成功使用并非完全依赖模型能力,而是建立在开发者自身经验之上。他作为资深Web开发者,能够有效引导AI、审查代码并发现结构性问题。此外,项目基于已有的CSS样式、数据库模式和旧代码库,为AI提供了清晰的起点。这表明,AI辅助开发更适合有经验的开发者,而新手可能因缺乏判断力而难以驾驭。

迭代开发与代码审查的平衡

作者采用迭代式开发,每次提出小功能,审查AI生成的代码并在浏览器中测试。他放弃了部分代码风格上的完美主义,但仍会指出bug和结构问题。值得注意的是,他对测试的审查较为宽松,甚至删除了部分他认为不必要的测试。这提示读者,在AI辅助开发中,代码审查的深度需要根据风险权衡,但测试的充分性仍需谨慎对待。

AI带来的效率提升与潜在风险

作者估计AI帮助节省了约三倍的时间,尤其是在移植旧系统和编写迁移工具时表现惊艳。然而,他仍对AI持保留态度,担心新开发者会依赖AI而缺乏经验积累。这种矛盾心态反映了AI工具的现状:它们能显著提高效率,但可能削弱基础技能的培养。读者应意识到,AI是辅助工具,而非替代品,长期来看,扎实的编程功底仍是必要的。

Q&A

作者在重建婚礼网站时使用了哪些AI工具?

作者主要使用Claude Code(Opus 5)进行大部分编码,对于较小的任务则使用Pi(基于GLM 5.2模型)。

Gifty Weddings网站的主要功能有哪些?

Gifty Weddings允许情侣创建简单的多页面婚礼网站,包含照片、文本和礼品登记。情侣可以用Markdown编写文本、上传照片(照片会缩小并存储在Tigris上)、添加和重新排序页面。客人可以查看网站并从登记册中划掉礼物。此外,情侣可以一键试用网站。

作者在重建过程中采用了什么开发方法?

作者采用了迭代开发方法,而不是一次性完成。他会为每个功能提出建议(通常用几句话的提示),然后审查代码输出并在浏览器中测试功能。他保持了技术和创意控制,并进行了中等程度的代码审查。

作者对AI的态度有何变化?

作者最初对AI持怀疑态度,因为早期体验不佳,但后来在构建妻子室内设计网站和修复GoAWK bug时对AI印象深刻。在这次项目中,AI显著提高了效率,预计节省了三倍时间,因此他感到感激,但仍然保留一些担忧。

作者认为项目成功的关键因素有哪些?

作者认为成功的关键因素包括:他作为经验丰富的开发人员能够有效指导和审查AI输出;他基于现有工作(如CSS样式表、数据库模式和计划)进行构建;他采用了迭代开发,保持技术控制;以及他进行了适度的代码审查,尽管对测试审查较宽松。

作者在重建过程中学到了哪些经验教训?

作者学到了一些经验教训,例如使用rm -rf命令时要小心变量展开(避免意外删除文件),以及AI会写很多测试,有时需要删除不必要的测试。

作者使用了哪些技术栈来构建新网站?

作者使用了Go HTML和htmx(从Go后端和Elm前端迁移而来),以及modernc.org/sqlite和golang.org/x/crypto。网站托管在Fly.io上。

作者对AI的担忧是什么?

作者担心新开发者可能会被诱惑走捷径,跳过积累经验的过程。他还担心AI被滥用来构建可能带来负面后果的东西。

🏷️

标签

➡️

继续阅读