当今开拓者利用哪些 AI 工具,以及如何利用?我们与领先的软件工程师磋商了 AI 在开拓中的优点(和缺陷)。
译自 Favorite AI Tools of Developers and Tips For Using Them,作者 Jeff James。
只管 AI 相对付开拓者工具生态系统来说是一个相对较新的事物,但它对开拓职员的事情办法持续产生着越来越重大的影响。根据 Gartner 最近的一份报告,75% 的企业软件工程师将在 2028 年利用 AI 代码助手,而 2023 年接管调查的人中只有 10%,这是一个相称大的飞跃。
开拓者研究公司 SlashData 最近发布了一项更加乐不雅观的调查,显示 71% 的开拓者正在积极利用 AI“以某种办法”,并且“59% 的开拓者在他们的开拓事情流程中利用 AI 工具”。
“我认为 AI 不会(现在)取代软件开拓者,但我确实认为利用 AI 的软件开拓者可能会取代不该用 AI 的软件开拓者。”
——Audiofeed 联合创始人 Shane Thomas
虽然 AI 对软件开拓的增长和影响是不可否认的,但我们希望从开拓者那里得到一种真实的感想熏染,理解他们如何亲自利用 AI 开拓工具,因此我们与一些软件工程师进行了交谈以找出答案——同时也理解他们对利用 AI 开拓工具的优点(和缺陷)的反馈。
顶级 AI 工具:结对编程和代码补全我与之交谈的开拓者利用的最大类别的 AI 工具属于 AI 结对编程和 代码补全种别,这些工具可以轻松天生代码片段,并作为程序员的 自动化助手。
我与之交谈的每一位开拓者都提到了 GitHub Copilot,它彷佛是寻求 AI 工具的开拓职员最盛行的办理方案之一。
“对我来说,GitHub Copilot 紧张用于提高我的速率,”资深软件工程师兼 Audiofeed 联合创始人 Shane Thomas 说。“[GitHub Copilot] 在我已经知道要写什么并且它可以为我自动完成那些部分时效果最好。它常日不会[完备]精确,但方向是精确的。它让我完成了 80% 的事情,我可以更新我知道缺点的部分。”
其他开拓者对 Copilot 也有类似的说法。“我每天都利用 GitHub Copilot,”Rainstorm Technologies所有者兼履历丰富的开拓者 Kristian Ranstrom说。“它内置于 Visual Studio 和 Visual Studio Code(以及其他 IDE)中,因此利用它非常随意马虎……你 [还可以]利用 GitHub Copilot 谈天窗口哀求它做某事。例如,“如何在 C# 中处理 API 中的图像大小调度?”或“为此类编写测试用例”。
OpenSauced的技能 AI 倡导者 Bekah Hawrot Weigel说,“GitHub Copilot 和 ChatGPT 是提高效率息争脱困境的明显选择”,并补充说利用 AI 工具“……帮助我们更快地找到精确的答案,并更快地与拥有这些答案的人联系。”
Thomas 还依赖 Cursor IDE,他认为这是 VS Code 的一项增强功能。“当我不愿定该怎么做时,我用它来与我的代码或代码库的部分进行谈天……它并不总是完美,但它常日可以为我节省大量韶光 [与]搜索引擎或 StackOverflow 比较。”
除了 GitHub Copilot 和 Cursor IDE 之外,我与之交谈的开拓者提到的其他结对编程和代码补全工具还包括 ChatGPT本身、Claude 3 Opus、Pieces for Developers和 Codeium。这绝不是一个详尽的列表,还有其他一些工具是开拓者可能想要考虑的——而且在未来几个月和几年里可能会涌现更多工具——但上述工具彷佛是最盛行的一些工具。
其他面向开拓者的 AI 工具除了上面提到的结对编程/代码补全工具之外,还有许多“AI 临近”工具旨在以其他办法让开发职员的生活更轻松,并且得到了我与之交谈的开拓职员的推举。
“大多数开拓者都听说过代码补全工具,比如 Copilot 等,”Elizabeth Lawler,AppMap 的首席实行官兼创始人。“然后还有一些更奥妙的工具,比如 SuperMaven 和 Aider,还有一些相邻的工具不是代码补全器,但可以进行更深入的问题办理事情,并充当深度编码事情‘代理’。”劳勒随后阐明了 AppMap 的 Navie——她将其描述为“利用运行时数据作为高下文进行故障打消和更深入、更繁芜的设计和重构事情的 AI 软件架构师”——属于后一类。
除了专门专注于帮助 IDE 内或编写代码时的开拓职员的 AI 驱动的工具之外,我交谈过的大多数开拓职员还在利用其他 AI 工具来提高他们在其他领域的生产力。
Ranstrom 说,他利用了 OpenAI/ChatGPT 的 API——以及 WriteSonic——来帮助创建图像和编写内容,而Weigel 利用 SwellAI 来“分解音频内容,将其重新用于其他形式,并突出显示关键时候以供分享”,以及 AI 驱动的视频编辑工具 Descript,她用它来编辑播客、演示和音频剪辑。她还依赖 Zoom AI 伴侣)来获取会议行动项目、择要和引用过去的谈论。
鼓励和谨慎:通用 AI 编程建议我交谈过的所有开拓职员都赞赏了 AI 可以为开拓职员带来的好处,从提高生产力到增强学习机会。也便是说,许多人也根据自己的履历供应了一些通用的 AI 开拓建议。
“你越善于提示,AI 就会越有效。”
——Bekah Hawrot Weigel ,OpenSauced 的技能 AI 倡导者
Weigel 说:“AI 是你工具箱中的一个工具……它可以帮助你提高效率,打破你原来可以做的事情的界线,但它不是万能的工具。”“如果你须要扳手,你不会利用锤子。用户须要弄清楚如何有效地利用它并确保其准确性。AI 自傲地产生幻觉,以是它不能替代你没有的知识。”
Weigel 还强调,编写有效的提示——在利用 ChatGPT 等工具时——是一项须要韶光才能节制的技能,但对有耐心的开拓职员来说会带来回报。“我听到很多开拓职员评论辩论 ChatGPT 等 AI 有多‘糟糕’,”Weigel 说。“他们会引用模棱两可或缺点的答案,但我很好奇他们的提示是什么。你越善于提示,AI 就会越有效。”
好处和上风Ranstrom 说,利用 AI 来帮助编码对他来说产生了巨大的影响,这完备属于好处范畴。“[利用 GitHub Copilot] 使我的速率提高了约 30%。想象一下须要编写一个很长的类:这须要大量的输入。纵然你可以从其他地方复制/粘贴一些,”Ranstrom 说。“相反,我写一个注释来阐明我须要做什么,代码会自动添补,然后我根据须要进行调度。”
Thomas 呼应了生产力的好处,强调了“提高开拓速率、改进对不熟习代码的调试和掩护”。
利用 AI 的一大好处是帮助开拓新技能和新方法。“当我哀求 Copilot 为我编写一些代码时,我可以看到其他人如何处理类似的情形,” Ranstrom 说。“Copilot 背后有数百万行开源代码。”
Weigel 还强调了利用 AI 进行开拓的积极学习方面。“AI 是学习的绝佳工具;学习新措辞或框架变得随意马虎得多,由于总有一个工具可以回答你的问题。”
缺陷和把稳事变虽然利用 AI 工具可以对开拓职员的效率和教诲产生积极影响,但与我联系的每个人也供应了一些关于利用 AI 进行开拓的把稳事变和警示故事。
“你不能 100% 靠 AI 来处理你的编码。它善于处理较小的代码块,并且会有很大帮助,但它不是最好的软件架构师。”
——Kristian Ranstrom ,Rainstorm Technologies
Thomas 说:“一旦一个人[被]给了打算器,他们常日就不须要学习如何实际进行数学运算。大多数时候,这可能没紧要。”“然而,有时,理解真的很主要。如果你在不真正理解代码如何事情的情形下利用 AI,你就不会建立办理 AI 目前无法为你办理的更繁芜问题的批驳性思维和解决问题的能力。”
Ranstrom 呼应了这些担忧。“你不能 100% 靠 AI 来处理你的编码。它善于处理较小的代码块,并且会有很大帮助,但它不是最好的软件架构师,” Ranstrom 说。“目前,人类仍旧须要掌握项目并相应地进行方案。”
Lawler 还告诫履历较少的开拓职员不要过早地信赖 AI,并引用了研究结果,该结果表明新伎俩式员过度利用 AI 的危险性。
“研究表明,履历较少的开拓职员对 AI 的代码接管率较高,而履历丰富的开拓职员则在 AI 天生的代码中创造了更多毛病,并且接管率较低,”Lawler 说。“敏锐的眼力对付交付高质量代码至关主要。”
Thomas 指出了另一个问题,随着 AI 开拓工具和流程的不断成熟,这个问题无疑会随着韶光的推移而发展:AI 和数据隐私。
“如果你为一个副业项目或一个小型初创公司编写代码,这不是问题,”Thomas 说。“但是,当你为一个较大的组织编写代码时,情形就会变得更加繁芜。”
虽然数据隐私和 AI 是一个过于弘大的话题,无法在此详细谈论,但根据路透社的一份 数据隐私报告——由 Gai Sher 和 Ariela Benchlouch 撰写——“AI 隐私悖论代表了我们这个时期最重大的寻衅之一。随着我们不断提高,我们必须确保我们对技能进步的追求不会以捐躯我们的隐私权为代价。”
AI 赞助开拓的未来只管存在发展烦恼,但 AI 工具被证明是开拓职员宝贵的编码伙伴。 Ranstrom 指出,他正在利用的 AI 工具一贯在迅速改进。“从我第一次开始利用它到现在——我们只是在评论辩论几个月——AI 编程建议已经变得好多了。如果你不该用 [AI 编程工具],你可能会被甩在后面,以是我的建议是赶紧加入并坚持下去。”
“就像我们不想一遍又一各处听到同一首歌一样,我们也不想要同一款运用程序的多个版本。”
——AppMap 首席实行官兼创始人 Elizabeth Lawler
Thomas 表示赞许。“我认为 AI (目前) 不会取代软件开拓职员,但我确实认为利用 AI 的软件开拓职员可能会取代不该用 AI 的软件开拓职员。”
一个始终如一的话题彷佛是,AI 工具可以成为开拓职员工具箱的有力补充,但等式中不可或缺的部分仍旧是辅导 AI 的人。
Lawler 提醒开拓职员,他们仍旧是创造者:“你不会将事情的创造性部分外包给 AI,它更像是一个剖析师,而不是一个魔术师。AI 非常可预测,就像 AI 天生的音乐一样,”Lawler 说。“如果你不给它新的作曲创意,一段韶光后它就会开始‘听起来都一样’。[就像我们] 不想一遍又一各处听到同一首歌一样,我们也不想要同一款运用程序的多个版本。”