AI辅助编程的二八法则

AI辅助编程的二八法则

sjmyuan 5 2025-12-14

引言

最近,我基于GitHub Copilot开发了一个极简时钟网页版。尽管市面上已有许多类似的应用程序,但我依然选择亲手打造一个。这一决定的主要目的是通过实践优化提示词,并积累AI辅助编程的经验。

点击查看演示

在开发过程中,我深刻体会到了两个二八法则:

  1. AI编程助手可以帮助我们用20%的时间完成80%的基础功能。

  2. 我们需要用80%的时间来精心打磨剩下的20%的核心功能。

接下来,我将分享我在这一项目中的开发体验与心得。

AI建立基础:20%的时间完成80%的基础功能 - 2.5小时

在项目初期,我通过以下步骤快速搭建了应用的基础功能:

  1. 需求验证
    我首先花费了10分钟,使用头脑风暴提示词来验证我的想法,并进一步明确需求。虽然该提示词还有优化空间,但它帮助我更好地理解了项目的整体方向。

  2. 需求拆分
    接着,我用了10分钟,借助需求拆分提示词,定义了用户角色、识别了史诗故事(Epic)、分解了用户故事,并制定了验收条件。

    点击查看完整需求文档

  3. 架构设计
    随后,我又花费了10分钟,使用架构设计提示词完成了系统架构的设计。这包括确定技术栈、设计数据模型、制定接口协议、规划部署模型以及设计代码库文件结构。

    点击查看完整架构设计

  4. 功能开发
    最后,我投入了2小时进行实际开发。在此过程中,我始终保持需求文档是打开状态,并使用自己的编程助手逐一实现各个史诗故事。每完成一个史诗故事,我都会开启一个新的会话。最终,应用的基本功能得以正常运行。

人工精细打磨:80%的时间完成20%的核心功能 - 7.5小时

尽管AI编程助手能够快速完成大部分基础功能,但真正决定应用质量的是那20%的核心功能。在本项目中,卡片折叠效果是应用的核心亮点,也是我最初开发此应用的主要动机。然而,这一功能的实现却充满挑战。

  1. 复杂需求描述
    简单的需求描述无法让Copilot准确理解我的意图。为此,我不得不详细描述每个时间段的动画效果和页面布局,才勉强实现了初步效果。

  2. Bug修复与代码优化
    即便如此,实现后的代码仍然存在许多Bug,且代码结构不够合理。为了修复这些问题,我不得不一步步提供修复或重构思路,指导Copilot逐步优化代码。如果我自己没有清晰的思路,即使切换到其他模型,也无法获得理想的结果。

  3. 未解决的问题
    目前,卡片折叠效果仍存在一些已知和未知的Bug。有些问题是我尚未发现的,而另一些则是我虽已察觉却不知如何解决的。

总结

通过本次开发实践,我深刻认识到AI编程助手在软件开发中的巨大潜力,同时也意识到其局限性。

  1. 减少试错成本
    AI编程助手能够帮助我们快速完成80%的基础功能。这种高效的开发方式使我们能够在进一步投入之前进行快速验证,从而显著降低试错成本。只有在验证通过后,我们才需要投入大量精力对应用进行精细的人工打磨。

  2. 细节决定成败
    真正让应用从众多类似产品中脱颖而出的是那20%的核心功能。这些功能往往需要开发者投入大量的时间和精力进行优化与打磨。然而,在这一过程中,AI编程助手能够提供的帮助相对有限。因此,我们不应过度依赖AI来实现复杂或创新的功能。

总之,AI编程助手是一个强大的工具,但它并不能完全取代人类的创造力和经验。我们需要合理利用它,同时专注于那些真正体现价值的部分。