编程的'Devin AI 时代”,软件开发者的喜与忧
作者 | Keith Pitt
编译 | 伊风
出品 | 51CTO技术栈(微信号:blog51cto)
这篇文章的作者基思-皮特(Keith Pitt),是一家软件开发公司Buildkite的创始人兼CEO。2013年,他与另一位软件工程师蒂姆-卢卡斯(Tim Lucas)创立了该公司,致力于为技术行业提供持续集成和持续交付(CI/CD)平台,最近刚刚获得了由OneVentures和AirTree共同领投的2100万美元B轮融资。
一位拥有20年编程经验的老手,以及一家服务于软件开发者的公司的首席执行官,基思-皮特(Keith Pitt)对早期关于生产智能人工智能、AI编程工具最终会使大多数软件开发技能在时机的预测挑有本能的怀疑程度。
他在文章中表示:“虽然我仍然有些怀疑,但我在日常开发工作中与生成AI的互动经历促使我开阔了视野,开始思考我认为可能的事情。AI将以一些相对基本的方式改变软件开发,既有积极的一面,也有消极的一面。”
一、积极一面:AI让开发工作化繁为简
1.结束单调乏味的工作
开发者在语法和标点等细节上花费了过多的时间,这些工作可(也应该)消失。开发者不再需要翻阅手册或从代码交换中拼凑代码片段,而是通过描述一个期望的结果,得到完美格式化的代码答案。大型语言模型(LLMs)还可以检查现有代码,找出打字错误、标点错误和其他让开发者头疼的细节。
2.重塑框架开发流程
通过使用Spring、Express.js和Django等软件框架来开发时,AI编程工具通过抽象软件开发中通用的部分,设定一致的指导方针以及提供常见功能的预写代码,可极大地提高生产力。生成的AI将通过创建样板代码、自动化重复任务和建议代码优化来体现他们的工具价值。
AI还可以帮助定制特定项目的框架组件。
3.“通才”开发者将崛起
许多开发者的专长在于他们对某种特定编程语言的精通。当AI能够用任何语言生成代码时,精通Python或Ruby就不再那么重要了。同样,像测试和代码优化这样的专业后端技能相关的任务将迅速转移给生成式AI模型完成。
最宝贵的技能将是AI不擅长的,比如构建引人入胜的用户界面、将用户需求转化为文档说明以及发明支持客户的新方法。软件“诗人”,或者说那些构想出代码可以实现的伟大创意的人,将会成为焦点。
4.软件测试的革命
生成式AI天生就适合软件测试。开发者编写代码,而AI可以创建你想要的任意数量的测试脚本。最近的一项IDC调查发现,软件质量保证和安全测试是人们最期待的AI编程的优势,远远超过其他选项。这将颠覆DevOps的持续集成/部署实践,并将许多测试专家推向寻找新的工作领域。
5.全民开发者时代
当前的低代码/无代码开发工具已经很不错了,而生成式AI将会把它们推至新的高度。尽管低代码/无代码工具自动化程度高,但它仍然需要人们在白板上拼凑出一个工作流程,然后再将其转化为软件。
在未来,他们将能够给模型一个手绘的工作流程草图,并在几秒钟内得到必要的代码。
二、消极一面:代码污染,技术降级
尽管AI充满了前景,但它不应该被视为万能的。
1.过度测试的风险
因为模型可以快速生成测试,我们可能会进行比我们需要的更多的测试。过度测试是软件开发中的一个常见问题,特别是在那些以团队生成的测试数量来衡量绩效的组织中。运行太多重复或不必要的测试会拖慢项目进度,并在后续流程中造成瓶颈。
不过,当AI能够推荐何时移除测试时,我们将看到开发者的巨大解放——这种生成性AI的愿景让我对未来充满期待。
2.开发技能退化
“我总是选择一个懒人去做一项艰苦的工作,因为他会找到一种简单的方法来完成它,”这句话经常被错误地被认为是比尔·盖茨说的。虽然这句话的出处不清楚,但这句话本身有一定道理:懒人总在寻找避免艰苦工作的捷径,而AI正提供了绝佳的解决方式。
生成式AI会让懒惰开发者们上瘾,它可能导致创建臃肿、低效和性能差的代码。更可怕的是AI编程工具可能扼杀优秀开发者引以为傲的创新。因为生成式AI是基于现有模式和数据编写代码的,这可能进一步限制那些不愿走出“舒适区”的开发者以及他们的创新潜力。
3.AI编程工具表现不佳
生成式AI的好坏取决于用于训练模型的数据。
质量差的数据、训练捷径和糟糕的提示工程可能导致AI生成的代码不符合质量标准、存在错误或无法完成工作。这可能导致组织对AI编程工具的质量失去信任,并错过其潜在的好处。
三、最值得提出的问题:AI取代软件开发者吗?
尽管一些想引起注意力的专家已经提出过类似的观点,但历史上没有先例支持这样的结论。技术进步——从高级语言到面向对象再到框架——已经稳步提高了开发者的生产力,但需求只增不减。
生成性AI可能会削弱低端基础编码技能的市场,但更大的影响将是推动整个行业上升到价值链的更高层次,去做LLMs目前不擅长的事情:创新。
要记得,生成性AI模型是基于已知的东西进行训练的,而不是未知的、等待被创造的东西。我不指望机器很快设计出一个革命性的用户界面或想出一个Uber。
然而,开发者在他们的职业生涯中可能很难遇到这样生产力爆发的风口。与其像我年轻时那样想要对抗机器,开发者应该顺势而为、乘风破浪。AI编程将人们从许多乏味工作中解脱,这应该让每个人感到兴奋。某些工作任务可能会消失的风险,应该转化为学习行动的激励——能将业务需求转化为优雅和高性能软件的高质量开发者将永远备受青睐。
想了解更多AIGC的内容,请访问:
51CTO AI.x社区
https://www.51cto.com/aigc/
以上是编程的'Devin AI 时代”,软件开发者的喜与忧的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Visual Studio Code (VSCode) 由 Microsoft 开发,使用 Electron 框架构建,主要以 JavaScript 编写。它支持广泛的编程语言,包括 JavaScript、Python、C 、Java、HTML、CSS 等,并且可以通过扩展程序添加对其他语言的支持。

在 VS Code 中执行代码只需六个步骤:1. 打开项目;2. 创建和编写代码文件;3. 打开终端;4. 导航到项目目录;5. 使用适当的命令执行代码;6. 查看输出。

VS Code 与 PyCharm 的主要区别在于:1. 扩展性:VS Code 是高可扩展的,拥有丰富的插件市场,而 PyCharm 默认功能更广;2. 价格:VS Code 免费开源,PyCharm 专业版付费;3. 用户界面:VS Code 现代友好,PyCharm 更复杂;4. 代码导航:VS Code 适用于小型项目,PyCharm 更适合大型项目;5. 调试:VS Code 基础,PyCharm 功能更强大;6. 代码重构:VS Code 基本,PyCharm 功能更丰富;7. 代码

Visual Studio Code (VSCode) 是一款跨平台、开源且免费的代码编辑器,由微软开发。它以轻量、可扩展性和对众多编程语言的支持而著称。要安装 VSCode,请访问官方网站下载并运行安装程序。使用 VSCode 时,可以创建新项目、编辑代码、调试代码、导航项目、扩展 VSCode 和管理设置。VSCode 适用于 Windows、macOS 和 Linux,支持多种编程语言,并通过 Marketplace 提供各种扩展。它的优势包括轻量、可扩展性、广泛的语言支持、丰富的功能和版

Golang和Python各有优势:Golang适合高性能和并发编程,Python适用于数据科学和Web开发。 Golang以其并发模型和高效性能着称,Python则以简洁语法和丰富库生态系统着称。

要在 Visual Studio Code 中更改语言:1. 打开语言状态栏;2. 单击语言状态栏打开菜单;3. 选择所需的语言;4. 等待 VSCode 重新加载;5. 验证语言已更改。
