软件开发的未来:AI 会取代人类程序员吗?
AI 编码辅助的出现给软件开发技术行业带来了一种恐惧。投资者 Chris Sacca 声称 AI 将消除对程序员的需求,表示 “我们完蛋了”,并且 AI 将取代大多数编程工作。然而,我不相信 AI 会取代优秀网页开发者、产品经理或建设者的精心专业知识。
AI 生成代码的限制
对 AI 生成代码的主要担忧在于其限制。虽然 AI 可以生成代码,但它缺乏人类程序员提供的全面、集成的、整体产品的开发方法。构建一个真正出色的产品需要一个一致、可靠且性能良好的服务,这一点用 AI 生成的代码很难实现。正如 Tyler King 指出的,公司和个人使用 AI 构建自己的个人应用程序的担忧,就像以前对无代码和无代码构建工具(如 Bubble)的担忧一样。
无代码浪潮及其限制
无代码浪潮本应彻底改变软件开发,使任何人都能构建自己的网络应用、移动应用和工具。然而,事实并非如此。像 Bubble 这样的无代码构建工具在某些用例中非常出色,例如为客户创建登录门户,但它们并没有取代需要精细处理的 SaaS 网络应用或移动应用。这些应用需要性能良好、可靠,并且具有流畅的用户体验,这用无代码构建工具很难实现。
AI 的威胁和历史类比
AI 在软件开发中的威胁让我想起了无代码浪潮和开源浪潮。有文章说无代码将终结我们所知的软件开发和产品开发,但情况并非如此。同样,开源浪潮本应取代商业软件,但它也没有。像 37 Signals 这样的公司发布了一次性付费软件 once.com,允许用户购买一次软件并部署到自己的服务器上,但并没有引发行业的大规模变革。
软件开发中人类决策的重要性
伟大的软件需要人类决策,考虑每个用户流程、每次互动,理解用户的需求,并考虑到用户面临的所有问题。AI 可以生成代码,但它无法做出这些创造性的决策,即使是经验丰富的产品经理也很难做出这些决策。
AI 在端到端创建中的限制
虽然 AI 可以生成代码,但它不擅长系统级思维,也不擅长从头到尾创建一个完整的作品。一旦要求它生成一个完整的作品,很快就会发现 AI 还没达到那个水平,我认为它永远不会达到。
AI 生成代码的维护和更新
软件需要大量的维护和更新,而 AI 目前并未完成这些工作。实际上,它似乎引入的 bug 比修复的还要多。拥有大量 AI 生成功能的公司通常不了解这些功能是如何工作的,因为他们没有编写这些代码,这使得在问题出现时很难修复。
结论
总之,虽然 AI 可以生成代码,但它不能替代人类程序员。伟大的软件需要精心的专业知识、人类决策以及一个一致、可靠且性能良好的服务,而这些用 AI 生成的代码很难实现。随着行业的不断演变,理解 AI 的限制和人类参与软件开发的重要性至关重要。