人工智能世界中的前端架构


在2019年纽约QCon大会上,Oqton的前端软件工程师Thijs Bernolet 解释了在创建受机器学习影响的前端架构方面的一些挑战 。
正如Bernolet在“ 人工智能世界中的前端架构 ”的演讲
回顾Eternal moonwalk,这是由Bernolet及其团队于2009年创建的迈克尔·杰克逊(Michael Jackson)爱好者网站,其粉丝连续蒙太奇视频剪辑,他指出,在2009年,无法轻松管理,标记和编辑15,000个视频的上传在三天内 。但是,在当今的机器学习世界中,存在许多可能性和挑战 。
【人工智能世界中的前端架构】Bernolet认为,机器学习影响用户界面的主要挑战是UI代码和机器学习逻辑之间的状态共享,以及代表用户的数据模型的重叠 。良好的用户界面逻辑的基础通常依赖于松散耦合和高凝聚力的原理 。机器学习代理倾向于影响基础架构,数据模型和业务逻辑,从而打破了UI的基础范式 。
Bernolet解释说,由于模型和视图层之间引入了紧密耦合,因此传统的UI模型(例如MVC)会降低 。他的团队开始研究Redux,并询问是否可以将Redux用于动作序列作为训练动作的机器学习代理 。
Bernolet展示了他关于Redux CLI的概念证明,并且感谢Redux生态系统对诸如撤消/重做,时间旅行,副作用处理和Redux devtools等功能的支持 。
Bernolet在使用Redux管理分布式状态时遇到了问题,包括合并状态和竞争条件 。探索包括操作转换(OT)和无冲突复制数据(CFRD)类型 。他们的团队开始考虑通过将git rebase样式操作与浏览器中的OT结合使用可以解决这些挑战,从而产生了git-js的概念证明 。
演讲重点介绍了在分布式状态系统中使用Redux所面临的一些挑战 。可以解决类似挑战的Redux替代方案可能包括基于JSON补丁的解决方案,例如@ dojo / framework / stores和json-patch-ot 。
Redux和客户端git与OT的结合解决了Bernolet及其团队通过结合用户和机器学习输入来优化制造过程的用例 。而且,如果这种方法早在十年前就已经存在,那么它可能会简化“永恒月行者”的发展 。

    推荐阅读