文章主题:未来五年内将不会有人类程序员, 科技圈大佬吐槽, ChatGPT, AI取代人类话题
未来五年内将不会有人类程序员。
这是最近AI圈新晋嘴炮哥,Stability AI首席执行官伊玛德·莫斯塔克又一惊人言论。
此话一出,立刻引得一众科技圈大佬吐槽,直指大错特错。
ChatGPT 的问世引领了一波代码生成工具的热潮,与此同时,人工智能替代人类的讨论已经展开一段时间了。然而,“程序员饭碗不保”的担忧声仍然存在,并不容忽视。
最近,IEEE Spectrum发布了一篇GPT时代程序员生存指南。
在大模型核心的编码时代,程序员是否会被替代?这是许多人关心的问题。本文将从四个方面来阐述这个问题,并提出观点:尽管目前人工智能在编写代码方面已经取得了一定的成果,但人类程序员仍然不可替代。原因在于,编程不仅是一门技术,更是一种素养。具备编程素养的人类程序员,能够更好地理解、设计和实现软件系统,这是目前人工智能难以完全取代的。因此,在可预见的未来,拥有编程素养的人类程序员依然是软件开发领域的重要支柱。
接下来,就来具体看看这篇文章的主要观点。
基础是一切
尽管现在已经有很多基于AI的编码助手,可以帮助完成生成代码。
但编程的基本原则和前提仍然是理解。
Python软件基金会的研究员以及Explosion软件公司的联合创始人兼首席执行官伊内斯·蒙塔尼(Ines Montani)曾表示:
AI本质上是大模型的统计输出,程序员的工作不仅仅是编写多少行的代码这么简单。
当前,程序员仍然需要具备最基础的“阅读、理解”自己和他人代码的能力。
要将所编写的代码有效地融入到更大的系统中,必须具备出色的代码分析、调试能力,并深刻理解问题解决和算法设计的关键原则。
此外,事实证明,良好的软件工程实践比以前更有价值,包括规划系统设计和软件架构。
在编程领域中,编码员的角色至关重要,他们需要深入理解代码的结构和组织方式,以确保代码的准确性和可扩展性。此外,他们还需要掌握不同界面之间的需求和关联,以便更好地完成任务。这一点得到了MIT计算机科学和人工智能实验室副总监兼首席运营官Armando Solar-Lezama的强调。
在解决复杂问题时,人类编程人员凭借其深入的理解、细致的拆解、创新的算法设计以及扎实的实施与测试,能够展现出独特的能力,提出富有创造性的解决方案,这是AI所难以替代的。
找到适合的工具
现在已经有大量工具被应用到编程领域,包括GitHub Copilot、ChatGPT、Bard等,但每个工具交互方式都有差异。
例如,GitHub Copilot和其他AI编码助手可以增强编程过程,提供代码建议。
而ChatGPT、Bard这类则更像是一个对话式AI程序员,可以用来回答关于API的问题或生成代码片段。
此前GitHub曾采访了500名开发人员,其中92%的人表示在工作和私人时间都使用AI编码工具。
AI是一个发展迅速的领域,保持开放的态度,持续尝试使用不同的AI工具。
同时,要考虑适当的使用场景。生成式AI可以为学习新的编程语言或框架提供快捷途径,也可以更快地启动小型项目并创建原型。
而想要让对话式AI程序员发挥作用,就需要清楚了解“如何与AI沟通”。
提到沟通,这就涉及提示工程。
学会与AI沟通
对话式AI程序员,就像一个具备丰富知识但经验不多的实习生,需要引导。
OpenAI创始人Sam Altman就直接表示:
能够出色编写Prompt跟AI对话,是一项高级技能。
让AI从头开始编写整个程序,不仅无法最大程度发挥AI的能力,还可能获得一些不相关的回复。
这就需要将一个问题分解为多个步骤,并逐个解决每个步骤以解决整个问题的分而治之策略。
进一步拆解需求,让AI为每个任务编写特定的函数。
因此,了解AI和机器学习的基本概念,学习LLM工作原理及其优势和局限性也是很有必要的。
现在已经有很多关于“提示工程”的教程,之前DeepLearning.ai创始人吴恩达与OpenAI开发者Iza Fulford联手推出ChatGPT提示工程。
另外,“ChatGPT提示工程”课程的讲师之一“Iza Fulford”,此前还编撰了OpenAI Cookbook(官方手册)。
手册讲述了大量GPT相关的使用案例,能帮助快速上手并掌握GPT模型的开发与应用。
关于模型和机器学习基础知识的内容,可以看看Jay Alammar的Illustrated Transformer。
独立思考和批判思维
相关数据显示,目前GitHub平台上的所有代码,有41%都是在使用CoPilot辅助下生成的。
用大模型生成代码,效率很高,但也有一些问题。
首先,大模型会产生不准确、错误的代码。另外,也可能生成包含漏洞的代码。
此前,加拿大魁北克大学的四位研究人员就发现,ChatGPT生成的代码往往存在严重的安全问题,而且它不会主动提醒用户这些问题,只有在用户询问时才会承认自己的错误。
其次,就是隐私问题。程序员在开发过程中输入的代码,平台是否会非法获取。
虽然现在一些代码工具公司,比如Tabnine承诺企业版会严格保密业主隐私,但这一问题仍然不能忽视。
因此,在使用由大模型生成的代码时,我们需要保持批判性思维,仔细检查和验证结果,并对其进行评估。
每一个新的技术突破和重大的范式转变都带来了一系列新的可能性,人工智能也不例外。
比如,2010年云计算的兴起,人们担心传统IT可能不再重要,但实际情况却完全不同。
事实上对云技术相关职位的需求大幅增加,如云计算专家、云架构师和云工程师等。
程序员需要将AI作为一种工具,将其纳入他们的工作流程,并认识到这些工具的机遇和局限性,同时依靠自己的编码能力来保持活力。
IEEE认为,现在就说程序员将被替代,还为时尚早。
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!