在成为镁佳科技CEO之前,庄莉就有着令人艳羡的履历。
她是清华大学知名的96级计算机专业校友。她与同样是清华96级,也是网易有道CEO的周枫是互联网圈有名的「神仙眷侣」。
清华毕业以后,庄莉和周枫都去了加州伯克利分校攻读计算机专业博士。读博期间,两人被网易创始人丁磊邀请回国,后创建了网易有道。
离开有道后,庄莉又分别在微软研究院、雅虎北京研究院、猎豹移动担任高管。
年,庄莉买了一辆特斯拉,并由此与智能汽车结缘。庄莉曾经考虑过创业做Autopilot这样的ADAS或自动驾驶系统。
恰巧在这个时期,蔚来汽车的创始人李斌找到了庄莉。
于是从年到年这三年间,庄莉担任蔚来汽车数字座舱和软件开发副总裁。庄莉在蔚来主导完成了包括NIOOS1.0/2.0的全部设计和开发以及蔚来被用户所熟知的NOMI。
年6月,庄莉离职蔚来,并在之后一段时间内从公众视野中淡出。后来我们知道,她加入了镁佳科技担任CEO。
镁佳科技的野心,是要做中国汽车Tier1里的特斯拉。
怎么理解呢?就是做一家帮助中国车企开发出像特斯拉那样的智能汽车的软件Tier1。
镁佳从年成立到现在,经过近两年时间的开发,其目前最重要的技术与产品是整车级别的分布式智能操作系统SmartMegaOS+。
基于这一系统,镁佳可为车型定制专属的OS+版本,同时还可提供硬件零部件的设计和定制,其目前支持的零部件包括:数字座舱、多个域控制器、T-Box、网关等。
用庄莉的话说,镁佳的目标是「让车里没有难写的软件」。
广汽蔚来在最初选择智能座舱供应商时大胆启用了成立没多久的镁佳科技。
目前在广汽蔚的首款量产车合创(Hycan)上,就搭载了镁佳开发的智趣领航员「小CAN」人工智能操作系统。
前不久,庄莉作客「汽车之心·行家说」,分享了她在互联网行业与汽车行业的实践以及对汽车软件未来的思考。
核心要点包括:
汽车正在从硬件复杂、软件简单逐渐过渡到硬件简单、软件复杂;随着智能化、网联化的引入,一辆有稳定高质量整车软件的汽车才能提供好的用户体验。软件正在变成汽车上越来越重要的价值创造者;互联网行业的从业者从来不亲自写每一行代码,因为需要写的代码量太大,所以他们只写最重要的那部分代码;要在一个新的行业做软件,首先我们应该去投入做软件基础设施;开放的主机厂会逐渐意识到,应该集中精力开发自己的产品应用和服务软件,最终这样的车企会成为非常优秀的汽车软件开发者。
最近关于汽车软件的讨论非常多,碰巧我自己也是从互联网行业进入到汽车行业,也在从事汽车软件相关的工作。
作为一个汽车软件的从业者,我的体会是,只要用正确的方式切入,汽车软件有非常大的机会。而且软件会变成汽车上未来将用户体验做得非常好的全新增长点。
1、高质量的软件正在成为汽车上越来越重要的价值创造者
在智能化和联网化的趋势下,汽车在发生哪些变化?
第一是构架变化。
整车的电子电气硬件变得越来越集中。几年前车上有大大小小几十个嵌入式ECU去完成各种各样的功能,现在逐渐朝几个大的车载电脑集中。
第二个趋势是汽车正从硬件复杂、软件简单,向硬件简单、软件复杂过渡。
越来越多的汽车功能开始被软件所定义。
一款车有什么功能、好不好用,很多时候由上面的软件决定的。
这就产生了一个新的说法叫做「软件定义硬件」,或者「软件定义汽车」。车里的功能越来越依赖于软件,软件的复杂度也越来越高。
将来有可能汽车上的硬件会逐渐趋于一致,那时候决定它是低配、中配还是高配的因素,就是我们在车上安装和开放了什么样的软件。
第三个趋势是联网。
几年前,车辆普遍是不联网的,现在车上几乎所有的功能都依靠联网实现。每隔几秒,车就会与云端通信一次。所以现在车主抱怨的最多的是车上的网络不稳定。
我们原来并没有觉得这是一个非常重要或者影响用车体验的基础设施,但现在因为联网不稳定,会极大影响到车里的用户体验。
一个手机App,可能用户用的时候,大概每几分钟向云端发起一次请求。
我们在做一个车机应用的时候,可能需要每几秒与云端做一次数据同步,这个请求的数量级会高于原来手机的App。
一个能够承载几万辆甚至上百万辆车的云端后台,它的运营负载也是非常重的。
这些架构的变化也带来了汽车整个价值链体系的变化,体现在什么地方呢?
过去很多年里,我们非常在意的车的性能、操控感、节油等。那个时期,车上非常重要的价值创造者是发动机、变速箱这样的机械硬件。
现在随着智能化、网联化的引入,一辆具有稳定、高质量软件的汽车才能提供好的用户体验,所以软件正在变成车上越来越重要的价值创造者。
2、当前汽车行业软件写不好,是因为缺少完善的软件基础设施
今年关于整车软件的讨论越来越多,一些大型汽车集团在开发整车软件时也遇到了非常多的挑战。
我发现的第一个现象是:开发稳定高质量的车内软件,特别是车云一体的软件,似乎变成了车厂不可完成的任务。
为什么用一个「似乎」呢?
我的观点是其实只是(行业内)暂时还没有找到一个正确的方法。
第二个现象是,主机厂/大的整车集团正将软件能力放在非常重要的战略位置。
在这样一个背景下,我们在重新思考汽车里面的软件到底该怎样去写?汽车行业怎样快速建立软件能力?
互联网行业集中了中国最多的软件开发工程师。因此一提到软件,我们会首先想到互联网。
优秀的互联网工程师是如何写程序的?
我举三个例子:
第一个是基于Hadoop大数据的生态;第二是亚马逊AWS公有云的生态;第三是AI生态。互联网行业的人其实「特别懒」。我相信绝大多数互联网行业的软件工程师都会认同这样一个观点。
虽然大家都用的方式来工作,但因为需要写的代码量太大了,所以行业里有两个规则:
第一,从来不把每一行代码都交给别人写;第二,也从来不会从头写每一行代码。因为需要写的代码量太大,他们不得不只去写那些最重要的代码。
很多人认为汽车行业软件写得不够好,可能是因为这个行业中没有特别好的(足够多的)软件人才。
但从另外一个角度讲,更重要的是整个行业还没有积累起一套相对比较好的软件基础设施。
就像移动互联网早期,我们那时候有诺基亚、黑莓、HTC的手机,但是还没有出现像iOS或者安卓这样的软件基础设施。
所以,当时即便是人才济济的互联网行业和移动互联网领域,行业早期也有面临很多软件很难写的困境。
从历史看,软件开发从来都是站在巨人肩上的职业。
总结起来,一个行业中的软件水平通常不光取决于这个行业软件人才的储备,更取决于这个行业软件基础设施的完备程度。
3、三个案例:互联网工程师是怎样开发很牛的软件的?
在互联网行业,过去有一个非常热的领域叫做大数据工程师。
大数据领域的软件工程师是怎么工作的呢?
Hadoop分布式文件系统,是起源于谷歌做出来的一个公共平台的基础设施。
在上边有一个叫做YARN的ResourceManagenment或者叫做计算平台的工具,大家有了这个工具之后发现需要处理的数据除了批量的数据之外,还有需要在内存中去计算的数据,还会有一些流数据收发的工作,所以就产生了像Spark这样的非常常用的大数据分析平台。
在Hadoop生态里面,有大量的软件基础设施,供工程师使用。
如果没有这些基础设施,再牛的大数据工程师写出来的代码可能都没法工作,也没法完成数据分析。
所以我们可以看到大数据能够蓬勃发展,是建立在已经形成了很多大数据分析的辅助工具和软件基础设施之后。我们再基于已有的工具进行编程,整个效率就变得非常高,也带来了很大的商业价值。
第二个例子是亚马逊的公有云服务。
亚马逊最初是一家电商公司,电商是非常典型的互联网应用。
亚马逊在做电商的时候就慢慢体会到,有很多的实践经验其实是通用的:
比如怎么样管理很多服务器,怎么样管理数据中心,怎么样去做服务器的灾备和容错,以及怎么向上提供结构化的数据存储和非结构化的数据存储,怎么去做流量的管理,做很多网络连接的管理...
亚马逊把所有这些实践出来的,构建互联网后台服务中最有价值的东西变成了一系列的AWS,就是亚马逊WebService的基础服务。
这些基础服务有的是IaaS层的,有的是PaaS层的,有的还是SaaS层的。
我们现在做云端开发的时候,如果用亚马逊云,几乎不可避免要用到里面的一部分服务去构建后台服务。
很多时候大家会说云端的工程师水平很高,写的代码很牛,但如果这些工程师不能再用公有云的基础设施,他们的开发也会变得非常困难。
还有一个案例是近几年大家讨论比较多的AI深度学习。
深度学习算法或者各种深度学习的DNN、CNN或者RNN等等,开辟了一个新时代,使得原来很多机器学习做不到的事情,现在都实现了。
做机器学习的工程师都离不开一些非常重要的深度学习的工具,比如TensorFlow等等。离开了这些工具,深度学习的应用和算法都是不工作的。
上面三个例子就是说,在一个新的行业做软件,首先我们应该投入做软件基础设施。
其他的软件服务和应用,其实是基于软件基础设施进行开发的,这样开发和迭代的效率也会非常高,创新速度会更快。
从我们的角度来看,最愿意去投入的事情首先是去建设行业当中的软件基础设施。因为软件开发是一个需要不断站在前辈和巨人肩上的事业。
4、汽车软件的版图
当前的汽车软件,除了在各大域控制器上或者车载电脑上的软件,还会有大量软件是存在于云端。
比如要做到全车实时升级,就需要云端和车一起配合,去做车云一体的服务。
再比如想把人和车随时联在一起,就需要把手机和车之间去做一些联网的远程控制等等服务。
你可以认为云端是一个长在汽车外面的超级大电脑。
当我们要构建汽车软件的基础设施时,这个基础设施包括数字座舱中实现各种应用所需要的功能模块,也包括跟云端配合的一些功能模块。
以车内语音交互为例,首先需要一个唤醒模块。
当我说一个唤醒词,车机自然就会被唤醒起来。
在唤醒之后,需要理解具体的语音指令翻译成文字,所以这个地方就需要一个ASR(自动语音识别)的软件基础设施模块。
在ASR之后,需要理解这句话到底是要开音乐、导航还是要开空调、关车窗等等,那就需要一个语义理解的模块,就是NLU(自然语言理解)模块。
理解完之后,还需要触发服务,通过语音播报出来,这也是一个软件基础设施,就是TTS(文本转语音)的软件基础模块。
当这些软件基础设施都完备后,开发者就可以做非常多应用层面的设计,把多屏、多模等这样一些交互方式组合起来。
有了基础设施之后,开发者就不用关心怎样去建立车和云的通道,所有这些东西已经被软件基础设施所覆盖了。
5、主机厂应当聚焦于产品应用和服务软件,最终成为优秀的汽车软件开发者
当前整个汽车行业极度重视软件开发,甚至有些矫枉过正。
以往车上的软件用户体验不好,所以现在恨不得从底层硬件的板极支持到中间的原生操作系统进行重构,然后对上层所有软件模块和应用服务进行从头到尾的开发。
我们没有思考清楚在整个汽车软件行业当中,大家应该怎样进行角色分工,怎么样建立起中国乃至世界汽车工业的软件基础设施。
那么在汽车软件行业里,应该怎样去分工?
首先在我们看来,硬件和板级相关的领域,通常是方案商去完成硬件的定制化以及板级的开发。
在这个地方会存在一些原生操作系统,如果大家都在这个层面进行投入,其实就是重复造轮子,性价比是极低的。
因为不管是安卓、Linux、QNX还是其他优秀的操作系统,都会逐步进入开源状态。
开源之后,这些操作系统变得更加安全稳定,迭代速度更快。所以在这个地方,我觉得大胆去使用这些开源操作系统是非常合适的选择。
另一方面,汽车行业也需要像公有云、Hadoop这样一些工具,像TensorFlow等等这样一些机器学习的生态,这样的软件基础设施模块将来会是一个组合,可能会存在一些独立的第三方软件基础设施的公司,随着行业发展也会逐渐培养出一些开源的生态。
我觉得最终一些比较开放的主机厂,会逐渐意识到应该集中精力于开发自己的产品应用软件和服务软件上,最终他们会成为非常优秀的汽车软件开发者。就像现在最优秀的互联网软件开发者,其实非常专注在这样层面的软件开发。
软件在整车里面是一个零部件,软件里面又分了很多组件,怎么样去构建软件的基础设施是每一个国家汽车软件产业发展的重中之重。
基于这样的认识,镁佳科技非常重视做汽车软件基础设施的模块。
现在这个阶段,我们在与整车厂合作的时候,我们希望大家基于一些软件基础设施去开发数字座舱、联网网关、车载中心电脑、车联网云服务,包括汽车软件、云端业务系统等等一些软件和硬件的模块。
一定程度上,我们也在扮演Tier1的角色。
当然这个Tier1的角色不光是为用户提供零部件,而更多是希望通过和整车厂合作做一个零部件的过程,也帮助整车厂培育出所需要的应用软件和服务的开发能力。
我认为,好的主机厂最终会特别