人工智能代码生成能力提速:对科技行业的未来意味着什么

本文通过示例展示了AI如何帮助编写代码,强调了清晰表达需求和提供实现方案的重要性。预测未来5年内,中低级软件工程师可能被AI替代,而需求管理和系统设计文档将变得至关重要。AI将影响研发体系,包括自动化测试和需求分析,同时对人员技能和行业结构产生深远影响。
摘要由CSDN通过智能技术生成

自chatGPT出现以来,人工智能(AI)迅速发展成为科技行业的重要领域。 人工智能已应用于医疗、金融、交通、农业等各个领域。 人工智能代码生成的进步提高了软件开发的效率,本文我们将详细探讨这种技术对科技行业未来的影响,主要包括如下内容:

  • 通过一个简单示例看AI帮助写代码的能力
  • 人工智能代码生成的未来趋势
  • 对科技行业未来的影响

通过一个简单示例看AI帮助写代码的能力

最近我深切地体会到了在Notion中使用AI功能所带来的写作效率提升。同时,我也经常看到关于AI生成代码能力的介绍。作为一名曾经的程序员,我一直保持着对新技术的热情,并长久地保持着天天写代码的习惯,近期尝试了使用Codieum + vsCode来编写Python代码,这真的让我感到惊艳。下面我们通过一个简单的例子来看一下AI如何帮忙写代码。

首先,我们需要对vsCode 增加Codiem插件:

Untitled

  • 第一步:在扩展中查找”codeium”插件
  • 第二步:会看到codeium enterprise 和codeium ai codeing autocomplete两个插件,选择第二个
  • 第三步:由于我的codeium本身已经安装完成,如果未安装会是”install”按钮,进行安装即可
  • 第四步:安装完成之后需要注册一个帐号以使用,具体注册过程不再详述

完成注册后,我们就可以使用Codeium来编写代码了。在编写代码之前,必须非常清楚我们的需求,只有清晰地描述需求才有可能生成所需的代码。本例中,我们需要生成一个函数,以提供输入字符串的IP地址,并通过main函数运行和测试,如下图所示:

Untitled

上面的代码是通过Codeium生成的。我只花了不到一分钟的时间,写了三个需求,并未写入任何一行代码,全部都是由Codeium生成,如上图中注释的内容所示:

  • 写一个函数,可以通过正则从输入的字符串中提取出IP地址:这句话没有简单地写成“写一个函数,从输入的字符串中提取出IP地址”,而是增加了使用“正则表达式”的方法来提取。这是在告诉Codeium处理该问题的方法之一,这非常重要,如果你不告诉Codeium,它将无法取得你想要的结果。
  • **写一个main函数,调用getip函数:**根据上下文需求的理解,Codeium整理出了一个函数,用于从屏幕输入并获取一个字符串,然后调用getIPb函数进行打印输出。
  • **运行main()函数:**将生成运行main函数的代码。

最后,我们来看一下运行的结果:

当我输入第一个字符串时,没有输出任何一个IP地址,而第二个字符串则包含两个IP地址。代码成功地将它们取出来,没有出现任何错误。

由于Codeium能够根据对这三个需求点的理解自动生成代码,因此我在生成代码、运行和测试整个过程中都没有写入任何一行代码,甚至库的引入也不是我自己写的。这样的效率非常惊人,从输入需求到整个过程完成只用了大约3分钟。

是不是很神奇呢?

人工智能代码生成的未来趋势

从上面的示例中,我们可以总结出,想要通过人工智能生成代码,现阶段需要具备两个非常重要的核心能力:

  • 清晰准确地表达需求:

    就像我们最初接触计算机程序设计时一样,我们需要输入能够让计算机读懂的程序代码,才能让计算机工作。现在我们使用人工智能来生成代码也是同样的道理,提供尽可能多的细节非常重要,以便向人工智能清晰准确地表达需求。这包括指定要解决的问题或任务、任何约束或限制以及期望的结果。提供示例和样本数据来说明所需的结果也可能会有所帮助。此外,使用清晰简洁的语言表达也很重要,避免可能导致错误结果的歧义或模糊。

  • 提供针对该需求的实现方案:

    为给定的需求提供具体的实现方案对于当前阶段的人工智能生成代码非常重要。否则,人工智能可能会从以前实现该需求的不同方案中选择一个呈现给你,但这可能不是你想要的正确解决问题的方法。这将浪费你很多时间,却没有得到你想要的准确解决问题的代码。通过我们提供的解决方案,人工智能可以更准确、快速、有效地生成代码。根据目前人工智能发展的速度,5年内采用该方式可能是最佳的解决方案。5年之后,随着人工智能的发展,可能只需要一份能够清晰表达需求的文档就能完成所有工作。

很显然这两个核心能力分别应对了不同的人员角色:

  • **产品经理或业务需求分析师:**通过对企业业务需求、流程、管理等的理解,形成清晰的需求文档,能够准确地表达业务需求。
  • **架构师或高级软件工程师:**通过对需求的深入理解,形成设计文档,一般的中、低级软件工程师其实受限于经验,根本不具备这个能力。

因此,本人大胆地做出以下两个预测:

  • 未来5年内,企业中的中、低级软件工程师会陆续被人工智能所替代,这个比例有可能高达80%。
  • 估计5年后,只要将需求文档写出来,可能在几个小时之内就能满足需求的产品或项目的代码就已经可以构建完成,并交由AI完成自动化测试,而且有可能比程序员所写出来的结果BUG更少,代码更规范易懂。

注意:现在的人工智能能力还不能只告诉它一个宽泛的业务目标就生成代码,必须对业务目标进行逐层拆分细化,形成最小且非常明晰的需求及设计说明,然后AI才能帮助产出高质量的代码。例如第一部分的示例中“写一个函数,可以通过正则从输入的字符串中识别IP地址”,这个需求是非常明确的,包括如下元素:

  • 构建的是一个独立的函数
  • 输入参数是一个字符串
  • 解决的问题是从输入的字符串中提取IP地址
  • 系统设计是通过正则表达式来提取IP地址

对科技行业未来的影响

Untitled

未来人工智能的代码生成能力将对科技行业带来非常巨大的影响,主要体现在以下几个方面:

  • 对研发体系的影响(红色部分):具体流程我们不再赘述,只介绍差异的部分
    • 需求分析:需求分析的过程是必不可少的,但是需求分析的产出物却非常重要,这就要求产品经理或需求分析师能够简洁明了地表达需求,且前后的业务逻辑是一致的,不能有冲突。以前的研发体系中,很多企业重视代码的管理,忽视对需求的管理。未来,需求的管理将同代码管理一样重要,它将成为企业核心资产的一部分。
    • 测试用例:以前,测试工程师需要针对需求进行详细的分析,然后梳理出测试用例。未来,AI将理解需求,根据对需求的理解生成测试用例。有可能一份需求文档生成之后,对应的测试用例会在几分钟内由AI自动生成,且高质量,任何需求点都不会遗漏。后续人工对测试用例进行排查,以判断理解是否有误。
    • 系统设计文档:以前可能很多人都不重视该文档,由高级软件工程师或架构师口头对项目组内的程序员进行说明,或在文档中整理重要的部分。但未来很长一段时间,如果企业要利用AI的高效研发能力,则必须要求架构师或高级软件工程师在输出文档时保持非常高的质量。该文档的质量好坏将直接影响AI生成的代码质量。因此,该文档将成为比代码更重要的资产。
    • AI生成代码:垃圾进,垃圾出,这是至理名言。要想生成符合业务预期的代码,必须有好的系统设计文档作为输入。依托好的系统设计文档,原来需要很多程序员耗费几天甚至几个月的研发过程,利用AI能力可能会在几分钟甚至几小时的时间内生成庞大的项目代码,并提交给AI进行自动化测试,从而节省大量的人力资源。
    • AI自动化测试:由于AI的计算能力已经远远超过人类,AI可以利用对需求理解所生成的测试用例对提交的代码进行自动化集成测试,以对项目或产品进行测试。
  • 人员结构及技能影响:这个影响是非常巨大的,主要表现在:
    • 产品经理和需求分析师:必须对业务非常熟悉,而且文档化表达需求的逻辑要非常清晰。
    • 架构师或高级工程师:对提出的需求,要能够进行统筹分析,并能够清晰的知道针对这样的需求适用什么样的方法来解决问题,并形成设计文档。除了拥有技术能力之外,还要非常了解业务。
    • 普通程序员:将会被AI大部分进行替代,一小部分程序员会有保留下来协助架构师或高级工程师整理一些设计文档,未来依个人能力需要向架构师或高级工程师进行转型,当然也必不可少的需要了解业务。
    • 测试工程师:大部分将会被AI进行替代,一小部分测试工程师会对AI已经测试的成果进行验收和测试,以及对AI生成的测试用例进行评审,以看哪些会有遗漏或AI理解有问题。
  • 对行业的深入理解:不论是需求分析师、产品经理、架构师、程序员,其技能不再只专注于技术领域,对自己所从事行业的业务理解,将成为晋升和能力要求的关键。AI缺少的不是技能,缺少的是像人类一样的创造能力,而人要发挥这种创造能力,必须在深入理解业务之后,才能够利用各自领域的专业能力向AI进行有效输入,这样才能够保障AI充分理解需求,进而产出高质量的产品或项目。
  • 以人力外包为主的科技公司面临转型的压力:传统靠卖人头来赚钱的人力外包公司,将面临巨大的压力,在不久的将来业务方对低端程序设计人员的需求将会越来越少,可能会达到80%,大部分将由AI来进行替代,而一些高端的需求及设计岗位,一般甲方的人员都能够胜任,除非是高端的咨询公司在某个领域进行深耕,同时又具备超出当前大多数甲方业务的前瞻性能力。
  • 甲方客户对科技公司期望的转变:以往希望科技公司能够提供足够多的低端程序设计人员,在人工智能出现之后,短期来看甲方爸爸需要科技公司能够将这种技术的使用和对组织人员的改变通过咨询的方式让甲方内部进行落地,以降低人力外包的成本投入。长期来看甲方更需要科技公司能够在业务上对他们的需求进行分析、设计、规划的能力。
    • 产品经理和需求分析师:必须对业务非常熟悉,而且文档化表达需求的逻辑要非常清晰。
    • 架构师或高级工程师:对提出的需求,要能够进行统筹分析,并能够清晰的知道针对这样的需求适用什么样的方法来解决问题,并形成设计文档。除了拥有技术能力之外,还要非常了解业务。
    • 普通程序员:大部分将会被AI替代,一小部分程序员会有保留下来协助架构师或高级工程师整理一些设计文档,未来依个人能力需要向架构师或高级工程师进行转型,当然也必不可少的需要了解业务。
    • 测试工程师:大部分将会被AI进行替代,一小部分测试工程师会对AI已经测试的成果进行验收和测试,以及对AI生成的测试用例进行评审,以看哪些会有遗漏或AI理解有问题。

总结

本文主要探讨了人工智能代码生成能力提速对科技行业未来的影响,主要包括以下三个方面:

  1. 对研发体系的影响:人工智能将取代中、低级软件工程师,这个比例可能高达80%。
  2. 人员结构及技能影响:人工智能的普及对各类人员的技能和能力提出了更高的要求,需要更深入地理解业务,对需求进行逐层拆分细化,形成最小且非常明晰的需求及设计说明。
  3. 行业转型和客户期望的变化:随着人工智能的出现,传统依靠卖人头赚钱的人力外包型科技公司将面临巨大的压力,甲方客户对科技公司的期望也将从提供足够多的低端程序设计人员转变为对业务需求进行分析、设计、规划的能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值