打破焦虑!AI 时代的程序员为什么需要云端 IDE?

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 【7月更文挑战第20天】

【导读】靠 AI 简单加持的集成开发环境(IDE),真的满足你了吗?本文长度 13,000+ 字,作者将从 IDE 设计者和资深程序员的角度出发,深度剖析程序员心中对 IDE 的真正需求,给出 AI 时代下衡量 IDE 优劣的重要标准。

本文整理自字节跳动豆包MarsCode团队技术专家天猪在 2024 全球软件研发技术大会中的演讲,同时收录于《新程序员 008》。《新程序员 008》聚焦于大模型对软件开发的全面支撑,囊括 Daniel Jackson 和 Daniel Povey 等研发专家的真知灼见与“AGI 技术 50 人”栏目的深度访谈内容,欢迎大家点击订阅年卡。

作者 | 天猪

责编 | 王启隆

出品 | 《新程序员》编辑部

我已经从业很多年了,当时可能还没有前端这个岗位。

高二那年,中国刚兴起互联网,网吧每小时要收 12 块钱。我开始学习编写 HTML + JS + CSS 甚至 Flash,从北邮毕业后,先在小公司待了很多年,接着加入了 UC。随着 UC 被阿里收购,我在阿里游戏负责前端团队,搞前端工程化。几年后,为了去看看国内前端的圣地,就应玉伯邀请,转岗去了蚂蚁的体验技术部,主要深耕在 Node.js 基础设施领域。这么多年里也一直在社区参与开源项目,EggJS 和 CNPM 就是我核心参与的 2 个开源项目,欢迎通过 GitHub(@atian25)跟我交流。

加入字节跳动之后,我一直在继续做基础设施建设。入职后,我发现一件很有趣的事:在字节内部有非常大比例的正式员工在使用自研的云端 IDE(集成开发环境),而在其他大厂更多是外包同学在用。这可能是因为字节有很多 monorepo(单一仓库)模式,大库的本地运行极为耗时,又譬如我们的员工遍布全球各地,需要随时随地可以进行编码,种种因素促使云端 IDE 在字节跳动内部的使用需求持续高涨。

2022 年,ChatGPT 横空出世,引爆整个人工智能行业,AI 的能力以超越人类想象的速度进化。如果用第一性原理来看大语言模型,本质上大语言模型的唯一工作就是预测下一个 token,相比起复杂的自然语言,编程语言是更加简洁、严谨、可预测的。我们已经看到了大语言模型在自然语言预测上令人震惊的效果,因此有理由相信,大语言模型在编程语言预测上也具有非常大的潜力。

在过去的这些年,我所在的部门一直从事开发者工具相关工作,我们的产品服务了字节内部成千上万的工程师,在字节内部有 70% 的工程师在使用豆包代码助手的内部版本来提升他们的开发效率,大语言模型的出现,让我们看到了新的生产力提升开发者效率和体验的可能性,也让我们有机会能够在 AI 时代更好地服务所有开发者,我们非常兴奋能够参与到这一旅程之中。

大概在去年年底时,我与团队开始参与到豆包MarsCode的开发。这个产品目前提供了两种形态:一是许多人熟悉的本地编程助手插件,二是云端的 AI IDE。其中我们的 AI IDE 涉猎到整个链路,包括 IDE UI(用户界面)、IDE Server (服务)、工作区容器、场景化服务等很多能力,而我主要负责工作区和场景化。

豆包MarsCode这个产品和字节跳动的理念其实是一致的:“激发创造,丰富生活”。我们期望用 AI 来激发程序员,包括广大的“泛程序员”群体,让用户使用我们的产品实现过去 10 倍的生产力,成为超级程序员。我们坚信,AI 在编程领域的潜力远未被充分挖掘,当前的 AI 辅助编程仅是冰山一角,未来将朝着结对编程乃至 AI 驱动编程的方向迈进。

我们希望打造一款世界级的产品,拥有世界级的体验,也希望有越来越多认同这个趋势的同道者一起前行,也许是那个愿意『较真』,为 IDE 的颜值能折腾字体和配色一两周的你,也许是那个勇于挑战 K8s 和云服务极限,『抬高技术天花板』的你,期望能加入我们一起探索未来。

AI IDE 演进史

作为一名资深程序员,我每天仍需要写非常多的代码,所以我想从自己的视角观察 IDE 的演化历史,并扪心自问:我们需要怎么样的一款 IDE?

在计算机编程的历史长河中,最初的程序员甚至需要通过打孔机 + 编织机来输入指令,这一过程孕育了编程一词,因为程序真的是“编”出来的。随后,我们进入了文本编辑器时代,Vim、UltraEdit 等轻量级工具与 Eclipse、JetBrains 等 IDE 的重功能分化,形成了编程工具的早期格局。

进入 21 世纪的前十年,纯文本处理的文本编辑器与 IDE 之间的界限开始模糊,代码编辑器时代悄然来临。Sublime 的出现堪称转折点,它不仅解决了处理大型文件时的性能瓶颈,还引入了快捷操作、命令面板等现代 IDE 常见的功能,极大地提升了开发效率。与此同时,Atom 作为 GitHub 当时的孵化产品之一,凭借其强大的插件生态和高度定制化能力迅速走红,尽管性能问题一直为人所诟病。

紧接着,微软推出了 VSCode,这中间有一段传奇的故事:Atom 和 VSCode 在技术上的底层框架 Electron 是由中国开发者赵成(GitHub @zcbenz)开发的。虽是“同根生”,但 VSCode 相比 Atom 采取了不同的策略,它在初期非常克制,专注于性能等用户体验,譬如很多面板当时都是不支持定制的。VSCode 在生态和体验找到平衡点,最终迅速成为最受欢迎的代码编辑器之一,击败了 Atom。

随后,AI 技术开始渗透至编程领域。前文已经提到,大模型的本质是对下一字符的预测,而这一能力不仅适用于自然语言的翻译(如今 ChatGPT 已经能解决很多翻译需求了),同样适用于编程语言的解析与生成。对程序员而言,编程语言(如 Java、JavaScript)本质上也是一种语言,AI 能够理解和生成这些语言,为编程带来了新的可能性。

随着 AI 技术的普及,各类 AI 驱动的 IDE 产品如雨后春笋般涌现。GitHub Codespaces 和 Replit 等产品也纷纷开始积极拥抱 AI 辅助编程,前者凭借微软的深厚底蕴赢得了广泛认可,后者则快速转型,成为前端页面预览与分享领域的佼佼者,用户基数庞大。此外,还有 Cursor 这样的代码编辑器以其在 AI 领域的深入探索,吸引了众多技术爱好者的青睐。同样,我们豆包MarsCode应运而生,想一起去探索这项技术的极限。

这引出了下一个问题:我们程序员需要的 IDE 有哪些要素?

从我的视角出发,理想的 IDE 应具备以下核心要素:

  1. 卓越的开发体验:我用简单的几个字来诠释我眼中的“开发体验”:颜值即正义。在程序员眼中,IDE 的美观度和交互体验其实至关重要,第一印象往往决定了后续的使用意愿。

  2. 随时随地开发:在当今时代,能否实现随时随地开发成为衡量 IDE 优劣的另一重要标准。是否必须依赖本地电脑进行开发?是否在学习一门新语言时需要重新配置环境?甚至外出时带个配备妙控键盘的 iPad Pro 应急编程一下?这些场景下的开发体验同样重要。因此,理想的 IDE 应具备跨终端与跨场景的兼容性,实现即开即用,随时可投入开发状态。未来,我们期待更加颠覆性的人机交互体验,IDE 的形态是否会迎来根本性的变革,这一点令人充满期待。

  3. AI 原生价值:AI 技术的原生集成对于下一代 IDE 至关重要。随着 AI 技术的普及,每位程序员仿佛拥有了一位高潜力的实习生,能够协助完成诸多任务。AI 技术对编程领域的影响主要体现在两个方面:一是提高研发效率,加速编码进程;二是辅助决策,提供高质量的问答服务。当前,我们正处于 AI 辅助编程的阶段,那未来是否会迈入 AI 驱动编程的新时代?对此,我满怀期待,积极参与其中,见证这一进程的推进。

AI 辅助编程

接下来,我们将聚焦于核心话题——AI 辅助编程。

如图 1 所示,这份开发者社区调研结果揭示了程序员对于 AI 的具体需求。实质上,我们归纳出了代码生成、补全、自然语言转代码、初始代码生成、单元测试生成以及代码解释等方面的需求。特别是在接手新库或模块时,理解其内部逻辑变得尤为重要

相关文章
|
23天前
|
人工智能 自然语言处理 程序员
AI 会淘汰程序员吗?
AI 会淘汰程序员吗?
AI 会淘汰程序员吗?
|
21天前
|
人工智能 程序员 知识图谱
【人工智能】AI时代的程序员:驾驭变革,铸就核心竞争力
在人工智能(AI)技术日新月异的今天,AIGC大语言模型及AI辅助编程工具的普及,正以前所未有的速度改变着程序员的工作面貌。面对这一趋势,程序员们如何在保持职业竞争力的同时,适应并引领这场技术革命,成为了亟待探讨的重要议题。
38 2
|
2月前
|
人工智能 架构师 自动驾驶
期待已久,真正的 AI 程序员来了
6 月 21 日,在阿里云上海 AI 峰会上,阿里云推出首个“AI 程序员”,它具备架构师、开发工程师、测试工程师等多种岗位的技能,能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程,最快分钟级即可完成应用开发,大幅提升研发效率。
171 14
|
2月前
|
人工智能 程序员
@AI程序员,这个需求接一下
@AI程序员,这个需求接一下
53 1
|
2月前
|
人工智能 程序员 开发者
AI 时代程序员还“香”吗?别错过这场 OG & 跨界技术人的坦白局!
大模型当道的今天,程序员的职业选择与未来发展正在经历哪些变化和机会?大厂在招聘技术岗时会重点关注哪些能力?AI 时代下程序员的职场发展需要哪些“新活儿”傍身?7 月 11 日晚 19:00,我们请来了你熟悉的“OG 程序员”和“跨界程序员”,一起来一场“坦白局”!
|
23天前
|
人工智能 安全 Java
当一家公司80%的程序员用AI写代码
当一家公司80%的程序员用AI写代码
86 0
|
1月前
|
机器学习/深度学习 人工智能 安全
AI时代:程序员如何重塑核心竞争力
【8月更文第5天】近年来,人工智能(AI)和生成式预训练模型(AIGC)的飞速发展对软件开发行业产生了深远的影响。ChatGPT、Midjourney、Claude 等大语言模型的出现,不仅极大地提高了编程效率,还改变了程序员的工作方式。随着AI辅助编程工具的日益普及,程序员们面临着前所未有的机遇与挑战。本文旨在探讨在AI时代,程序员应如何调整自己的职业路径和发展策略,以保持和提升自身的竞争力。
130 0
|
2月前
|
人工智能 架构师 程序员
[AI 程序员 Devyan] 终于找到人帮我写代码了
了解 Devyan,这款由人工智能驱动的编程助手,如何通过协调多种角色来简化和优化软件开发过程。
[AI 程序员 Devyan] 终于找到人帮我写代码了
|
1月前
|
机器学习/深度学习 IDE 开发工具
云端IDE如何重定义开发体验
【7月更文挑战第19天】云端 IDE 重定义开发体验: - **提高协作效率**:允许多人实时共编,避免版本冲突。 - **便捷的环境配置**:提供预配置环境,快速启动项目。 - **随时随地访问**:任意设备上均可接入开发环境。 - **强大的计算资源**:支持高性能计算任务加速。 - **自动备份和版本控制**:确保代码安全,便于回滚。 - **易于集成其他云服务**:简化开发流程,提高效率。总之,云端 IDE 以其独特优势革新了开发模式。
|
机器学习/深度学习 人工智能 算法
AI抢程序员工作:2040年AI可能代替程序员
美国橡树岭国家实验室的一些专家预测,到2040年,AI技术将会强大到足以替代程序员。不过,即使机器能够完全代替今天程序员所做的工作,但这并不意味着它们不需要人类的帮助。
3223 0
下一篇
DDNS