人工智能时代,如何使程序员受益?
如果你仔细想想,这个问题似乎有点讽刺。这些创造物——智能系统:是否会在未来取代或取代它们的创造者:程序员?这听起来像是科幻电影的情节,不是吗?然而,更重要的问题是:这可能是真的吗?
最近的一项未来就业研究预测,到 2030 年,美国近 50%的工作可能会实现自动化。如果我们将这一发现视为事实,那么不久的将来似乎确实有点暗淡。但是,在机器人接管我们所有工作之前,让我们先来看看人工智能 (AI) 如何使程序员受益。
人工智能如何帮助程序员
在传统的软件开发周期开始之前,程序员就已经需要确定他们正在创建的产品的技术规格或特性和功能。只有这样他们才能开始实际的设计和开发,然后是测试、部署和维护。
当然,从一个步骤移动到下一步会揭示需要修复的错误和需要解决的差距。任何软件在发布之前都需要多轮测试和增强。软件开发过程可能是乏味的、昂贵的和耗时的。程序员需要帮助,进入AI。
1. 程序写作协助
AI 技术允许程序员在编写代码时确定其代码中的错误。法国软件开发商育碧是这一领域的先驱。它创建了 AI 工具 Commit Assistant,使用以前项目中遇到的常见编码错误的软件库来检查不正确的代码。因此,提交助手可以防止程序员犯他们曾经犯过的同样的错误,从而节省他们在以后的过程中纠正错误的时间和精力。
其他简化程序员生活的 AI 工具示例包括智能编程助手,它在程序员编写代码时为他们提供自动完成的建议。为什么程序员不使用它们?面对现实吧,阅读数百页的文档可能会很累。
2.错误修复
软件中的许多弱点只有在它们已经在使用时才会出现。这是很正常的,因为制造商经常需要急于上市以击败竞争对手。因此几乎没有任何程序没有可利用的漏洞。
人工智能和机器学习 (ML)算法可以解决这个问题。他们可以配置计算机来分析程序的错误,并在它们进入市场之前进行相应的修复。
3. 准确的项目交付估算
软件开发项目几乎从不满足在它们开始之前为它们设定的时间表和预算。
但是,在人工智能的帮助下,使用来自以前项目的历史数据可以使程序员(或更准确地说,他们的项目经理)能够为管理层提供更准确的时间表和资金需求,同时考虑所有可能的场景和潜在的挑战。
人工智能可以编码吗?
答案是肯定的。一个例子是一种名为“ GPT-3 ”的人工智能语言生成系统,它是被称为“世界上最危险的人工智能”的 GPT-2 的后代。
研究员 Sharif Shameem 于 2020 年 7 月 13 日在推特上表示,他使用 GPT-3 只需输入描述即可布局网页。GPT-3 将这些转换为 JSX 代码。JSX 代码是 JavaScript (JS) 的语法扩展,它使用 React 生成网站,React 是一个用于构建用户界面 (UI) 或其组件的开源 JS 库。
虽然 GPT-3 拥有使用各种语言(例如,级联样式表 [CSS]、JSX、Python 等)进行编码的能力,但与任何新开发的软件一样,它仍然有许多缺陷。其中之一是 GPT-3 生成的代码可能没有用。它还犯了在没有人类帮助的情况下很难纠正的错误。
人工智能系统可以取代程序员吗?
回到最重要的问题,“人工智能系统可以取代程序员的位置吗?” 答案是:不一定。
尽管可以编写简单代码的 AI 工具已经存在,但它们无法确定优先考虑哪些功能或开发中的软件将解决哪些问题。
目前只有聪明的程序员才能根据对精确规范和要求的理解来编写代码。正如示例所示,目前只有程序员才能理解没有确切答案或多种可能答案的棘手问题。
AI技术
事实上,研究人员最初的看法——程序员的角色可能只会随着人工智能系统的进一步改进而改变。未来,他们将不再编写实际代码,而是负责分析和管理数据,用作人工智能算法的输入,然后再创建软件。
那么人工智能会取代程序员吗?至少现在不会。但是,程序员应该了解 GPT-3 等当前技术,这些技术能够生成不涉及任何编码的计算机程序。软件工程师可以简单地描述参数和元素来启动或准备程序。虽然上述人工智能仍需要改进,特别是在启动方面,但它可能会从程序员手中移除许多任务。
程序员应该接受人工智能提供的好处,而不是描绘一个悲观的场景。各个行业已经在采用该技术来提高生产力和降低成本。这种趋势是不可避免的,因此与其害怕,不如提高自己的技能以适应不断变化的环境。