10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

vivo 猛练操作系统“内功”,用 Rust 完成全栈自研

  • 2024-10-11
    北京
  • 本文字数:4304 字

    阅读完需:约 14 分钟

大小:2.10M时长:12:15
vivo 猛练操作系统“内功”,用 Rust 完成全栈自研

九月,Sam Altman 发布长文称,超级智能将在数千天内实现,而每个人都将有一个属于自己的 AI 团队。


这一判断呈现出几个关键信息:当下的 AI 能力仍然不是最终形态,但支撑未来 AI 的“内功”,要在未来几年内练好,以迎接超级智能落地。而这套“内功”需要在交互层面做出革新,因为届时将有数个 AI Agent 接入,形式不同于传统的人机交互。


考虑到生成式 AI 的快速发展,安全性也须多加注意,用 Sam Altman 的话说,是“最小化其危害”。

这一判断,实际上与 vivo 最近一年多在操作系统层面的动作不谋而合——vivo 关注“内功层面”的修炼很久了。蓝河内核及蓝河操作系统 2 的发布,在内存安全、智慧交互等方面做足了文章。



安全这事儿,没啥捷径


对于 2024 VDC 的发布而言,用 Rust 语言完成蓝河内核自研,最为吸引眼球。C/C++ 在内存安全方面的设计,长期以来饱受诟病,而近几年与之相关的安全事件频发,实在是有些骇人。


7 月,CrowdStrike 作为全球最负盛名的安全公司之一,却引发了一场全球性的安全事故——未通过基本 DevOps 流程的代码,被人为地进行全量发布。


此前的 WannaCry、NotPetya 等事件,都是以内存为攻击对象。因为 C 语言不支持原生垃圾回收机制,所以尽管经过了多年的锤炼,还是留下了很多隐患。


反观 Rust,在堆栈保护上更加完善,且不支持操作原始指针,从根儿上绝了许多网络攻击的路。

但是否要因此用 Rust 编写完整的操作系统内核呢?对于 vivo 来说,是的。



一方面,手机厂商自研操作系统,几乎成为大势所趋,使用 Rust 来自研,并没有战略上的分歧,只是具体的技术路线抉择。蓝河操作系统完成全栈自研,几乎是一个信号——没有自研操作系统,也就无法围绕 AI 深度定制智能体验,等于放弃了去往 AI 时代的“船票”。


另一方面,vivo 几乎是最看重 Rust 语言的手机厂商。2023 年年底,vivo 就在开发者大会上官宣成为行业首家用 Rust 编写系统框架的企业,但还没有发布自研操作系统内核。因此在实际的代码中,少不了带着“unsafe”关键字的 Rust 函数(unsafe:绕过 Rust 安全机制禁止的操作)。某种程度上,这更像个研发进度问题——继续使用 Rust 完成内核自研,几乎是必然的。


此外,Rust 在技术社区内,几乎是默认的 C/C++ 上位替代语言。据 InfoQ 此前报道,软件工程师 Alex Gaynor 在社区内强调,“数据已经一再证明,当项目使用内存不安全语言(例如 C 和 C++)时,就会受到大量安全漏洞的困扰。”


而微软 Azure 首席技术官 Mark Russinovich 则直接呼吁开发人员弃用 C 和 C++,转投 Rust 的怀抱。

总结下来,用 Rust 编写底层代码,是在规避现有内核天然的安全隐患时,最为彻底且有效的方式。尽管考虑到资源投入,这事看起来不太轻松。


如果单纯的是开发成本受限,拥抱 Rust 这事儿还没那么难以接受。最让 CTO 们叹气的是,Rust 的人才缺口太大了。


Rust 是新晋的热门语言,本身生态还处于发展早期。此外,Rust 以学习难度高而著称,比如其“享誉”开发者圈的“所有权系统”。望而却步的程序员太多,社区的整体活跃度就较低,参考资料也少,对新人更加不友好。受此影响,一份来自 Rust 中文社区的职位调查报告显示,海外 Rust 招聘,以高级、中级岗位为主,面向初级岗位的招聘相当少见。


vivo 的策略是,重点投入开源。


VDC 发布会上,vivo 副总裁周围正式宣布,vivo 将对基于 Rust 语言编写的蓝河实时内核进行开源。这意味着国内开发者社区,自此多了一个可参考性更强、更完整的 Rust 项目,是难得学习机会。


vivo 和开放原子开源基金会的合作也很深入,尤其是在赛事上的合作——vivo 自 2023 年起,已经连续两届参加开放原子大赛。


开放原子大赛是由开放原子开源基金会组织举办的开源技术领域专业赛事,2024 年的第二届开放原子大赛,在 2024 开放原子开源生态大会上,由工业和信息化部总经济师、办公厅主任高东升,中国工程院院士倪光南,开放原子开源基金会理事长程晓明,中国石油股份有限公司副总地质师兼勘探开发研究院党委书记李国欣,重庆市经济和信息化委员会党组成员、副主任吴涛,中国科学院软件研究所副所长武延军,以及来自 vivo、华为、腾讯、浪潮、软通动力等共建方代表,共同揭幕。


第二届开放原子大赛特别设置了奖金最高、难度最大的巅峰挑战赛,仅包含两道赛题,而其中之一就是 vivo 发起的《vivo 蓝河操作系统创新赛-C/C++与 Rust 生态互通工具自动化解决方案》,奖金池高达一百万元。同时,vivo 还在 2024 VDC 大会上宣布了将携手开放原子开源基金会,致力于把蓝河操作系统创新赛打造成为行业内最具含金量和影响力的 Rust 顶尖赛事(感兴趣的开发者可在文末了解)。



交互能力,是个重点


vivo 内功的第二个“修炼重点”,在于智慧交互。


自生成式 AI 爆发,将近两年时间件过去了,像 perplexity 般的应用仍然很稀有,且和现有的智能硬件融合困难,基本谈不上有什么化学反应。


其中一个根本在于,生成式 AI 的能力目前仅在 Web 或 App 端有所体现,极少得到系统级的集成。因此受限于交互形式,没有对产品体验做出根本性变化。


当下市场的大部分产品,尚处于与 AI 智能体交互的早期阶段,需要根据不同的应用场景,唤起不同的终端应用。vivo 在交互上的理念是,保证 AI 的启动享有最高优先级,能够全界面一步调起智能体助手,使之享有全域零层级。在输入实现多层级输入方式,在最终的反馈上,给与用户清晰的所见即所得。


为此,vivo 十分关注基于蓝河操作系统提供服务时,大模型的推理的连续性,也就是所谓模型的记忆力。vivo 在蓝河操作系统中,为此构建了一个独立进程的数据管理服务,集中管理用户各类数据,为感知服务和搜索功能提供数据来源。


这也意味着蓝河操作系统 2 实现了所谓的“全域智能”。



全域智能是个大话题,最早起源于物联网领域,核心是全场景、全平台的实时智能连接。而放到移动设备上,尤其是手机、手表、pad 等设备,还要对 AI 的主动调起和被动调起做区分。


智能终端设备,长期以来,一直向“个人助理”的角色靠拢,比如手机是通信和资讯助理,手环是个人健康助理。但这种靠拢的价值十分有限——人的需求很多时候是藏在水面下的。传统设备没有认知智能,所以无法先用户一步,发现其需求,全部的体验都依赖用户的主动调起,几乎不存在被动调起。


真正意义上的被动调起,在生成式 AI 崛起后成为可能,按时下流行的说法,叫做“意图框架”。“意图框架”的设计目标是先用户一步,发现需求,调起 AI 和一些快应用,服务用户的便捷生活。


可以看出,vivo 的意图框架,关键在于数据输入和多端协同。


蓝河操作系统支持的数据输入是多模态的,包含常见的文字、语音、图片。以及移动设备独有的拖曳、长按等物理操作。输入入口则把智能助手、负一屏、搜索、桌面等模块都包括在内,基本适配了 vivo 目前旗下终端设备的全部场景。


应该说,这套方案未来的想象空间很大,如果能横跨各厂商形成统一的行业标准,可能会井喷式的爆发“Killer APP”。


至于 vivo 自己,则是在手表这一产品上,做了大胆的尝试。


vivo 造手表,核心是 AI


前面无论是安全问题,还是连接问题,回归到本源,实际都是为未来的交互变革做好铺垫。


而率先在手表上发力,多少有些“秀肌肉”的成分在里面。


首先手表的算力弱于手机,对蓝河大模型的预训练质量、模型蒸馏情况,都提出了比较高的要求;此外手表覆盖的场景其实更加丰富,除了日常 APP 的使用,还需要考虑各类运动场景。



本次 vivo 推出了首款搭载蓝河操作系统的手表 vivo WATCH 3 ,在此基础上又推出全新 vivo WATCH GT 系列手表。主打功能就是蓝心小 V 语音助手,以及与 AIGC 相关的各类便携式功能。


蓝心小 V 语音助手可以提供个性化的垂类问答、本地技能、健康百科知识以及智能教练的问答能力。其目的是让用户可以随时随地获取健康方面的知识,也可以对自身的健康数据进行查询和获得更有针对性的健康建议,让智能手表不仅局限于时间和通讯,也兼备了健康管理功能。


在健康管理方面,vivo WATCH 3 集成的 AI 运动教练与手机内集成的版本是联通的,给用户提供私教式的使用体验。它可以监测用户的运动状态,并进行运动计划的个性化定制和指导,使得用户能够更科学、更有效地进行健身锻炼。


AI 运动教练能够为用户量身定制专业的运动计划,根据用户个人的身体情况和健身目标,提供相应的运动课程,并允许用户根据需要创建、调整、查询或退出运动计划。


在运动中,AI 运动教练可以感知用户的身体情况,向用户提供实时的语音指导,并播报专业的运动建议,帮助用户更好地进行运动锻炼。同时,AI 运动教练还可以进行动作要点的讲解,使用户能够更深入地理解如何正确进行运动动作。


如果 AI 运动教练和手表的硬件功能结合度够好,对于几年前流行的健身魔镜类产品,甚至会成为“降维打击”。


至于 AIGC 类的功能,主要是 AI 表盘编辑、AI 速记等。比如用户对说蓝心小 V 说,生成长城表盘,蓝心小 V 就会直接跳转到 AI 表盘工坊,并进行生成。


生成后的 AI 表盘支持编辑能力,保留支持布局调整,更换表盘颜色,增加部件等选项。


而 AI 速记,对于文字类工作者,或经常参加会议的同学而言非常友好。记录后的内容,会自动同步到 OriginOS 的原子笔记中,进行 AI 处理,如润色,简化,总结,或者生成格式化的文案。


头部厂商的历史任务,是生态


无论是内存安全、智慧交互,还是在智能手表上的实践,都意味着 vivo 的护城河之一是落在生态上。英伟达过去 20 余年的成功,给了国内企业太多的启发。


这里的生态,不仅包括以蓝河为基础的国产操作系统开发生态,也包括企业间合作。



对于前者,蓝河操作系统开放了 12 大模块的系统能力,并以两套 API 开放给开发者。此外还提供了蓝河开发套件,包含蓝河 Studio、设计师工具、蓝河 SDK、开发者网站等开发工具。这其中也包含开放智能体平台——让人人可自定义专属智能体应用,系统分发将三方应用、三方服务、快应用和智能体连接在一起,实现服务快速分发和流量变现。尤其是对个人开发者来说,这是个重大利好。


至于后者,蓝河操作系统开放了 Native 开发框架,并从 0 到 1 搭建了基于 canvas 的渲染引擎,实现地图瓦片渲染能力。同时提供了完整的底层系统能力接口,和百度地图一起接入 Native 开发框架,在手表端升级了在线地图导航能力。


在汽车出行方向,蓝河操作系统和多家车企达成合作,包括零跑汽车、比亚迪汽车、宝马汽车、特斯拉汽车等车企都已接入蓝河生态。车企可以基于蓝河操作系统开放的 BlueXlink 互联技术的支持,构建智能控车方案,包含 NFC 控车、蓝牙控车、云控车等方案,更适应未来的购车需求。


随着时间的推移,类似的合作只会越来越多,从前国产操作系统在办公软件、设备驱动等兼容性方面的尴尬,已经成为历史。


对于国内的开发者而言,我们只需耐心等待头部厂商的生态圈,开花结果。



2024-10-11 18:2410651

评论

发布
暂无评论
发现更多内容

真香!肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer

收到请回复

Java 面试 大厂Offer 20+大厂面经

为何实现碳中和已刻不容缓?

CECBC

汽车的新能源之变,不仅在一块电池

脑极体

阿里内部教程:千页Redis源码笔记,涨薪必备

Java 程序员 架构 面试 后端

限时开源!阿里内部爆款的顶配版Spring Security笔记

Java spring 编程 架构 面试

阿里P8高级架构师开发高并发系统经验总结

Java 程序员 架构 面试 后端

Go 中 Nil 理论上有类型,实践中无类型

baiyutang

golang 10月月更

秋招如何抱佛脚?2021最新大厂Java面试真题合集(附权威答案)

Java 编程 程序员 架构 IT

Linux渗透:曲折渗透之路

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

区块链与智能革命的未来

CECBC

链路层的封装成帧和透明传输基本问题

Regan Yue

计算机网络 10月月更

CSS架构之Acss层

Augus

CSS 10月月更

吹爆!阿里高工携18位架构师耗时57天整合的1658页面试总结太香了

Java 编程 程序员 架构 面试

Mock Service Worker:可用于浏览器的Mock服务

devpoint

Vue Mock msw 10月月更

Prometheus 基本查询(二)时序数据的瞬时向量

耳东@Erdong

Prometheus 10月月更

绿色电力交易是一场迫在眉睫,区块链记录每一笔绿色电力交易

CECBC

真香!肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer

Java 编程 程序员 IT 计算机

百度智能云布局粤港澳大湾区,打造AI+工业互联网新高地

百度大脑

人工智能 百度

ThreadPoolExecutor学习笔记

风翱

ThreadPoolExecutor 10月月更

架构实战营 - 模块五作业

Alex.Wu

30天肝出来的Java面试手册!登顶Github标星288k

Java 程序员 架构 面试 后端

“他”靠这份GitHub star过万的1121页图解算法成功杀进字节跳动

Java 编程 程序员 IT 计算机

Java通过socket和DTU,RTU连接工业传感器通信

叫练

socket Modbus协议 java DTU RTU

太厉害了,阿里大佬用一篇神文把《数据结构与算法》讲的明明白白

程序员小呆

Java 程序员 架构师

SpringBoot 实战:JUnit5+MockMvc+Mockito 做好单元测试

看山

Java Spring Boot Effective Spring 10月月更

【Android构建新工具】Bazel构建工具介绍

轻口味

android 构建工具 10月月更

linux之sudo使用技巧汇总

入门小站

Linux

好家伙!华为内部Java系统优化笔记一夜之间跃居Github热榜第二

Java 架构 IT 计算机 知识分享

生命中不重要的九件事情

石云升

10月月更

同事跳槽阿里,临走甩给一份上千页的Linux源码笔记,真香

Java 程序员 架构 面试 后端

Leetcode 题目解析:287. 寻找重复数

程序员架构进阶

算法 LeetCode 10月月更

vivo 猛练操作系统“内功”,用 Rust 完成全栈自研_操作系统_王一鹏_InfoQ精选文章