目录
导语:
一、2024年的第一丝凉意
二、AI在编程领域的应用现状
三、关于Devin的现状
四.未来展望
五.面对未来挑战,我们应该
结语:
导语:
时间回调到两周前的3月13号,世界上第一位AI程序员Devin诞生,这回是切身的让我这个底层在职码农感到了AI带来的一丝凉意。因为它能自主学习。
一、2024年的第一丝凉意
能自主学习新技术,自己改bug,甚至还能训练和微调自己的AI模型,表现已然远超GPT-4等“顶流选手”,在SWE-bench基准测试中,Devin能够完整正确地处理13.86%的问题;而GPT-4只能处理1.74%的问题,比人类的程序员要厉害很多。
AI出厂,已有的东西就已经固定,这是历来的内容认知,现在来了一个能自己学习的。性质一下子变了,从“工具”变成了“对手”。AI的学习速度如此之快,我们的学习速度能否跟上“机器学习”的速度?AI将成为人类的“对手”还是“搭档”?AI将如何改变编程行业?
二、AI在编程领域的应用现状
AI技术在编程领域的应用已经越来越广泛。从代码自动生成、错误检测到智能代码辅助,AI正逐步改变程序员的工作方式。截止到2023年,人工智能(AI)在编程领域的应用已经取得了显著的进展,主要体现在以下几个方面:
-
代码自动生成:AI能够根据开发者的描述或者需求自动生成代码。例如,GitHub的Copilot就是一个基于AI的编程助手,它能够理解开发者的意图,并帮助生成代码片段。
-
代码审查:AI工具可以分析代码库,检查潜在的bug、安全漏洞或不符合最佳实践的代码。这些工具可以帮助开发者提高代码质量,减少错误。
-
代码优化:AI可以帮助优化代码性能,通过分析代码执行路径,提出更高效的算法或数据结构。
-
自动化测试:AI可以用于生成测试用例,甚至自动执行测试并分析结果,从而加快软件开发的测试过程。
-
代码补全:许多IDE(集成开发环境)集成了基于AI的代码补全功能,这些功能能够根据开发者已经编写的代码预测接下来可能需要的代码,提高编码效率。
-
代码文档生成:AI能够根据代码的结构和内容自动生成文档,帮助开发者理解和使用代码库。
-
代码翻译:AI可以将一种编程语言的代码翻译成另一种语言,这在需要将旧项目迁移到新平台或语言时非常有用。
-
个性化编程助手:AI可以根据开发者的编程习惯和项目历史提供个性化的建议和资源,帮助开发者更快地解决问题。
尽管AI在编程领域的应用取得了显著进展,但是它仍需要人类程序员的监督和指导。AI生成的代码可能需要人工审核和修改以确保其正确性和适应性。此外,AI目前还无法完全理解复杂的项目需求和业务逻辑,因此在处理复杂问题时,人类程序员的直觉、经验和创造性思维仍然是不可或缺的。
三、关于Devin的现状
目前Devin尚未开放使用,参与者需要填写表格,并向研发团队提交资料申请内测名额。使用者评价这次内测是一次非常奇妙的经历。
使用者:我在维护一个开源存储库,其中包含很多不同算法,当我得知这其中有一个错误时,我让Devin检查并处理这个错误,结果发现Devin可以非常有效且公正地解决这些问题。
中国互联网协会研究中心副主任吴沈括表示,全球首位AI工程师很重要的能力突破是自我学习能力的提升,特别是对于不同的编程语言,自主学习的方式比较突出。
Devin引发业内广泛讨论,“人类程序员是否会被被取代,观点不一”
百度董事长兼首席执行官李彦宏此前曾表示,以后不会存在“程序员”这种职业。“所有人都能具备程序员的能力,未来的编程语言只会剩下两种,一种叫做英文,一种叫做中文。”
360集团创始人周鸿祎则给出不同看法,他认为人工智能时代将更需要程序员。“我依然认为优秀的工程师、程序设计人才,是不能被取代的。”
吴沈括认为在未来AI应用普及化之后,行业格局可能会出现一定程度的变化,但具有创造力的人类编程员,仍然具有不可或缺性。人工智能不会由程序来自动产生与人类相同的情感性因素和价值判断。
在彭博社记者的实测中,Devin 从头开始构建一个网站,只要 5-10 分钟。
同样的 5-10 分钟,Devin 还能重复创建基于 Web 的经典乒乓球游戏。
重复,是因为在这个过程里,彭博社记者输入了几次提示词,改进网站外观、乒乓球运动时的物理特性等等,Devin 有求必应。
devin生成结果展示(生命游戏)
Project Devika生成的生命游戏
Devin生成的生命游戏
不了解编程的朋友们可能不清楚,一个能实现生命游戏的人工智能究竟有多可怕。为了更直观介绍Devin的厉害,我找出来一个在Devin诞生前已经很不错的开源AI编程软件Project Devika,做了一个类似的生命游戏任务(上方的图片)。而下方的图是Devin做的。简单理解,图片上白色小格子的尺寸越小,代表编程水平越高。你可以清晰看到上图中白色格子的分辨率远远低于下图,那就说明Devin所生成的生命游戏,比Project Devika要优秀太多。
砸人饭碗容易挨骂,AI也不例外:
在Reddit上,最近出现了不少对Devin口诛笔伐,并口无遮拦地发起“Fxxk you Devin”运动的程序员。甚至连名字叫Devin的人也受到了这波无差别攻击,同样被这群愤怒的程序员给一并攻击了。
四.未来展望
当前AI发展的速度,以后的AI会越来越多,越来越智能,相应的也会越来越便宜。那么也就会造成一个结果,有钱人越来越有钱,穷人会越来越穷。
AI程序员发展的现状呈现出蓬勃的发展态势。随着人工智能技术的不断发展和普及,AI程序员的需求日益增长。他们具备快速、准确地生成代码的能力,能够通过分析大量数据和模式,发现可能被人类程序员忽略的关联和趋势,从而提出新颖的算法和解决方案。AI程序员的出现使得程序员能够更高效地进行应用程序的开发和测试,减少错误和调试时间,提高开发效率。
然而注意的是,尽管AI程序员在某些方面展现出了强大的能力,但人类程序员的创造力、逻辑思维、情感理解、沟通能力和多方面的综合能力仍然是无可替代的。
对于AI程序员的的未来,我们可以预见的是其将在编程领域中发挥更加重要的作用。然而传统程序员也将会和AI程序员共同合作推动编程领域的发展。
总体来说,AI在编程领域的应用正在逐步改变开发者的工作方式,提高开发效率和质量,但它们更多地是作为辅助工具,而不是替代人类程序员。未来,随着AI技术的进一步发展,我们可以期待AI在编程领域扮演更加重要的角色。
五.面对未来挑战,我们应该
1.持续学习:面对AI程序员的挑战,普通程序员需要不断学习新的技术和知识,提升自己的竞争力。只有不断进步,才能在激烈的竞争中立于不败之地。
2.关注创新:程序员应该更多地关注创新性的工作,提高自己的创造力和解决问题的能力。这将有助于我们在未来的职场中脱颖而出。
3.人机协作:学会与AI共同工作,利用AI的优势来提高自己的工作效率和质量。这将是我们适应新技术环境的关键。
结语:
全球首位AI程序员的诞生,无疑是一项重大的技术革新。它既给我们带来了无限的可能性和机遇,也带来了职业挑战和压力。作为普通程序员,我们需要不断学习、关注创新,保证不被淘汰,并学会与AI共同工作,以适应新的技术环境。只有这样,我们才能在未来的职场中立于不败之地。