发布时间: 2024-02-28 14:52:18 来源:电竞比分-存储调理
大家好,我是现 ShowMeBug 的创始人李亚飞,前深信服研发效能负责人,Ruby 社区重要贡献者,热爱技术与开源。
从 2014 年开始独立创业,不知不觉已经十年时间了,ShowMeBug 是我第三次创业的核心产品,专注于技术测评(通俗说就是新型的云端技术笔试平台并且更有信效度),核心技术是云端 IDE,对于这项技术的研究和探索已经接近 5 年时间了。今天想跟大家一起分享与交流下基于云端 IDE 技术在开发者生产力、技术测评、编程教育三个行业的分析与预测。
首先,先讲一下什么是云端 IDE。IDE 是指本地集成开发环境,也就是包罗研发人员所需要的、与编写代码相关联的一系列环境及配置。而云端 IDE 即是简单放在浏览器上,就可以直接运行的 IDE 环境。但云端 IDE 技术实现上有很多差异,针对场景不同,功能会有取舍考量。
随着时间的推移,大家也逐步意识到,只是把 IDE 搬到云端并不会被用户简单接受,而是要全新思考与设计。2022 年底,随着 Gitpod 拿到 2500 万美金的 A 轮融资,整个市场进入了全新的元年,重新把云端 IDE 定义CDE(Cloud Development Environment),我认为这个词总结得特别好,所以以下我们将原本用「云端 IDE 」但更合适用 「CDE」 的地方,统称为 CDE。
另外近些年的市场变化是,从 2018 年开始,VSCode 就逐步成了为本地 IDE 市占最好的工具,而 VSCode Web 开源版也成为了很多做 CDE 玩家的基座,兼容本地习惯是一个较为重要的需求。现在有很多做 CDE 的玩家会考虑直接用 VSCode Web 开源版进行改进,这样的技术选型很有利于早期的发展,但在后期也会带着一定的发展限制。
还有诸如 2023 年底开源的编辑器 Zed 为代表的,轻量级本地 IDE 为代表的入场者。默认兼容 VSCode 键位习惯、原生支持代码协同、音视频、Copilot 和 GPT 接入,解决了部分多端协同、AI 辅助的问题,乍看会侵蚀一部分 CDE 的场景,中长期上,还是无法和 CDE 并列竞争,毕竟运行环境还在本地,跑诸如机器学习训练等任务还是依赖本地资源,无法和 CDE 的动态资源调配相提并论。
Coder 是一个先从开源出发(code-server),允许开发者用 VSCode 连接到任一的远程服务器,进而演化出来完整的 CDE(coder)环境的发展模式。也是开发者生态经典的发育模式。其核心定位是为开发者提供云端的资源配置管理、复用,开发者仍旧能复用本地开发环境。目标画像是在实际开发工作场景的开发者。(PV 4.9 万,UV 2.4 万)
值得讲一下,他们三个联创都特别年轻,现在才 20 出头,但已经创业 5 年了。在 2022 年宣布拿到了 3000 万美金。
能感受到他们更加懂开发者,Gitpod 的定位也是为开发者提供生产力工具,替代本地开发。目前增长显而易见,很多开源项目的托管平台选择都有他们的影子。目标画像:在实际开发工作场景的开发者。(PV 67.3 万,UV 15 万)
核心定位:练习 Node,React,Vue 等偏前端的 Web 项目。目标画像是泛开发者,学习成长的前端开发者。(PV 59.8 万,UV 32.5 万)
前身是 Facebook 的工程师出来创立的公司,与 Glitch 类似,仅 Web 类项目开发的 IDE 环境的核心定位不一样,为实际企业内开发者所准备。
相对来说是一个更加老牌一点的,功能全面的 CDE 平台,目前也是生产力方面流量最大的玩家。
核心定位:早期 Glitch 很接近,现在采用 MicroVM 技术支持到 Web 类外全开发框架。
2015 年成立,早期定位于技术面试,2021 年开始收购了 CodinGame,推出技术测评。公司规模不大,但发展良好。是一家特别优秀的产品驱动的企业。
2014 年开始成立,早期叫 CodeFight,做代码竞赛,2017 年开始转入做技术面试与测评。目前发展良好。也是技术测评领域推出最早线 万美金 C 轮融资。
印度出来的一个企业,这两年增长尤其快。岗位很全,100 多个岗位。支持软技能和 IT 技能测评。
一直在快速迭代,定位于泛开发者(全领域)的使用者真实的体验良好的 IDE 环境 支持的范围很广:几乎所有的应用程序,主 Web 框架,采用 VNC 支 Android/iOS,3D 应用等。
核心定位:泛开发者。Replit 覆盖人群巨大,流量在 2000 万左右,用户量也突破了 2000 万。目前估值 12 亿美金,融资额 8000 万美金。
Replit 的 IDE 满足两个核心,一是真正以实时互动协同为核心,二是打造了一套面向泛开发者(高体验)、类真实开发场景支持丰富的轻协同 IDE,并且有某些特定的程度的外围开发者体验兼容的能力。然后基于这个基础构建一个爱好者生态,UGC 内容生成,这是比较独特的体验。导致其增长快的底层原因。
第十二个是OpenSumi(阿里)自研,兼容 VSCode,是由内部研发效能团队自主研发,拥有自主的技术栈体系。其主要需求场景来自支付宝小程序。
进一步的,OpenSumi 团队继续推出了 Codeblitz,轻量级前端化容器(Browser VM 技术),提升了加载环境的速度,但限制就在于只支持 Web 类。
第十三个是Cloud Studio(腾讯)基于 VSCode Web 开源系统来进行改进。原勇于探索商业模式的公司 Coding 的产品,后整合进腾讯云体系。
第十四个是CodeArts(华为)10s 启动,基于 VSCode Web 系统来进行改进。2022 年发声是很好的,但 2023 年 3 月后没看到太多更新动作。
大厂研发这类产品,本质上都是内部研发人员已经够多,需要有一些 CDE 需求的场景,例如小程序开发、代码 review、代码 diff 等,云上开发当然也很好,但总的来看国内的技术能力还没有能打造出匹配美国像 Gitpod、CodesandBox 这种实力的产品。
国内勇于探索商业模式的公司还有像Lightly(TeamCode)、TitanIDE(行云创新)等探索者,也有各自一些特点。
Coder 的重点在于取代或提升开发者本地开发环境,所以形成一套重云 IDE,与本地 IDE 形成竞争。
Replit 完全自研的 CDE 环境,全视图可定制,也融合了更多 AI 技术。
技术实现上大致分了几种情况,一个是 VM 技术的区别、一个是基础用的是否是 VSCode Web 开源改进。
几乎 70% 的玩家直接选择了 VSCode Web 开源改进,运行内核部分采用 Browser VM 技术,大多采用 VM 技术,CodesandBox 则是从 Browser VM 过滤到了 MicroVM 技术(这是一个由亚马逊工程师贡献的一套轻量级虚拟化容器技术)。
第一类是生产力工具,直接帮助专业的开发者提高研发效率。代表产品是 Gitpod 和 CodesandBox,Gitpod 最新的融资情况是 2022 年底,2500 万美元,估值 8 亿人民币,根据活跃数据,开发者几十万。CodesandBox 听闻也在 2022 年底拿到了更多融资但没有公布。目前活跃数据比 Gitpod 高 2 倍左右。同时他们在 CDE 的核心技术上都有明显的突破点。
第二类是开发者能力测评,帮企业识别技术人才的能力。这里面又分为带有 C 端支持的,和专业为 B 端服务的。前者的代表是 HackerRank 和 HackerEarth,HackerRank 在 2022 年拿了 D 轮 7000 万美元,实际活跃开发者用户预测在 100 万。HackerEarth 也融到了 1000 万美元,用户量折半。后者专注于 B 端,像 CodeSignal、CoderPad、CoderByte、Codility,目前大家的节奏和情况还是蛮类似的,市场之间的竞争比较激烈。这里面技术上有明显突破的是 CodeSignal,它是第一家提出真实开发环境的公司,其他几家都正在跟进。
第三类是面向泛开发者,或是说由兴趣驱动的编程爱好者,其中 Replit 是其中最优秀的代表,目前活跃用户突破 1000 万,这个规模在编程垂直领域很难想像。也在 2022 年拿到了 8000 万美元的融资,估值超过 12 亿美元。下一步的关键点是在商业化的发力上。
综上,CDE 云端协同式编程环境给生产力革新、技能测评、编程学习提供了全新的使用者真实的体验,拥有的发展空间很大。
但中国环境大不一样,市场的成熟度,用户的习惯都有较大的区别。国内原 Coding 的创始人张海龙,华为的 CodeArt 负责人王亚伟也都有网络上发表了一些自己深度的看法。
CDE 发展了很多年,整体而言道路比较曲折,没有像现在的 AGI 到这么迅猛的爆发期,其深层次的原因还是这项技术本身的复杂度是超出一般人的认知,CDE 的核心技术也在一波又一波的突破和发展着,而商业化的过程也是随着产品技术的成熟不断深化和落地。
接下来,我们大家一起从技术的成熟度出发,回到第一性原理,分析里面到底哪个是终局,也从商业底层的一致性进行思考和预测,一起探讨下 CDE 可能的终局。2023 年是 AI 编程的元年,这个巨大的变量也会对 CDE 市场有重大的影响,我们一起结合进行思考。
编程本质是对真实世界需求的一个个数字化建模,然后通过信息流动的方式来进行交互、计算、协同,从而提升处理信息的效率。
目前中国的程序员数量从 2005 年的 10 多万发展到 2024 年 1000 多万,20 年时间多了 100 倍,目前从供需关系看,出现了两种现象,一方面企业在降本增效,裁掉了一批程序员,另一方面,程序员的工资仍然据高不下。需求短时间看是下降了。另一方面,程序员群体有一个典型的 1/2/7 的优秀、普通、一般的人才结构金字塔模型,编程的本质特性决定了优秀的人才比一般人才能高出 5-10 倍的产出能力。这种人才一般是工程能力强、结构化思维好、Bug 产出低的人群。
市场出现两种声音,一种是程序员的需求在降低,未来 AI 会对编程有很大冲击,需求会更少。另一种则是看到了程序员需求的不足,数字化进程还在初级阶段,未来还需要更加多程序员。
我本人持后者的看法,因为这里面有一个明显的供需逻辑点,只要程序员的平均薪资仍然比一般行业高,就从另一方面代表着需求侧没有正真获得满足。从我了解的深圳市场来看,普遍 100 人的开发团队,老板每年的开销就高达 3000 万,这在某种程度上预示着很多非第一紧急的数字化的需求因为编程成本的昂贵而被搁置,一旦成本降低将会有更多的需求释放出来。
所以结论显而易见,除非程序员的平均薪资被打回正常位置,否则编程的需求会一直变多。
那以 GPT 为代表的 LLM 大模型提供的 AI 编程能力是不是会影响到程序员的需求数量呢?这其中的关键要素是 AI 到底多大程度上能够取代人工。
我们认真进行了研究,ShowMeBug 团队内派出了专门的 AI 研究小组花费了 6 个月,探索打造了一个 AI 智能体(1024Code)进行需求分析、Debug、编写代码。目前结论是有一点用,但还很不成熟,等级大概在以下的 L3 状态,限制在 5 个文件内。可以定义为高级玩具。
第二点,AI 是否会取代人类或根本不需要编程呢?AI 虽然也是软件构建的,但本质上它更是一个电子大脑,对于大脑而言,是处理复杂现实最好的建模,但编程本质上是一个精确世界描述,两者完全互补。所以在我看来,AI 是一个对现有编程行业充分利好的事,但除非达到 L5 水平,否则会长期与人类共存,相反 AI 将会非常有助于降低编程的成本,从而释放更多数字化需求。L5 的能力暂时不是我们要讨论的事项,因为各行各业都会经历巨大的变化。
所以整体而言,编程的需求在未来的时间将因为 AI 带来的编程成本的降低而不断释放,程序员的群体数量的增量将会持续上升而后逐步下降 **,最终 ** 会让程序员变得跟普通行业一样。
由此可见,AI 对程序员的整体利好会更大,影响是先正向后逆向,最终这个行业也会变成一个普通行业。
接下来,我们大家可以看看 CDE 市场终局了。一定要从 CDE 离不开诞生它的一系列技术革新和需求的原始动机,一起看一看。
技术导向的产品特别依赖于它的技术突破临界点,比如 AI 就是一波又一波的峰值。CDE 的技术临界点在 2015 年之后已经逐步开始成熟。
早期第一个卡点,是浏览器的性能,随着 Chrome 内核(V8 引擎)的普及,承载 CDE 的基础平台已经不存在太多问题。
第二个卡点的工程复杂度,随着构建复杂工程建设项目的前端技术的日渐成熟,TypeScript、Vue、React 都是能够让模块化搞的非常出色的利器,构建 CDE 这样属于工程领域明珠的高复杂工程已能很好进行突破了。
第三个是实时协作技术的突破,基于 WebRTC、WebSocket 的上层应用逐步多了起来,像国内的声网,海外的 Figma,都是该领域的强大应用场景。这个技术加持让 CDE 添加了不少协同的体验感,而这正是 CDE 非常自然的衍生。
一是卡顿感与网络依赖,本地开发环境永远是最快的,CDE 则要依赖于网络和环境。
二是用户习惯的挑战,对于 IDE 来说,用户使用都是很重度的,必然有很多个性化的需求和配置,这导致了很重大的体验偏差,用户接受挑战很大。
三是生态环境,类似于 VSCode 积累了大量的插件能加强本地使用者真实的体验,也是本地 IDE 生命力强大的必要原因。
一是开箱即用的能力,自带运行时环境,随时随地编程。二是天然的云端化,多人协作、AI 交互 都非常自然。三是标准化复制能力,能够让开发团队不折腾环境。
所以在生产力、技术测评、编程教育等不同的应用环境,其技术挑战也有不同的挑战。生产力是对 CDE 平替本地 IDE 能力有着极高的要求,而测评则相对好一点,编程教育则可以更容易创建新的体验方式。
成功的产品 = 技术变革引起的新体验 - (用户旧的体验习惯 - 新产品带来的新问题)
一是成本问题,在本地 IDE 不存在成本问题,而 CDE 则需要云端容器和资源,很消耗资源。
二是并发能力,管理几个容器是简单的,但一旦管理上万甚至数十万,保持其稳定,其挑战可想而知。
一是原生 AI 交互能力,这个做的好的话有可能完全解决编码、测试、上云、布署的整个环节,而在本地是很难做的,但本地至少也有 AI 能力,其体验也会进步,但全栈的话 CDE 是有绝对优势。
二是完全革新的编程体验,CDE 有望将 CI/CD 布署和测试都深度融合起来,做到完全的可见即所得的开发体验,这样开发效率大大增强。当然这个难度是巨大的。
综上,CDE 需要一方面要大力强化自己开箱即用的优势,另一个方面尽可能降低引入的新问题。总结来看需要以下几个能力要极大的突破就非常有可能创建出成功的产品:
在常规技术加持下,CDE 的启动速度往往在 40S 左右,所以刚才列的一些存在竞争力的玩家都很强调 VM(虚拟机)的选用,这是一项关键能力。有些玩家为了极致的加载而选用了 browser VM,这种只能运行有限的几种环境,放弃了全框架环境的支持。这个冷启动要越快越好。
用户习惯是很难改变的,所以必须尽可能去接近本地开发环境体验,所以有更多的 CDE 玩家选择了 VSCode Web 版进行二次开发。但有利有弊。也有很多云端不是特别必要的特性被添加上来。
原生 AI 接入,深度集成 CI/CD,Code Review 在线化,协同能力等等,想办法创造全新的交互体验是 CDE 很重要的一个产品突破点。
这个无须多言,成本永远是用户选购的关键考虑项。所以必须在技术创新上进行最大限度的优化。例如在电视领域液晶技术打败背投技术并不靠色彩表现,而主要是因为成本。
生产力工具是 CDE 最有想像力的市场,几千万程序员,每天的工作都要提效,Copilot 就是一个比较成功的例子。它的核心挑战在于挑战本地编程体验,优点是云端的环境管理和团队协作时的便捷,尤其是当下的 K8s、容器已经更多在开发过程进行应用,需要有更全景优化这样的一个过程。而 CDE 是有潜力的。目前当下最低风险的是优化现有体验,而不是完全创建新体验。目前 CDE 的代表 Gitpod、CodesandBox 卷的二个核心特性均已有所突破:私有化部署、VSCode Remote 接入。这两点能够有效缓解 CDE 的短板,又可以将环境的标准化管理突破出来。
技术能力测评是对 CDE 来说商业化最平滑,最能做出差异化的市场。测评的本质是信效度,也就是通常我们说的准度。在技术领域就是工程能力的评估,所以 CDE 一定是技术能力测评的最核心基石,而且要提供岗位题库模型、工程能力自动打分、防作弊。
而编程教育依赖于强大的运营能力,CDE 的易于上手的特性比功能强大的特性更加重要。
CDE 是一个极其技术密度的工程复杂度很高的项目。注定了它的发展周期比想像的要长不少,比如上述提到的技术测评产品大多在 2012-2013 年成立,像 Replit 也是 2013 年成立。只有深刻思考以上问题并提出更优解决方案,才有机会做出成功的产品。ShowMeBug 几年时间并不像前辈那样靠时间进行优势积累,所以必须更有深度思考少走弯路。
首先,我这十年的创业经历告诉我,核心能力一定自主可控,所以从一开始,我们便立志自研完全属于自身个人全协同的云端 IDE(CDE),首先就是放弃了 VSCode 二次的思路,从零开始构建自己的云 IDE 引擎。
我们在 2021 年下半年开始组建自己的 CDE 研发团队,从以下几个关键点进行了架构设计:
PaaS 架构,提供 SDK,让应用层充分响应各种需求。极速冷启动,采用分布式 COW 存储架构,双阶段(ready_1 和 ready_2)分阶段加载代码和容器环境,启动进入理论极限:2S。甚至切换环境速度被优化的更快,平均只有 700ms。这超出了世界上最优秀的 CDE 的表现。全协同性,天然支持多人实时协同,不等同于传统 IDE 只能协同编辑区,我们还有文件树、终端、控制台、甚至浏览器均默认协同与共享,并特有视角跟随功能。可控的成本和低延迟设计,全自研可控的容器调控技术,容器随启随关不影响到用户使用,整体的成本与延迟要比同类低 50% 以上。
创新全新的体验是 CDE 市场的最大变量机会,我们做了超 6 个月的 AI 原生支持的探索,并做出了自己的 AI 智能体能帮助人写代码,还有许多独特的能力例如全协同能力、自动录制、答题区锁定区、AI 原生支持、单测解析。
成功的产品 = 技术变革引起的新体验 - (用户旧的体验习惯 - 新产品带来的新问题)
掌握全栈自研的 CDE 技术,才有引起技术变革的全新体验的基石。以“三个零”(启动快、切换快、延迟低)作为核心设计指标,并以 PaaS 平台化的方式架构成功,有极强扩展能力。同时还兼有大量新一代 IDE 引擎才有的特性,例如全协同能力、自动录制、答题区锁定区、AI 原生支持、单测解析等。
技术能力测评是一个渐进式的、商业化更易于实现的方向,这里面最关键的产品质变点是从传统的算法进步到真实编程环境,并要解决题库质量、评分的问题,最终提供精准的工程能力的评估能力,客户就乐意接受付费,现在大多这方面的平台还处于编辑器、算法阶段,甚至有些还只支持选择题不支持编程题的平台。这一个市场虽然相对于另二个市场好像小一些,但却更有机会做一个池塘里的大鱼,等时机成熟再进入到生产力和编程教育两个更大的市场。
ShowMeBug 目前已经切中技术能力测评的重要要害,正在全力突破最后一公里,慢慢的变多的客户口碑的变化显示了这一点。
生产力工具方面,目前我看到的市场还不够成熟,我非常同意前 Coding 创始人张海龙的那句话:“机会很可能不是简单的把 IDE 上云,机会更可能来自全新的云端编程体验”。目前来看最可能的方式是 AI 原生的在线 以上辅助编程能力,并且需要把 CI/CD、Review 等流程结合 AI 更好的协同起来,创造一个超出目前本地编程几倍的全新体验,才有可以。这里面的头部玩家 Gitpod 和 CodesandBox 卷出来的方案是一个相当的好的尝试,值得期待。
因为生态、技术认知和商业付费环境的问题,选择在中国创业,就像一场游戏,你选择了 hard 模式,而美国则是 easy 模式。在中国创业付出更多、打磨更加极致的产品和更高的性价比成为唯一的出路。所以当你做了极致产品和商业化成功前,旁人很可能是无法判断对错的,只能靠自己和认可你的投资人的梦想,靠第一性原理的信念去支撑下去,不断尝试不停地改进革新的过程。故在此做一些行业分析与记录,也分享出来跟各位一起交流,未来几年再看一定会更有感触。
CDE 是一条难而正确的路,ShowMeBug 作为至简天成科技全栈自研 CDE 的第一个重要场景,提供的技术测评方案日渐成熟,客户口碑慢慢的变好,显示出这一战场充分可战,让我们拭目以待。
ShowMeBug 目前提供两个场景的价值,一是解决技术人才招聘过程中识别优秀不准的问题,能够最终靠一套技术测评题准确进行识别,其中符合岗位画像的题库集、CDE 支持的工程能力验证、AI 驱动的将主观题化为客观题的全自动评分是其中独特的优势。二是帮企业内部建立以考促学的技术能力评估模型,促进企业在实施人才发展过程中更加透明和可验证的确认人才的成长,在未来逐步建立起科学的人才晋升评估模型,提升管理科学性,降低人才管理成本。
在未来,CDE 一定是一个全球化的战场,ShowMeBug 未来的出海也势在必行。
传统 IDE 都是用于严肃开发,但云端 IDE 还是需要区分一下严肃或非严肃开发场景,例如 ShowMeBug 和 1024Code,目前几乎所有 CDE 都在做非严肃场景,价值主张主要在于社区分享、协作编程、不污染本地、快速启动环境和无限的计算资源,各个玩家切的都是一个个短平快的使用场景;
技术上,非严肃开发场景需要的运行环境是即用即抛的,中短期以云端容器为主是技术问题。从技术发展路线来看我个人觉得类似 Stackblitz 建立的 WebContainers 方案(browser VM)更具有远景,计算压力被分散到用户本地,带来复杂度和成本一下子就下降,而使用者真实的体验和速度也是上升的;WASM 应该不可忽略,让浏览器内运行各类语言环境只是时间问题(WebContainers 也支持了 WASM,让 Stackblitz 支持了 Ruby、Python,还有原本就支持很好的 C、C++、Rust 等等),现在效果确实不够成熟;
严肃开发场景下,用户关注点集中在插件生态、用户普及度、免费、响应性能、对语言支持的深度。这些都是 VSCode 近年占有率大幅度的提高的原因,也是 Jetbrain 等老牌 IDE 长久不衰的原因,都需要非常多的时间势能积累,我认为在编程范式没有大变革前,CDE 机会不大。现在 AI 还是 L1、L2 最多 L3,对 IDE 还是 Copilot 辅助编程的作用,套皮的 Cursor 似乎就够了;
严肃开发场景 CDE 替代 VSCode 的机会是有的,我认为协同、CI/CD 等会慢慢的变成为所有 IDE 的基础能力,但不可能会成为用户迁移到其他 IDE 或者 CDE 的原因。和亚飞的观点一样,重点在于全新的 AI 驱动的研发流程带来的工具形态不同,例如 1024Code 或 Babel 所做的 AI 生成式开发模式,IDE 本身肯定要重新思考,这是可以替代 VSCode 的机会,当有 L4、L5 的 AI 能力基座产生,这样的机会会很多,现在就应该动起来。