美文网首页我是程序员程序员阿里云
小小树叶,藏着哪些技术之道?你一定没想到

小小树叶,藏着哪些技术之道?你一定没想到

作者: 阿里云云栖号 | 来源:发表于2018-10-26 16:44 被阅读145次

    树叶的故事

    宋国有一个人为国君用玉雕刻楮树叶,花了三年时间才完成。树叶无论是轮廓还是纹理光泽都惟妙惟肖,扔在真的树叶中也完全分辨不出来。这个人就因为这个手艺而在宋国得到一份俸禄。列子听到了,就说:如果天地长养万物,要三年才能生成一片叶子的话,那天下有叶子的东西就很少了。所以明智的人依赖道来化育万物,而不依仗智力和工巧。

    注:宋人有为其君以玉为楮叶者,三年而成。锋杀茎柯,毫芒繁泽,乱之楮叶中而不可别也。此人遂以巧食宋国。子列子闻之,曰:“使天地之生物,三年而成一叶,则物之有叶者寡矣。故圣人恃道化而不恃智巧。”——列子 · 说符

    这是一个很有意思的故事。每年春生夏长,天地间长出无数树叶来。相对于那个工匠,其效率岂可以千倍万倍计算。如此看来,天地一定掌握了我们所不知道的秘密,所以才能呈现出这么一个花繁叶茂的世界。列子称这个秘密为道。但是这个道到底是什么呢?

    首先的猜测,生长树叶的这个道一定是非常简单的。因为唯有如此,一棵树上才能同时长出千万片叶子。到底有多简单呢?我们还不知道大自然的树叶生长之道,不过我想可以用一个近似的东西来类比一下。

    下面的图形是在混沌理论中著名的曼德布洛特集合分形图形。这个图形总体的轮廓看起来像一片葫芦形的叶子,上面还长着许多小的葫芦,结构并不复杂。但是如果不断深入细节,就发现它实际上具有非常丰富的结构。在某些局部我们可以发现类似树叶的经络的结构。在深入细节的过程中,我们还会不时发现小葫芦的形状,类似于最大的葫芦,而又不全相同,具有自相似性。最后的动画可以让我们一睹奥妙。

    如果要画家来画如此精细而变幻无穷的图片将是一件非常费时费力的工作。但是数学家们却为如此丰富的结构和图案,找到了一个复二次多项式来表示:

    其中c是一个复参数。对于每一个c,从开始对fc(z)进行迭代。序列的值或者延伸到无限大,或者只停留在有限半径的圆盘内。曼德布洛特集合就是使以上序列不延伸至无限大的所有c点的集合。如果要用计算机来进行最简单的迭代计算,代码应该在10行左右,从原理上讲是非常简单了。

    从信息论的角度讲,简单的公式中蕴含图像的所有细节。不过要在计算机上产生如上非常精确的图像细节是一个非常耗费时间的计算过程。要判断每一个点最后是否能收敛所需要的迭代次数是不确定的。因为著名的蝴蝶效应,相邻两点间的计算结果是没有办法进行借用的,因为小小的初始差异就可能导致结果非常大的差距。要画出图形的轮廓可以很快,但是要求的图像越精细,则迭代次数要越高。以前就看到有高性能计算团队就用这个图像产生的过程来演示并行计算框架的加速效果。

    类比两个例子,我们可以猜测树叶的生长也是基于某一个规则。并且从某种意义上讲,树叶的生长也是一个计算的过程。每一片树叶就是一台计算机。这台计算机要经历一个春天把树叶画了出来,但是能耗低。如果你仔细观察周围,你会发现很多动植物身上和自然界的现象都具有类似的分形结构。自然界在无比丰富的表象后面控制的规律实际非常简单,实现了简单和丰富的完美统一。大道至简,信哉斯言!

    树叶的生长,对于我们的工作,特别是产品的设计和开发,有哪些启示呢?下面是一些不成熟的想法的总结。

    启示和思考

    产品的研发过程,实际上也就是产品的不断生长的过程。每个产品基本都会经过多个版本的迭代,功能不断完善,场景不断丰富。这个和生物的生产过程有很多类似的地方。要设计开发一个产品是每个人都觉得具有挑战性的工作。我们是像那个工匠一样花三年时间来精雕细琢一片树叶呢?还是像天地四时一样顺乎自然地长出一个产品出来?

    采用工匠的思路来工作,可能也可以开发出产品,但是故事中的工匠无论如何努力只能做到形似,而不能神似,因为他雕刻的叶子是没有生命的。一个好的产品并不是一堆功能的堆砌。自然生长出来的产品才会具有生命力和活力。所以,我们需要脱离工匠的思路,回来找到那个道来,能够像自然界一样长出一个产品来。

    泛泛的谈论道是一个很虚的东西。不过如果具体到某一个具体的领域,则每一个事物都有一个事物产生和发展的道,或者称为规则,是支配事物发生发展的根本。这个根本在不同情况下有不同的名字。生物学称之为基因,在几何学称为公理,物理学上称为定律。埃隆** · **马斯克推崇为第一性原理。第一原理的思考方式,就是不断深入挖掘,直到你找到了最根本的真相[1]。

    亚里士多德最早提出了第一原理,定义为每个系统中存在的一个最基本的命题,它不能被违背或删除。这个定义还是比较抽象。几何学的公理体系可以用来类比理解第一性原理。欧式几何的基本就是五条公理。这五条公理缺一不可。所有的定理都是基于这五条公理推理出来的。要知道一个假设是否正确,就需要从公理和已证明的定理出发,通过证明过程来判断假设是否成立。就是基于这五条公理,欧几里得构建了一个严密的几何学大厦,成为后人敬仰的典范。

    我们产品开发就是解决某一个方面的问题。我们所开发的产品和系统,实际上也类似一座大厦。要让这座大厦能够屹立不倒,并且能够不断丰富和发展,也需要我们回到根本,利用科学的精神和工程化的态度,为产品的设计和开发树立牢固的根基。沙滩上建摩天大楼,终究会坍塌的。第一性原理对于产品的研发具有重要的意义。

    产品的根本原理当然不能找到一个二次多项式来表示,但是也应该不会太复杂。例如欧式几何的公理只有五条。一般的产品的基本原理也该也在这个范围内。现在的关键是如何回到根本,发现这些基本的原理。这需要一个比较艰苦的摸索的过程,也是最具有创新意义的工作。

    产品的演化过程,就是一个对于第一原理不断提炼和升华的过程。一方面是因为我们难以一次就真正达到根本,随着认识加深了我们要不断提炼。正如近代历史上从经典牛顿力学到相对论到量子力学的发展过程一样。另外也是因为外部条件和环境有了变化,我们需要对已有的假设进行修正。

    产品的基本模型,应该包括如下部分:

    • 基本概念
    • 外部市场环境的分析=>核心假设=>基本设计理念=>核心模型

    基本概念和假设的提取往往是最关键的。

    简单的威力

    第一原理的威力,来自于其简单。以简驭繁,虽繁不乱。产品设计需要头脑风暴进行发散性思维,但更需要严谨的推理。以根本的原理作为基础来进行推理,才有可能为产品设计打下基础,不会导致挂一漏万,并且也更加有法可循,不是完全随机的思维。基于第一原理进行顶层设计,产品间的协作也可以更加清晰有条理。

    任何一个产品都是多个岗位、多个个人交互合作的结果。分工合作是产品开发的常态,在现代技术背景下也是必须的。但是如何让一个团队能够避免只见树木不见森林,一个产品的基本设计思路和原理的不断完善和提炼也是凝聚团队向心力的最有效的手段之一。

    用户觉得产品不好用,往往不是因为一个界面的得失,颜色的美丑,而是因为产品是否能够帮助用户建立一个协调一致的心智模型(Mental Model)。第一原理有利于让我们保持系统的一致性。有了基本原理,就可以判断某个新功能是否重要,优先级是否高。否则系统就是功能的堆砌,系统的可扩展性和一致性都无法得到保证,组件间的相互交互产生的效果就是无法预测的。

    我们开发产品,是为了为用户提供价值,最重要的是能够给用户提供新的理念和思路。我们要倾听用户的需求,但不是简单地支持它,而是需要归纳到根本的原理上去,通过产品内部模型的完善和丰富以及知识的积累,积累对用户的价值。基于根本的原理,提取产品理念,给用户讲故事,用新的思路和方法来改造用户,提供系统的解决方案,打动客户,才是最有效的营销之道。

    产品不断演化的过程,也是产品创新的过程。第一原理有助于我们面对快速变化的市场,实现创新。同一个产品,随着市场情况的变化,对于其基本的假设需要不断回过头来进行审查,看是否仍然成立,是否需要修改。如果仅从表面的功能出发,无法实现有意义的创新。创新需要对问题域的深度理解和认知。需要我们跳出原有的认知局限,从全新的维度去思考,寻找新的商业机会。敢于挑战自己的成见,善于打破自己定下的规则,从这里才能够做出顺应潮流的变化。以系统重构为例,电商平台的演化历程就非常清晰地说明了这一点。每一代电商平台都是因为新的技术条件和新的业务需求的双重变化之下,打破原有的架构而开发出新的平台。

    世上没有两片相同的树叶。因为控制树叶生长的机理虽然相同,但是因为树叶长的位置、时间、气候各不相同,所以叶子形状只是相似,而不完全相同。自然界同时兼顾了简单性和灵活性。如同树叶一样,每一个客户也都是独特的。回到根本,我们才拥有如大自然般的灵活性,以共性为基础提供定制化能力,实现千人千面的效果。

    总结起来,对产品的深层原理挖掘,应该有助于达到如下几个目的:

    • 凝聚团队内部的意志,明确方向。方便协作,做好顶层设计。
    • 给用户明确的心智模型(Mental-Model),有助于建立良好的用户体验。
    • 明确给客户传输的先进的理念,方便营销。
    • 明确演化的路径和思路,对于历史和未来都有理有据。
    • 足够的抽象,保持系统的灵活性,千人千面,优化不同客户体验。

    小结

    这里写的只是一点不成熟的体会,没有来得及结合实际的产品设计展开说明,许多观点还有待讨论,如何落实也是一个值得思考的问题。之所以还是写出来,是因为参加产品讨论会,经常看着琳琅满目的产品大图和功能列表,却无法对于产品的设计思路和发展阶段有一个清晰的判断,因为这些都是表面的东西。对于产品更重要的是系统性深入的思考。论语上说:君子务本,本立而道生。

    抓住了产品的第一原理,我们才可以不迷失在复杂的功能中。我们面对的问题是复杂的多样的。需要我们用科学的精神和方法,研究实际的工程问题。科学的进步标志是发现新的定律。产品进化的标志也应该是对问题域认识的深度和广度。不忘初心,方得始终。时时回到事物的根本,我们才能看得更清楚,走得更远。


    本文作者:燕标
    阅读原文
    本文为云栖社区原创内容,未经允许不得转载。

    相关文章

      网友评论

      本文标题:小小树叶,藏着哪些技术之道?你一定没想到

      本文链接:https://www.haomeiwen.com/subject/ommktqtx.html