当前位置: 首页 > 科技观察

那么,编程能力会消失吗?

时间:2023-03-22 13:47:54 科技观察

作者|AnirudhVK翻译|XuJiecheng自动编码平台现在处于程序员新兴技术的前沿,为开发人员提供了一种新的人工智能驱动的代码片段编写替代方案。尤其是在微软GitHubCopilot平台的推动下,这一进步目前正在慢慢改变全球开发者的工作方式。近年来有许多编码替代方案,例如无代码和低代码平台,非常适合非技术用户。虽然此类工具招致了技术界一些“硬核程序员”的蔑视和愤怒,但我们不得不承认,即使是最有经验的编码老手也能从自动编码算法中受益,因为它将大大减少开发人员实际需要的代码量输入。Tesla和OpenAI前人工智能主管AndrejKarpathy在推文中表达了对自动编码工具的喜爱:“Copilot大大加快了我的编码速度。在试用了Copilot之后,我几乎无法想象回到过去会是什么。喜欢'handcode'。虽然我还在学习使用它,但它已经能帮助我写出大约80%的代码,并能保持80%左右的准确率。我会说是的,在使用Copilot时,我甚至没有真正编码。”AndrejKarpathy的这番话也得到了大部分开发者的认可,因为自动编码平台可以帮助开发者节省大量的编码时间,让他们可以将更多的精力投入到处理应用的其他问题上,所以自动编码平台被全部采用短时间内以惊人的速度席卷全球。以GitHubCopilot为例。在发布后的一个月内,GitHubCopilot吸引了超过400,000名付费订阅者(10美元/月,100美元/年)。然而,随着这些不断改进的工具开始承担更多的编码任务,一个新的问题出现了:开发人员是否会因依赖自动化编码工具而逐渐丧失编码技能?1.编码能力的侵蚀说实话,用过自动编码工具的人都知道,他们自动写出的代码并不完美。虽然建议的代码片段的语法可能没有任何问题,但通常此类工具的编写方式效率低下,可能会导致依赖性问题。YCombinator新闻论坛上的用户Aryamaan对使用Replit的自动编码平台“Ghostwriter”发表了评论:“它确实让我感到惊讶,就像它知道我要做什么一样。但有时候它比标准的要好”s的自动补全比较笨,它对已经定义的变量没有任何意识,也不会用它们来补全写了一半的变量。“虽然人们对自动编码工具的不满一直存在。但从另一个角度来看,几乎所有的自动编码工具都是基于人工智能算法的,这意味着它们的易用性和可靠性会随着技术的演进而提高,数据量也会增加。”不断成长。对于新一代开发者来说,自动编码工具将成为他们不可或缺的工具。今天处于学习阶段的准开发者将在几年后进入该领域,而在此期间,自动编码工具将很可能会逐渐赶上普通人类开发人员的水平。这也会导致下一代开发人员慢慢停止编码,甚至可能在一定程度上失去编码能力。今天的开发人员需要对他们所使用的语言有扎实的理解使用和了解如何实际编写问题解决方案。明天的编码人员只需要知道语言是如何工作的,因为利用他们的这些知识可以结合快速工程来生成代码片段。提示工程是使用NLP技术向LLM提出正确问题,促使算法做出最佳响应的过程。与其他颠覆不同领域的AI应用一样,目前人们面临的问题是需要就如何思考编程语言达成共识。下一代开发人员要么选择通过快速工程学习如何利用自动编码工具,要么坚持目前从内到外学习编程语言的方法,只选择第一种方式,两种方式的人都可能输给人工未来几年的情报。2.自动编码工具的未来近年来自动编码工具的采用率一直在提高,这些产品背后的公司也在不断创新以增加新功能和优化用户体验。虽然GithubCopilot因收集用户代码并使用它来训练他们的算法而受到抨击,但事实是GithubCopilot的算法随着添加到其数据库中的每一段代码而不断发展。当然,目前也有很多公司对数据使用采取了更负责任的态度。以Tabnine为例,它只使用公开可用的数据来训练其算法。Tabnine的模型还可以从用户的编码风格中学习。通过在用户电脑本地运行算法,模型可以了解相关程序员的风格,提供更符合用户需求的代码片段建议。这也可以防止所有数据被发送回中央存储库,从而在提供额外价值的同时保护隐私。与当前创建一种以多种编程语言提供建议的大型模型(例如Codex)的方法不同,未来的自动编码平台可能采用多种模型并将它们插入最适合它们的语言。Tabnine已经使用不同编程语言的各种模型。这种开源模型的成功。在最近的一次公开采访中,Tabnine的生态系统和业务发展副总裁BrandonJung说:“我们正在从其他地方获取最好的模型,它们是开源的,它们很棒。培训很昂贵,我们专注于“基于每种语言的最佳方法编写代码。事实证明,其中一些模型比其他模型更适合某些语言。”采用这种方式不仅让自动编码平台更加准确,也让企业在个人代码库上运行和微调变得更加可行。目前,大量数据与GitHub、AWS、和GCP,但远离这些平台可以使自动编码工具更容易为一般开发人员所用。反过来,这将鼓励更多人更有效地使用自动编码器作为工具,从而提高工具预测的准确性。采用GitHubCopilot和以Tabnine为例,自动编码工具正在为未来的开发者构建全新的工作环境,它给程序员带来的好处是不可否认的。经常超负荷工作的码农,对此,现阶段的企业也必须认清这个趋势,以及可以带来的效用t通过为开发人员使用自动编码工具,并考虑为他们提供他们需要的面向未来的开发工具。原文链接:https://analyticsindiamag.com/have-developers-forgotten-how-to-code/