怎样理解前端智能化这一新浪潮?

发布于 2021-10-14 09:19

前端智能化真正在前端领域变得有影响力,也就是最近三年左右的事情。关于前端智能化的概念和定义,我们可能还是停留在 D2C 或是 P2C ,辅助一些 AI 的相关能力的解决方案上,比如我们熟知的 imgcook 自动生成代码平台等。

但是,作为技术人,我们又不得不问自己几个问题:前端智能化究竟在具体的使用场景中创造了什么价值?如何真正实现从产品设计到产品发布的全链路智能化?除了老生常谈的智能布局和组件识别等跟 UI 自动化相关的智能化方案,我们还能做些什么?前端智能化的前景究竟如何,最终会朝着什么样的终局前进呢?

我们也非常想知道这些问题的答案,于是特地采访了百度的资深研发工程师樊中恺老师,他曾先后负责百度浏览器、文库、阅读、手机百度 App 的前端技术架构工作,对于端智能、工程化、前端架构等方向有较为丰富的经验。

同时他也在 11 月份的深圳 GMTC 全球大前端技术大会作为「前端智能化」专题的出品人带队来分享前端智能化的技术和落地实践。因此我们针对前端智能化这个技术方向对樊中恺老师进行了一些采访,让我们一起来看看老师对前端智能化的思考吧。

InfoQ:你最近是在负责什么样的工作呢?

樊中恺:目前我在百度搜索前端从事技术架构工作,同时是 Paddle.js 项目的负责人。对于百度搜索,大家一定都有所耳闻,我所在的团队承担了手机百度 App、Wise 搜索、PC 搜索的前端开发工作,涉及基础前端开发、跨端融合、Node 服务、端智能和前端智能化等领域。

InfoQ:现在提起前端智能化,大家的脑海中都是 D2C、P2C 这些…… 你自己也做相关部分的工作,那你理解的前端智能化具体指的是什么呢?

樊中恺:前端智能化,顾名思义,“前端 + 智能”为两要素。

前端的分工决定了我们解决的问题是从设计和产品文档出发,最终交付的也是直接给用户的功能性产品。十几年前,一些主要工作是页面重构的工程师总以“切图仔”和“页面仔”自嘲,时过境迁,前端领域要解决的一大部分问题还跟设计到代码的转化路径相关。这也就是为什么大家提及前端智能化,脑海中都是 D2C、P2C 这样的名词。再加上从 2015、2016 年诸如淘宝开启的“达芬奇”(imgcook 前身)项目等相关产品逐渐为人所熟知,这种联想就变得更加根深蒂固。

当然,前端智能化远远不止 D2C、P2C。我们把整个流程按照 P(PRD)——D(Design)——C(Code)——R(Release)划分,会发现,几乎每个环节都有成熟的和其他某个环节相连接的解决方案——甚至还可以是自循环的,比如我们可以通过工具把一种设计语言(D)转化为另一种设计语言(D)。

P-D-C-R,它们可以任意组合或者自迭代

除此之外,近些年出现的代码分析工具 DeepCode,基于 GPT-3 的代码生成工具 Copilot,还有野心非常大的从自然语言到代码生产的 NL2Code 方向,都扩展了我们对于前端智能化的认知。

InfoQ:你在前端智能化这部分的日常工作中,有遇到过什么困难吗?可以具体分享一下吗?

樊中恺:哈哈,要说困难,那一定是“设计和产品不断迭代的需求”和“智能化开发效率”之间的矛盾啦!没错,一个旨在提高研发效率的方向,在具体落地的过程中也受制于自身的迭代效率。

举个例子,虽然,我们内部背靠 PaddlePaddle 提供了丰富的组件识别和组件转化能力,但同时,我们也受到了组件丰富程度、组件更新频率的影响。

在这样的背景下,我们需要提升模型迭代的效率,这里涉及到两个困难:

  • 一是如何让设计和产品能够方便地反馈问题——毕竟术业有专攻,我们不能指望队友既当爹又当妈

  • 二是组件升级迭代带来的不确定性——如何丰富样本增强样本,如何快速覆盖新增组件,都成了亟待解决的问题

办法总比困难多,针对这两方面,我们提出了人性化的循环训练迭代方案,让“人工”真正成为了“智能”的一环,与此同时,我们不断优化相关算法并研发数据增强方案,借力打力,用极少的人力撬动了整个研发效率的提升。

InfoQ:你认为前端智能化现在的落地阶段是什么样的呢?落地的难点又是什么呢?

樊中恺:我认为,前端智能化目前在衔接设计和领域语言方面已经做了非常多的工作,纵观各个公司的产品,也都在这个方向有了明确的产出。包括但不限于:组件编辑工具、DSL 转化方案、识别模型的优化、具体的视觉算法……毕竟前端工程师更善于解决模板和规范数据相关的问题,而恰好这方面是耗费人力最多的方向。

虽然前端智能化看起来很美好,但实际上落地非常困难,主要来自于以下三个方面。

  • 场景限制
    目前来看,像 D2R 这样的设计平台和工具,在电商、运营等领域带来的提升会很大,可枚举模式的构图和组件化方案,会让工具应用带来的边际收益十分可观。而对于其他方向的视觉代码转化相关的智能化场景覆盖,还面临着更大的技术挑战。
  • 认知
    前端智能化其实做的是「熵减」的事情,是要从无序中提炼有序,是天然跟业务的粗放增长对立的。前端智能化并不是用人工智能为不规范的设计开发方式兜底(当然这是技术精进的目标之一),而是让大家在有限的自由中戴着镣铐跳舞。所以,前端智能化的落地必然会带来阵痛,其对业务的辅助效果也是一个开口向上的二次曲线。
  • 协同
    智能化是面向流水线的,而一切跟流程优化相关的技术方向要想看到明显效果则需要规模化,需要不同团队之间相互配合。且不谈对外输出,单是让公司内部众多产品线试用并落地,都是一个不小的挑战。这方面比较依赖中高层技术管理者的决心,在实施初期,也需要足够的人力让技术投入和效果形成正向反馈。

InfoQ:你觉得现在很火的 D2C、P2C 等技术在实际应用场景中的价值是什么呢?

樊中恺:这个问题比上一个问题要好回答很多。

如果只用一句话来回答,那当然是:解放生产力

如果用三句话来回答,那就是:

  • 辅助设计人员产出规范的设计稿,在茫茫多的设计规范中快速上手

  • 减少开发人员的研发工作量,避免重复工作并降低出错概率

  • 帮助产品和运营人员快速落地想法,甚至能直接预览设计修改所关联的最终效果

InfoQ:前端智能化除了代码层面的技术改变,你认为还能玩出什么新花样呢?

樊中恺:随着“前端”这个概念对传统领域的不断入侵,包括 BFF、Serverless 以及移动端 AI 的蓬勃发展,前端智能化所能解决的问题范围也会不断扩张。

爱因斯坦说过:一个问题不可能从导致它出现的层面来解决。

我们不得不承认,我们需要用高维打低维的方式来推进前端智能化的进化,在这个过程中,我认为有如下几个方向亟待探索和深入研究。

  • 全链路、全流程
    理想的前端智能化应该是从需求理解到需求实现的全过程的,从需求描述到最后的功能实现,真正做到“PM 张一张嘴,DEMO 就出现”。当然,这里的挑战一定不小,毕竟需求描述是几无规则的自然语言,但是就像现在爆火的“在线试妆”里的“妆容迁移”一样,我们可以以竞品或者已经存在的产品功能为范本,描述我们需要构建的功能。
  • 代码本身
    不论是 D2C 还是 P2C,我们能够产生“可用”的代码,但是却不能保证产生「足够好用」的代码。对于代码本身的优化,不论是总体设计,代码审计还是具体的 bug 发现和性能优化方案产出……都是需要我们精耕细琢的。当然,这一切都离不开程序员自身对优秀代码的追求,丰富的代码库、conventional commit 的普及、标准的 CR 规范,这些都能加快这一方向的革新速度。
  • 端云协同
    未来的智能化不止代码生成和代码优化,可以向云端进行进一步渗透,包括具体的代码部署、加密方案和云控配置等等。

InfoQ:你觉得之后会出现什么技术,可以把前端智能化这个概念,或是代表的一系列产品或是技术颠覆掉呢?

樊中恺:我喜欢这样带着“科幻色彩”的问题。

不知道大家有没有看过《银翼杀手》,这部电影假想的未来世界里人类和克隆人之间的界限划分的非常明确。克隆人从刚一制造出来就被灌输了服务于人类的思想,并且绝对不被允许产生人类的感情。

银翼杀手中,被「阉割」了人性的克隆人成为了绝佳的生产工具

听起来可能不靠谱,未来如果真的能出现什么技术能颠覆前端这个充满创造力的技术领域,那一定是像《银翼杀手》中这样,创造出真正类人的智能体。它可能不具备人的形象,但是一定具备人的思考方式,我们可以审慎地为其赋予特定的性格色彩,让它创造出满足产品需求的无瑕疵的产品。

届时,我愿意称之为“完全智能前端”。

InfoQ:你在即将到来的 GMTC 大会上想带给参会者哪些新的思路呢?你又希望参会者会在哪些方面有深度思考呢?

樊中恺:本次的 GMTC 会从两方面呈现给大家前端智能化的最新进展。

一方面是会给大家展现不同公司在前端智能化方向的具体进展,会分别有所侧重,比如开发平台(IDE)、视觉算法和 AI 模型等;另一方面,是想让与会者可以了解涉及上文中提到的 P——D——C——R 各环节的全链路方案,从而形成对前端智能化更为全面的认知。

而有缘参加此方向分享的与会者,我希望大家能一起来分享自己的公司和团队在前端智能化方向的实践和思考——哪怕只有一点点——因为任何技术的发展都要经历碎片化到统一化的过渡。此外,还希望大家在参会前能问自己两个问题:“你理想中的前端智能化究竟是什么样的?”以及“前端智能化将会给前端从业人员带来什么样的机遇和挑战?”

当真正的智能化开发时代到来,当我们从冗余繁复的工作中解脱出来,我们该把空闲的智力资源投入到什么地方?

这是我没想明白的问题,所以真诚希望能凭借这次大会从你们身上找到答案。


活动推荐

前端智能化逐渐普及的过程中,越来越多的技术人不由地焦虑起来:技术不断智能化的今天,我们该如何瞄准方向,提升能力来应对呢?将于 11 月 19-20 日举办的 GMTC 全球大前端技术大会(深圳站)2021,我们就会为你答疑解惑,同时带来前端智能化的最佳实践。

如果你想了解前端智能化未来的发展方向、想知道大厂在这方面的落地实践过程,欢迎 11 月 19-20 日在深圳的 GMTC 大会上,一起来交流切磋吧!

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材