Para saber quando utilizar a arquitetura baseada em eventos (EDA), entenda os conceitos importantes que a envolvem, como comunicação sincrona e assíncrona, DDD, mensageria e muito mais 

Você se lembra como eram os sites e softwares ali pelo ano de 1998?

 

Não sei se você é uma pessoa saudosista, mas eu lembro e não tenho saudade alguma dessa época! As telas dos sistemas tinham texto em cima de texto, cores aberrantes aplicadas juntas na tela, poucas imagens, mas muitas animações, letras pequenas, botões menores, uma bagunça na hierarquia de informação. Não havia muita noção de experiência de usuário, as heurísticas de design de interface e de fluxos estavam sendo construídas, e webdesign era mais um termo que hoje se relaciona com desenvolvimento front-end do que com design em si.

Como a web era na década de 90: impossível de navegar, porém mais saudável do que hoje em dia

 

Apesar de tudo, era um momento empolgante — o começo da computação pessoal e do acesso massivo à internet, coisas que mudaram radicalmente a vida de todo mundo. Ainda assim, acho que podemos concordar que a experiência geral de utilização dos sistemas, apesar de empolgante e revolucionária, era ruim.

É mais ou menos nesse ponto em que estamos com IA hoje. O que, na realidade, me deixa um pouco triste, porque eu imaginava que, desde a década de 90, tínhamos descoberto e estávamos construindo tecnologia em cima da ideia de que sistemas para pessoas de verdade — sejam dezenas ou milhões delas — têm de ser centrados no usuário e que há muitas benesses de encarar esse tipo de serviço como um produto, testando hipóteses, iterando e melhorando a capacidade de geração de valor.

Mas eu me enganei! Infelizmente não aprendemos isso. O que parece termos descoberto foi o valor de “design para engenharia de software”. A IA que existe hoje é revolucionária e empolgante pelo novo, mas é igual a uma tela azul com letra verde limão e mil animações em flash (rip 🥹) que escondem o botão que queremos apertar pra fazer o que a gente precisa.

 

O que fazer, então, pra tornar nossos sistemas baseados em IA mais úteis, eficazes e, por que não dizer, capazes de se comportar de forma que parece realmente inteligente?

 

 

Senta que lá vem história

Se as coisas maravilhosas que criamos não chegarem no usuário final, tudo não passou de um exercício intelectual abstrato, complexo e muito caro, diga-se de passagem. E aqui queria trazer algumas histórias pra ilustrar meu ponto dentro de um tema muito querido: acessibilidade.

 

A promessa de Machine Learning para acessibilidade é imensa. A capacidade de criar sistemas adaptativos e complementar funcionalidades humanas que auxiliem pessoas deficientes a desempenhar tarefas que a princípio não conseguiriam cresceu exponencialmente. Algumas técnicas que melhoraram muito e mudaram o jogo nos últimos 5 anos:

  • Reconhecimento de padrões e movimentos em imagem e vídeo.
  • Processamento, reconhecimento e geração de voz.
  • Modelos mais leves que conseguem rodar sem tanto poder computacional e, por isso, funcionam a partir de dispositivos móveis como celulares.
  • Modelos híbridos que combinam múltiplos tipos de dados como informações de entrada (inputs) e permitem encontrar respostas complexas que dependem de mais de um tipo de dado.

 

Esses são só alguns exemplos, mas dá pra perceber que caminhamos bastante e conseguimos resultados bastante animadores.

Um case que adorei conhecer em 2023 foi o do Projeto GameFace, apresentado pela Google no seu Keynote do I/O 2023, um dos maiores eventos de tecnologia do mundo, onde a Google apresenta seus mais recentes lançamentos e descobertas. Uma equipe do time de ML core fez uma parceria com Lance Carr, um homem que desenvolveu distrofia muscular severa e não podia mais jogar no computador porque não era mais capaz de usar os membros para executar os comandos no controle ou teclado. A equipe do Google treinou um modelo que reconhecia pequenos movimentos e inflexões no rosto desse rapaz e ele passou a ser capaz de jogar, operando a interface com seu rosto. O vídeo está abaixo e vale muito a pena ver (em inglês, mas dá pra ver os treinamentos e as partidas operadas com expressões faciais).

 

 

Incrível, não é mesmo?

 

Ao mesmo tempo, como conseguir acesso a esse projeto? Quantas pessoas ele conseguiu impactar além de Lance? O código pode até estar disponível, mas quem consegue usá-lo para, de fato, mudar o sistema de inputs do controle e talvez aperfeiçoar o modelo treinando-o com seu próprio rosto?

É muito legal conseguir fazer isso e mostrar que funciona, ainda mais num cenário que exige muita precisão e um nível alto de performance, já que jogos demandam respostas rápidas e precisas na maioria dos casos. Para a Google, isso pode ser suficiente — a receita da empresa não vem de sistemas operacionais de jogos e eles têm uma tradição muito forte em pesquisa de ponta que depois é usada em aplicações diversas até mesmo fora da empresa.

Mas já pensou se o Google colocasse isso no Android e milhares de pessoas deficientes pudessem ter acesso a isso? O impacto seria muito maior. O valor chegaria a muito mais usuários.

 

E é isso que a Apple resolveu fazer.

 

Pra mim não é fácil falar da Apple, porque temos divergências muito fortes com relação ao modelo de negócio e a forma de pensar inclusão social em tecnologia. Sempre fui adepta do Android por isso. Essencialmente, qualquer coisa menos um MacOS/iOS e seus hardwares superexaltados — decididamente não sou fã do modelo refém do ecossistema e exclusivista da empresa. Talvez daí minha maior surpresa, o investimento claro em inclusão — algo que importa mais do que dizer que o novo iPhone chegou na cor amarela.

A Apple criou soluções de acessibilidade com Machine Learning e as colocou em todos os seus dispositivos — não precisa ter o melhor ou mais recente iPhone para acessar essas soluções. Eles marcaram um gol de placa em acessibilidade e eu convido você a assistir esse vídeo abaixo pra entender o poder de colocar modelos desse tipo ao alcance de qualquer pessoa, ou seja, o poder de produtizar IA:

 

 

Espero que você, como eu, tenha se emocionado! Espero também que entenda que pouco adianta existir uma tecnologia que permite esse tipo de solução e impacto se ela não chega na mão das pessoas pra mudar a vida delas.

Pra isso acontecer, precisamos PARAR de pensar em IA como algo místico ou isolado e entender que, exatamente como engenharia de software, ela precisa ser parte de um sistema bem arquitetado pra funcionar no seu melhor. Eu não preciso nem deveria tentar resolver tudo com um modelo. Eu tenho várias ferramentas que, em conjunto, permitem que eu entregue um produto disruptivo, inteligente e mais difícil de replicar, garantindo vantagens competitivas.

 

 

FREE AI: a IA não deve ser refém ou responsbilidade exclusiva de quem atua como cientista de dados

Empresas que resolvem fazer IA pra surfar nas tendências de mercado sem buscar entender seus usuários e sem contratar especialistas técnicos que entendam do negócio costumam errar de muitas formas diferentes. O erro principal é o da pirâmide invertida: IA é o topo de uma pirâmide de serviços de dados, então não é possível construir algo robusto se a empresa não tem cultura e quantidade de dados organizados, corretos e acessíveis para usar. Nesse caso, a IA vem primeiro e tenta-se construir as estruturas de dados a posteriori, o que não é impossível, mas é altamente não recomendado e ineficiente.

Entretanto, esse nem chega a ser o principal problema quando a questão é produtizar a IA. Nesse caso, é possível dividir os erros em dois tipos, essencialmente: erros de composição de times capazes de construir produtos de IA e erros de estratégia de produto e negócio que limitam os escopos. O mais comum é os dois acontecerem juntos por falta de maturidade da gestão com o tema de Inteligência Artificial, mas é possível que eles apareçam de forma isolada também.

 

O que o Dall-e me deu quando pedi “grupo de pessoas segurando cartazes com a mensagem ‘Free AI”. Todas brancas ainda por cima. Bichinho ainda tá aprendendo a escrever e incluir.
P.S. Sobre a escrita, é piada, um modelo do tipo stable diffusion, ou “difusão estável” que cria imagens não foi feito para escrever corretamente. Teria que haver um conjunto (ou ensemble) de modelos que processasse partes desse pedido separadamente para entregar um resultado como se quer. Já o recorte demográfico das pessoas é problema mesmo.

IA precisa de times interdisciplinares pra ser completa.

 Pra que eu fosse milionária, bastaria ganhar um real pra toda vez que eu ouvisse alguém falando “mas um time de IA precisa de designer?”.

Sim. Demais. Precisa muito. Mais do que times exclusivos de engenharia de software até.

Manter apenas cientistas de dados no time é útil para times de pesquisa e talvez até times que entregam dashboards, relatórios ou outros produtos de consumo interno da empresa, times consultivos. Mas se a ideia é construir algo que deve ser servido para milhares ou milhões de pessoas, somente cientistas de dados não vão conseguir dar conta.

 

Algumas questões que exigem trabalho interdisciplinar dentro de um produto de IA:

  • é indispensável entender o modelo mental do usuário pra construir uma experiência que seja percebida como inteligente, o que aumenta a satisfação e utilização do seu produto de IA — tarefa de design.
  • é indispensável criar uma relação de confiança entre usuário e IA tratando possíveis erros e convidando o usuário a participar ativamente e de forma crítica do processo de decisão — tarefa de design e de engenharia front-end.
  • é indispensável conseguir construir APIs ou similares que se conectem com as plataformas ou aplicações que os usuários usam de forma a levar os resultados dos modelos até a plataforma — tarefa de engenharia de machine learning e engenharia de software back-end.
  • É indispensável, para calcular o nível de acurácia dos modelos na vida real, haver um mapeamento de feedback ou alterações na interface que o usuário fez em cima de resultados do modelo que aparecem na tela e o disparo de eventos de modificação — tarefa de engenharia de front-end e back-end.
  • É indispensável, até mesmo perante às novas e futuras legislações, sinalizar quando uma resposta é fruto de um modelo de ML e onde há uma IA no fluxo para agir com transparência e preservar a autonomia do ser humano — tarefa de design e engenharia de front-end, no mínimo.

 

Montar times monotônicos é um problema comum de lideranças que não vieram de computação ou que não têm vivência em construir produtos. Computação já, há anos, se tornou um campo de conhecimento mais interdisciplinar do que domínios mais clássicos atrelados à ciência de dados, como estatística, matemática ou física. A disciplina de ciência de dados está ainda migrando para a estrutura de times interdisciplinares não só no conhecimento de base, mas principalmente no objetivo e aplicação desse conhecimento dentro do time. Mas é preciso entender que esse tipo de conhecimento também é parte integrante de um bom produto ou serviço baseado em técnicas de Inteligência Artificial, e que muitas coisas só serão possíveis se houver integração com essas outras especialidades.

Por outro lado, também há lideranças e times de cientistas de dados ansiosos para trabalhar em conjunto com pessoas de outras especialidades. Até porque uma das coisas mais frustrantes pra quem busca gerar impacto com seu trabalho é ver um modelo incrível sendo engavetado e nunca entrando no produto final, mesmo quando há validações com usuários que confirmam o valor gerado. Isso nos leva ao segundo tipo de erro.

 

 

IA perde capacidade de impacto sem uma estratégia AI-first

Toda empresa que quer usar IA deve começar o desenho de estratégia (visão) a partir dos valores a serem entregues e o que é esperado da IA em cada um deles. É isso o que quer dizer AI-first, ou IA primeiro. Tendo feito isso, é importante cascatear a parte tática de OKRs e metas a partir disso para entender que times e que tipos de especialidades devem estar envolvidos em cada iniciativa. Com frequência, isso não para nos times de tecnologia: também afeta atendimento ao cliente, vendas e pós-venda, marketing, jurídico… principalmente se os usuários do seu produto não forem particularmente receptivos a essa tecnologia, e acredite, muitos não são. O medo de ter sua força de trabalho substituída por máquinas é real, mesmo que os melhores sistemas de IA almejem aumentar a capacidade humana, não a substituir — ela é insubstituível. Por isso, é necessário um esforço ativo de comunicação e transparência. Trabalhar com IA de forma eficiente muda (ou deveria mudar) toda a lógica de posicionamento e comunicação da empresa.

 

Eita, mas é muito trabalho!

 

Com certeza. Mas vale a pena, principalmente se a empresa for detentora dos dados necessários (obtidos com consentimento informado) para construir modelos. Isso é uma vantagem competitiva imensa que, aliada à forma correta de fazer produtos de IA, coloca a empresa num oceano azul de concorrentes, principalmente agora, quando a maior parte das empresas ainda não entendeu a melhor forma de se beneficiar dessa tecnologia.

Mas por que a IA tem que vir primeiro? Ela é mais importante que todo mundo? Não, jamais será! Isso tem que acontecer porque a IA é a área menos capaz de atingir os usuários sozinha e a que mais tem o potencial de modificar a forma do usuário de perceber e se relacionar com um sistema. A IA é o back-end do back-end. É a ponta da pirâmide. Muita coisa tem que estar alinhada pra conseguir fazer e depois ainda entregar algo de valor com IA.

 

Eu gosto muito de analogias, então vou fazer uma aqui. A IA é como uma vovó.


A vovó ilustra como você deve pensar na IA quando for fazer um produto

 

Vamos pensar num estereótipo de vovó: alguém muito sábia, que faz bolo como ninguém, entende tudo da vida e dá o melhor colinho. O valor da vovó é inestimável. Ao mesmo tempo, a vovó não se locomove com tanta facilidade, então ela vai mais devagar. Ela também não consegue ficar acordada até muito tarde — até porque ela acorda super cedo — e tem que tomar remédio pro coração, então é melhor evitar muita adrenalina.

Você quer fazer um evento em família e a vovó tem que ir. Nenhum evento familiar é o mesmo sem a vovó. Então, você decide o que fazer com isso em mente. Você não faz uma trilha na floresta morro acima, mesmo que a vista de lá seja linda; você faz um passeio no parque e depois um piquenique numa área que tenha cadeiras pra se sentar. A vovó traz o bolo dela, fala da juventude e ensina a diferença entre linguagem e dialeto (baseado em fatos reais da minha vovó paterna). O sucesso do piquenique é o bolo da vovó. Todos saem 10% mais sabidos e mais felizes do rolê.

É isso. Você precisa decidir como vai ser a estratégia/tática da coisa pensando em acomodar a parte que tem mais restrições. A IA em geral demora mais para estar pronta e gerar valor, principalmente se você estiver fazendo um modelo do zero. É como a vovó andando mais devagar.

Ela também carece de um tempo maior de preparo e limpeza de dados, o que quer dizer que os times de dados precisam operar no mínimo em t-1 com relação aos demais times. É como a vovó acordando super cedo.

Entretanto, ela costuma trazer um valor único pro negócio que não é atingível com engenharia de software, como o bolo e o colinho da vovó. Uma dessas capacidades é o aumento na satisfação do usuário devido a um fluxo mais agentivo (que interpreta e antecipa necessidades) e pode ser interpretado como inteligente, igual a uma vovó sabida.

Mas você não faz programas só com a vovó. Às vezes, você quer escalar uma montanha ou saltar de paraquedas. Esses não são programas pra vovó — e tudo bem! Ela não fica chateada se você não chamar. Você pode até contar as histórias depois. Por isso, peça consentimento para uso dos dados e possíveis aplicações desde o primeiro momento, mesmo que a princípio você não pretenda usar IA.

Acho que já deu de analogias, né? Aposto que você já entendeu.

 

 

O que eu gostaria que você levasse desse texto:

De forma resumida, dentro de uma empresa, ou todo mundo se vê e se planeja como alguém que trabalha com IA, ou é melhor ninguém trabalhar. A ineficiência e custo gerados não compensam se não houver uma adesão ampla. Empresas que querem usar IA precisam estar dispostas a mudar sua cultura e estrutura para contemplar novas demandas típicas desse tipo de tecnologia.

Isso não quer dizer que todos os produtos da empresa precisam ser de IA — desafios diferentes demandam técnicas distintas mesmo. Mas quer dizer que todo produto ou projeto de IA impacta todos e requer o envolvimento de todos.

Produtos de sucesso requerem equipes interdisciplinares. Qualquer processo centrado no usuário requer no mínimo designers — às vezes sociólogos, psicólogos, filósofos, eticistas. A não ser que você esteja na área de pesquisa pura — e às vezes nem nela — não isole seus cientistas de dados. Não estou falando de times apenas; falo principalmente de objetivos de negócio.

Está tudo bem dizer que não vai usar inteligência artificial, machine learning, big data e todas as outras técnicas da moda. Há escopo pra tudo e é possível gerar valor de várias outras formas. Algumas inclusive estão descritas em cases dessa mesma sprint. Explore os demais conteúdos!

A revolução da Inteligência Artificial está no começo e a maior parte dos produtos falharão por questões organizacionais, não técnicas. Já aprendemos o suficiente em tecnologia para evoluir de forma mais rápida, mais consciente, e mais efetiva, pensando nas pessoas que queremos servir e impactar. Agora precisamos executar e transformar as coisas. Pra melhor, por favor. Vem comigo nessa? (;

 

CRÉDITOS

Autora

Bianca Ximenes, Especialista em Dados e Machine Learning Foi nomeada pelo Google Developers em 2021 como uma de 21 mulheres ao redor do mundo que estão abrindo novos caminhos relevantes na tecnologia. Atualmente em sabático, antes disso foi Head de IA na Gupy por anos. Também é Doutora em Ciência da Computação com foco em Ética aplicada a Machine Learning e Google Developer Expert em ML. Já impactou mais de 35 milhões de pessoas por meio dos seus produtos de IA e produziu conteúdos técnicos e palestras para mais de 80.000 pessoas.

Saiba mais no LinkedIn

Revisora

Luciana Fleury, jornalista

Saiba mais no LinkedIn

Este conteúdo faz parte da PrograMaria Sprint Dados: ampliando as fronteiras.