CEVIU Logo
Voltar

Doctolib Supera Desafios do Chat de IA no Mobile e Libera Código Aberto

Aprofundamento CEVIU

Aprofundamento

A Doctolib não está apenas integrando IA ao mobile, está reescrevendo as regras de como aplicações React Native lidam com streaming contínuo de respostas geradas por modelos. O problema não era o modelo em si, mas a interação entre o fluxo de tokens e o ciclo de renderização do FlatList invertido, que causava travamentos na navegação e perda de estado ao rolar rapidamente. A solução, agora open source como react-native-streaming-message-list, substitui o polling tradicional por um mecanismo baseado em eventos: cada nova parte da resposta é emitida como um evento distinto, com tratamento explícito de falhas, timeouts e retries, sem depender de requisições periódicas desnecessárias. Isso reduziu em 80% o tráfego redundante entre app e backend, mas o ganho real está na experiência do desenvolvedor: menos código para manter, menos edge cases não documentados e maior previsibilidade no comportamento do componente.

O timing dessa liberação é estratégico: ela sustenta a expansão dos assistentes clínicos (consultation, telefônico e dictée) para novos mercados, como o Reino Unido, após a aquisição da Medicus Health, e alimenta o laboratório de IA clínica de €20 milhões, onde a robustez do pipeline móvel é pré-requisito para testes com profissionais reais em ambientes hospitalares. A empresa já investiu €115 milhões em P&D em 2024, com um terço destinado a IA, e mantém 100 engenheiros dedicados exclusivamente a essa área, o que explica por que a solução não foi um workaround, mas uma biblioteca projetada para escalar com segurança em produção.

Por que isso importa

Para desenvolvedores mobile que usam React Native e trabalham com chatbots ou assistentes baseados em LLMs, esse componente resolve um problema real e recorrente: o conflito entre streaming de tokens e atualizações de UI em listas invertidas. Não é só sobre performance, é sobre evitar bugs sutis de estado que só aparecem em cenários de rede instável ou alta latência, exatamente onde pacientes mais precisam de confiabilidade. Além disso, a migração para polling baseado em eventos antecipa a adoção de Server-Sent Events (SSE), um padrão mais leve que WebSockets para casos unidirecionais como respostas de IA, e alinha a arquitetura mobile da Doctolib com sua stack backend voltada para escalabilidade em larga escala, 90 milhões de pacientes e 500 mil profissionais exigem soluções que não quebrem sob carga.

Perguntas frequentes

Por que o FlatList invertido do React Native falha com streaming de IA?

O FlatList padrão recalcula todo o layout ao adicionar novos itens no topo, causando travamentos e perda de scroll position. Quando respostas de IA chegam token por token, isso gera centenas de atualizações rápidas, suficientes para quebrar a navegação e consumir recursos excessivos no thread principal.

O que muda na prática ao usar polling baseado em eventos em vez de polling tradicional?

Em vez de fazer requisições a cada 500ms para verificar se há nova resposta, o app agora escuta eventos específicos (como 'chunk-received' ou 'stream-ended'). Isso elimina requisições ociosas, reduz latência média e permite tratamento granular de erros, como reconectar automaticamente apenas quando o stream é interrompido, não a cada tentativa.

Esse componente open source funciona apenas com assistentes clínicos da Doctolib?

Não. Ele é agnóstico quanto ao backend: aceita qualquer fluxo de dados estruturado como chunks de texto, com metadados opcionais (ex: role, timestamp, status). Já foi testado com OpenAI, Anthropic e modelos locais via Ollama, desde que o protocolo de transmissão seja compatível com eventos simples.

A Doctolib vai migrar totalmente para SSE no mobile?

Ainda não. O componente atual usa eventos customizados via WebSocket ou fetch + ReadableStream, mas a equipe já confirmou que SSE é a próxima etapa de evolução, principalmente para reduzir complexidade de conexão persistente em redes móveis com troca frequente de IP e NAT.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Web Dev
Publicado
06 de março de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser