BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Arquitetura Front End em um mundo de IA

Arquitetura Front End em um mundo de IA

Favoritos

No QCon New York 2019, o engenheiro de front-end Thijs Bernolet da Oqton discutiu desafios em criar arquiteturas front-end influenciadas por machine learning.

Como discutido no resumo da apresentação "Front End Architecture in a World of AI" de Bernolet's , os humanos não são mais os únicos clientes interagindo com nossos dados, máquinas e clientes de inteligência artificial estão começando a manipular dados, podendo criar sugestões ou influenciar o comportamento humano em tempo real. A palestra focou em gerenciar a complexidade de lidar com diferentes clientes não-humanos, e apresentar estratégias de como criar uma única interface utilizável por humanos e pela IA.

Olhando para o Eternal moonwalk, um fansite dedicado ao Michael Jackson criado por Bernolet e sua equipe em 2009, que apresenta uma montagem de vídeo contínua de fãs fazendo moonwalking, ele comentou que não foi nada fácil gerenciar, criar tags e editar os mais de 15.000 videos enviados em três dias em 2009. Mas nos dias atuais em um mundo de machine learning, existem muitas possibilidades e desafios.

De acordo com Bernolet, o primeiro desafio com machine learning influenciando a interface de usuário (UI), foi compartilhar o estado entre o código de UI e a lógica de machine learning, com a sobreposição de modelos de dados representando os usuários. Os fundamentos de uma lógica de interface de usuário sólida geralmente se baseiam nos princípios de baixo acoplamento e alta coesão. Agentes de machine learning tendem a impactar na infraestrutura, modelo de dados e lógica do negócio, quebrando os paradigmas fundamentais de UI.

Bernolet explica que o modelo tradicional de UI assim como o MVC degradou-se devido a introdução de fortes acoplamentos entre as camadas model e view. A equipe de Berlonet começou a investigar o Redux e a se perguntar se poderia ser usado por agentes de machine learning, com sequência de ações como ações de treinamento.

Bernolet demonstrou sua prova de conceito do Redux como interface de linha de comando, mostrando-se satisfeito com o ecossistema do Redux, com suporte a funcionalidades como desfazer e refazer, viagem no tempo, manipulação de efeitos colaterais, e o Redux devtools.

Bernolet passou por problemas em como gerenciar o estado distribuído com Redux, incluindo merge de estados e corrida de condições. Algumas explorações incluíram, transformações operacionais(operational transforms - OT), e dados replicados sem conflitos (Conflict-free replicated data - CFRD). A equipe começou a considerar que o gerenciamento desses desafios poderiam ser solucionados pelo aproveitamento do estilo de operações git rebase com OT no browser, o que resultou em uma prova de conceito de execução de operações git no browser.

Os destaques da conversa foram sobre os desafios de trabalhar com o Redux em sistemas com estado distribuído e as alternativas para Redux na tentativa de resolver problemas similares que poderiam incluir soluções baseadas em JSON patch, assim como @dojo/framework/stores e json-patch-ot.

A combinação do Redux e o cliente-side git com OT resolveu o problema de Bernolet e da equipe nos casos de uso para otimizar a construção de processos através da combinação de inputs de usuários e machine learning. Se essa abordagem existisse há 10 anos, poderia ter ajudado a simplificar o desenvolvimento do Eternal Moonwalk.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT