AI编程助手对开发者的意义在哪?

AI编程助手对开发者的意义在哪?

最佳答案 匿名用户编辑于2024/07/05 08:45

AI 编程助手让开发者从执行者变成了代码协调者。

1. 保持开放心态,提升自身能力,在变革中寻找成长与机遇

AI 编程助手对开发者的工作起到了补充作用,同时为他们提供了更多专注于编程和培养技能的机会。当开发者在日常工作中开始使用 AI 编程助手,相关的技能要求也在不断增加。这也就是意味着,开发者除了要具备一些基础性技能以外,还要培养应学习的增强型技能,同时开拓能力的生成式 AI 技能。Gartner 数据显示,超过52%的IT 领导者预计所在企业机构将使用 AI 编程助手。然而,60%的 IT 领导者表示其团队并不具备所需的技能25。帮助团队掌握所需的技能,也是企业 CIO 和软件开发领导者当前的重要任务。

生成式 AI 技能是其中的关键,因为这类技能无论对于初级开发者还是资深开发者,都是全新的领域,也是急需补充的技能。这些技能也在不断地进化,而且也不断地出现新的技能要求,开发者需要关注这些技能的发展,当前,值得关注的有三个方面。第一方面,需要掌握提示工程能力。大语言模型的出现带来全新的技能要求之一,就是如何写好提升词,与模型进行更好的自然语言交互,进而拿到优异的反馈结果,减轻幻觉。因此提示工程也成为一个全新的学科。AI 编程助手在首次交流之后输出内容质量不高,但可以通过高质量的提示词,不断修正输出的信息,且随着“调教”越来越体系化,输出质量和风格也更符合企业要求。提示工程并不是简单的向 AI 编程助手进行问话,需要包括精心的提示或指令设计,如思维链,以确保其产生高质量输出。另外,提示词要明确且具体,能够给大模型一定的上下文,并根据输出内容迭代提示词,让输出质量更优异。

第二个方面,开发者需要强化代码审查能力。AI 编程助手输出的代码依然存在瑕疵,甚至错误。开发者需要依靠他们的编码能力和结构化的知识来确保不会将错误的代码投入生产,开发者需要具备扎实的基础知识。在这种场景下,AI 编程助手成为了开发者的“实习生”,开发者不仅要让它输出代码,还要审查代码,学会如何审核 AI 编程助手输出的代码会让编程事半功倍。审核 AI 编程助手产出的代码,不仅要看其基本的愈发错误,事实性幻觉,还包括执行、逻辑问题、数据隐私、性能表现、可用性、伦理道德等一系列角度26。第三方面,开发者的协作性与适应性变得更加重要。随着开发者开始利用AI 编程助手来进行软件开发等工作,拥有与同事良好沟通和协作等技能,变得比以往更加重要。开发者一直通过例会、结对编程、与产品经理了解客户需求等一系列方式进行沟通,那现在同样要将 AI 编程助手作为助力拉入到日常沟通中,如何定义项目需求、分享使用AI 编程助手的经验都是沟通的关键点。同时,AI 编程助手产品快速进化,开发者要具有适应能力并愿意接受新的工具、方法和新的工作模式,同时是自身的能力与生成式 AI 技术的发展同频共振。

除此之外,AI 编程助手本身也可以助力开发者学习新技能,因为其对代码的解释、重构以及不同编程语言之间的代码转译,对开发者来说都是一个可以用于学习新技能的功能。Gartner 预测,到 2025 年,75%的开发者将使用 AI 编程助手学习新的软件开发技能,而2023年这一比例为 30%27。AI 编程助手的很多功能还可以弥补传统开发者的技能缺陷,帮开发者消除面临的不断提高跨学科技能的压力。举例来说,越来越多的开发者开始自主学习提高安全技能,而 AI 编程助手可以为开发者提供指导性的修正帮助,以解决代码中的安全漏洞。

2. 当好协调者与指挥者,开发者自身角色定位在发生转变

AI 编程助手并不会替代开发者。科学技术的本质就是降低成本提高生产力,AI 编程助手在降低软件开发门槛、完成一些基础性工作的当前,并不会替代开发者,相反,AI 编程助手正在逐渐改变开发者自身的价值定位,甚至是将会拔高开发者在社会发展中的叙事逻辑。AI 编程助手带来了的这场变革成功与否或者发展是否如人所愿,都离不开开发者。AI 编程助手可以更快的写代码,但是无法离不开人类的监督,也不具备人类的业务创新能力。

对待 AI 编程助手输出的代码,就像对待论坛或互联网讨论中的建议一样。它向你展示了一个可能的方向,并侧重于你所询问的领域,但是你依然不能保证它是可放入生产环境中的,开发者有责任要负责它的安全性和适用性,需要开发者进行验证和确认。软件开发难度最高的环节不是写代码,而是需求理解和设计,以及用户体验和后续迭代。面对新出现的任何提高生产力的工具,杰文斯悖论 (Jevons Paradox) 都显得尤为重要。悖论指出,当完成任务的成本降低时,人们对这些任务的需求就会增加。在微观经济学中,成本下降导致需求量成比例增长,从而在效率提高的同时,也增加了消费量。软件开发成本的下降会带来更多的数字化转型需求,将会有更多的业务领域需要全新的软件应用去支撑,不仅仅是传统的大型软件,也包括互联网应用,甚至生成式AI。

 

与此同时,软件开发行业存在二八定律,大概有 80%的代码量都需要开发者自行编写;在生成式 AI 时代,AI 编程助手将为软件开发行业带来“新二八定律”,即80%的工作由AI 完成,20%的工作才由开发者来做。AI 编程助手对于软件的底层编程逻辑将会不断进行冲击,进而使得上层的软件应用的创新模式发生质变。AI 编程助手让开发者的工作 30 重心发生了转移,AI 编程助手承担部分基础工作,而开发者则转向更高层次的架构设计和业务规划,专注于更复杂、更创造性的任务,如架构设计、算法优化或用户体验创新,此时的开发者更像是一场复杂任务的编排负责人,而 AI 编程助手是帮助他完成这场编排的智囊。更进一步,开发者可能逐渐成为“系统思考者(Systems Thinkers)”,专注于描述解决问题和把控整个软件开发生命周期的运转,指导并监督 AI 工具产生的成果,并在必要时进行干预,而非深陷到具体的代码撰写任务当中。系统性思维,一直是优秀开发者必备的优秀品质,但通常被认为是具备足够经验且用于丰富开发历练的开发者才拥有的。随着软件开发的机械化工作由开发者转移到 AI 编程工具中,系统性思维将成为开发者在其职业生涯早期就能锻炼的技能,加速其成长过程。

最后,企业 CIO 和软件开发领导者也要配合。开发者们希望使用AI 编程助手,使用尖端技术对开发者很有吸引力。Gartner 调研显示,留住优秀人才和吸引高素质应聘者是企业最难完成的任务28。采用 AI 编程助手可以增强开发人员体验,并帮助组织吸引和留住人才。

参考报告REPORT

2024采用AI编程助手发展新质生产力白皮书.pdf

2024采用AI编程助手发展新质生产力白皮书。遵循KRE理论架构的AI编程助手凭借强科技属性成为开发者应该掌握的新质生产力工具,企业通过AI编程助手可以实现全面的高质量发展。AI编程助手能够解放开发者,释放更高效率的生产力,不仅可以持续推动企业的数字化转型,并且可以贡献额外的经济效益。对于企业缺少开发者人才、消弭高质量软件应用开发的障碍等挑战,AI编程助手均可以有效解决。遵循KRE(知识-推理-执行)理论架构使得AI编程助手可以伴随大模型、生成式AI等技术的发展而进化,具备世界知识、理性思维和互动能力,不断满足生产力发展需求。

我来回答
分享至