人工智能

分享:

主要问题部分结束后决定继续参加调查的人回答了本部分中的题。

由于这是我们第一次在开发者生态系统调查中询问有关 AI 的问题,该部分未提供与往年的比较。

总体而言,开发者似乎对 AI 的快速进步相当乐观,并且已在工作中积极利用其功能。

分享:

Maria Khalusova

Hugging Face 技术人员

令人鼓舞的是,开发者社区大多热衷于将基于 AI 的工具应用于软件开发。与此同时,承认安全和道德顾虑的存在也很重要。这表明社区已经意识到与这些技术相关的现有限制和潜在危险。解决这些顾虑的关键在于倡导以更加透明的方式使用 AI 系统。完全开放的 AI 模型和整个系统能够实现社区审查,从而帮助识别潜在问题,有助于持续改进这些系统。最终,这会使基于 AI 的工具变得更加有用、更值得信赖。

您熟悉什么类型的生成式 AI 工具?

69%

文本生成工具

60%

代码生成工具

39%

图像生成工具

5%

音乐生成工具

5%

视频生成工具

1%

其他

16%

84%

的开发者或多或少熟悉生成式 AI 工具。

有趣的是,开发者对 AI 文本生成工具比代码生成工具更熟悉,这可能是因为 ChatGPT 的受欢迎程度和易用性。

84%

的开发者或多或少熟悉生成式 AI 工具。

Svetlana Zemlyanskaya

JetBrains IDE 辅助机器学习团队主管

在短短几年间,基于 AI 的代码生成工具已从一个有趣的研究主题变成了许多开发者工具箱的重要组成部分。我们将继续密切关注这一趋势,看看它如何发展。

是什么阻碍了您学习生成式 AI 工具?

43%

没有什么。我打算在不久的将来尝试一下

20%

我有安全顾虑/公司安全政策

11%

我看不出它们有什么价值

10%

我从未听说过

8%

它们对我来说太复杂

5%

我无法访问它们

4%

其他

*此问题仅向在上一个问题中选择“无”的开发者显示。

只有 1.6% 的受访者从未听说过生成式 AI 工具,而在尚未熟悉生成式 AI 工具的人中,略低于一半的人计划在不久的将来做出尝试。

安全顾虑是采用生成式 AI 工具时最常被提及的障碍。

Svetlana Zemlyanskaya

JetBrains IDE 辅助机器学习团队主管

大多数解决方案仍然需要将数据发送到云,这使其面临安全风险,但市场正通过本地解决方案和本地部署解决方案做出回应。

您在多大程度上赞同或反对以下叙述?

赞同不置可否反对
59%30%11%我对使用生成式 AI 服务有安全顾虑
53%30%16%我已准备好将基于云的生成式 AI 服务用于工作任务
42%33%25%我对使用生成式 AI 服务有道德顾虑
40%40%20%本地或离线 AI 工具不太可能达到基于云的解决方案的质量和性能
28%35%37%我公司的政策限制了对基于云的 AI 工具的使用
19%37%43%我担心 AGI(通用人工智能)会对人类产生敌意
11%59%

总体而言,受访者似乎对 AGI(通用人工智能)持积极态度。不到五分之一的人担心 AGI 会对人类产生敌意。然而,十分之六的受访者对使用 AI 存在安全顾虑。

Svetlana Zemlyanskaya

JetBrains IDE 辅助机器学习团队主管

大语言模型产生了许多有待解决的道德问题,如训练数据集的来源、开源代码的合理使用等。

您在多大程度上赞同以下关于 AI 赋能的代码生成的未来的陈述?

赞同不置可否反对
60%30%10%AI 编码工具将彻底改变软件开发的就业市场
51%33%16%采用 AI 编码将提高对专业软件开发者的要求
51%29%20%某些行业永远不会采用 AI 编码
49%37%15%雇主希望每位软件开发者都精通 AI 编码工具
33%34%33%大部分编码将转变为提示工程
13%27%61%AI 将完全取代开发者来编写代码
10%61%

虽然五分之三的受访者认为 AI 编码工具将从根本上改变软件开发就业市场,但只有 13% 相信 AI 将完全取代开发者编写代码。尽管如此,大约三分之一的人相信软件工程一定会变成提示工程。

总体看来,开发者相当乐观,相信 AI 将成为协助编写代码的新工具,而不是开发者被 AI 所取代。

您目前使用什么类型的生成式 AI 工具?

69%

基于云的服务

13%

本地或离线解决方案

10%

基于云的解决方案,由我或我所在组织管理

3%

其他

21%

不知道

大多数开发者使用基于云的强大生成式 AI 解决方案 – 基于云的服务或由受访者的组织管理的解决方案。

Svetlana Zemlyanskaya

JetBrains IDE 辅助机器学习团队主管

本地解决方案和本地部署解决方案已经出现,但最终质量往往不及基于云的解决方案。虽然质量正在全面提高,但本地解决方案与基于云的解决方案之间的差距在未来几年内可能仍无法弥合。

您对以下 AI 工具有何体验?

我在使用我尝试过,但现在没使用我不使用
77%20%3%ChatGPT
46%33%21%GitHub Copilot
26%50%25%Midjourney
26%15%59%Visual Studio IntelliCode
21%42%37%OpenAI DALL-E
17%21%62%Dream Studio (Stable Diffusion)
9%20%71%Tabnine
7%11%81%Pictory
7%17%76%Synthesia
5%9%85%Amazon CodeWhisperer
4%7%89%CopyAI
4%8%88%AIVA
4%10%86%Soundraw
4%7%88%Boomy
3%5%91%Codeium
3%11%85%Kite
2%7%90%Jasper
2%6%92%Replit Ghostwriter
1%3%96%Sourcegraph Cody
1%3%96%Atlassian Intelligence
1%96%

比起专属 AI 代码生成工具,开发者更常使用通用 AI 文本生成工具。然而,由于 ChatGPT 等最新的 AI 文本生成工具也能够编写代码,开发者也可能将其用于这一目的。前述专属工具似乎正在吸引更多关注,但无论是由于与工作流的集成不完善还是通用方式,目前很少有开发者在长期使用。

您使用以下现有 AI 助手功能进行编码的频率如何?

相当频繁有时很少从不
26%33%17%24%使用自然语言询问有关软件开发的一般问题
24%37%24%15%生成代码
19%26%22%33%生成代码注释或代码文档
18%26%21%36%解释 bug 并提供修正
14%27%22%37%解释代码
12%21%24%42%生成测试
11%21%19%48%使用自然语言查询搜索代码段
9%17%21%53%执行代码审查
9%16%19%55%总结最近的代码更改来更快了解情况
9%20%23%47%重构代码
9%17%20%54%通过自然语言描述生成 CLI 命令
6%12%20%62%生成提交消息
6%62%

开发者使用 AI 助手的最常见方式是使用自然语言询问软件开发相关一般问题。

您使用 AI 工具执行以下任务的频率如何?

定期有时从不
35%47%18%学习新事物
26%44%29%进行头脑风暴和评估想法
24%42%34%总结内容
23%35%42%审校内容(例如,修正拼写和语法错误)
21%34%45%以特定风格(例如,更友好或更符合公司的品牌风格)重写内容
21%36%44%翻译文本
20%39%40%生成与代码不直接相关的内容(网站、版本说明、推文等)
11%21%69%防止使用不当语言
11%69%

AI 工具是流行的学习辅助和头脑风暴伙伴,在总结和审校内容时也很实用。至于非代码内容生成,只有 20% 的受访者经常为此使用 AI 工具。

最耗时的活动

79%

编写代码

47%

理解代码

31%

互联网搜索

30%

调试

29%

编写代码注释或代码文档

21%

编写测试

16%

执行代码审查

*将各项活动选为最耗时的三项活动之一的受访者所占比例。

编写代码是最耗时的活动,但也是受访者最喜欢的活动(见下图)。把大部分时间花在自己喜欢的事情上 – 这不就是幸福的秘诀吗?

这些活动对您来说有多愉快/不愉快?

愉快既非愉快也非不愉快不愉快
82%14%3%编写代码
51%36%14%理解代码
45%36%18%重构
40%49%11%互联网搜索
35%50%15%编写代码注释或代码文档
34%43%24%调试
33%49%18%执行代码审查
31%55%14%在 CLI 中执行操作
29%55%16%了解最近的代码更改
27%45%28%编写测试
27%59%14%编写提交消息
22%56%23%在代码库中搜索代码段
3%82%

如果编写代码是开发者最享受的活动,那么他们自然不准备把它委托给 AI 工具!

这些活动对您来说有多简单/困难?

简单不简单也不困难困难
54%38%8%编写提交消息
54%39%8%互联网搜索
46%43%11%编写代码注释或代码文档
40%48%11%编写代码
36%49%14%在代码库中搜索代码段
36%53%11%在 CLI 中执行操作
26%58%16%了解最近的代码更改
25%51%25%编写测试
25%56%19%执行代码审查
24%54%22%理解代码
23%51%26%重构
22%51%27%调试
8%58%

您将以下活动委托给 AI 助手的可能性有多大(假设 AI 助手的表现与人类相似)?

我会委托给它我还不确定我还是会自己做
56%23%21%编写代码注释或代码文档
56%26%18%编写测试
55%26%19%在代码库中搜索代码段
50%23%27%编写提交消息
46%23%31%互联网搜索
35%34%31%在 CLI 中执行操作
34%31%35%执行代码审查
34%31%35%重构
31%28%41%了解最近的代码更改
30%30%40%调试
23%26%51%理解代码
17%28%54%编写代码
17%56%

AI 助手最常用于协助开发者执行日常任务,例如编写文档、代码注释、提交消息以及搜索信息。开发者更喜欢自己处理代码,包括理解代码和最近的代码更改、调试,当然,还有编写代码,尽管 79% 的受访者提到编写代码是其最耗时的活动。

编写高质量代码是一项艰巨的任务,一些证据显示,生成式 AI 编码工具已经可以减少所需时间。虽然大约三分之一的受访开发者仍不确定是否要将任务委派给这些工具,他们仍然会使用这些工具协作完成任务,而不完全外包。

JetBrains AI Assistant

AI Assistant 为软件开发提供 AI 赋能的功能。JetBrains AI 服务将 IDE 用户透明地连接到不同的大型语言模型 (LLM)。AI Assistant 具备上下文感知能力,可以帮助开发者更快地完成任务、提高工作效率。

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com