A maioria dos debates sobre escalabilidade de E-Commerce gira em torno de temas sexuais: sistemas de busca distribuídos, gestão de inventário em tempo real, algoritmos de recomendação. Mas por trás disso esconde-se um problema mais silencioso, porém mais persistente: a gestão de valores de atributos. É um ruído técnico presente em qualquer grande loja online.
O problema silencioso: Por que os valores de atributos complicam tudo
Os atributos de produto são fundamentais para a experiência do cliente. Eles impulsionam filtros, comparações e rankings de busca. Em teoria, parece simples. Na prática, porém: valores brutos são caóticos.
Vistos isoladamente, esses inconsistências parecem inofensivas. Mas multiplicando por 3 milhões de SKUs, cada um com dezenas de atributos – o problema torna-se sistêmico. Os filtros se comportam de forma imprevisível. Os motores de busca perdem relevância. Os clientes enfrentam buscas mais lentas e frustrantes. E na equipe de backend, membros se afogam na limpeza manual de dados.
Um engenheiro de software na Zoro enfrentou exatamente esse desafio: um problema fácil de passar despercebido, mas que afetava cada página de produto.
O caminho para automação inteligente sem perder controle
O primeiro princípio foi claro: sem caixas-pretas de IA. Sistemas assim são difíceis de confiar, depurar ou escalar.
Em vez disso, foi desenvolvida uma pipeline híbrida que:
permanece explicável
funciona de forma previsível
realmente escala
é controlável por humanos
O resultado combinou o pensamento contextual de modelos de linguagem modernos com regras fixas e controles. IA com limites, não IA fora de controle.
Visão geral da arquitetura: como tudo se conecta
Todo processamento ocorre em jobs de background offline, não em tempo real. Isso não foi um compromisso – foi uma necessidade arquitetônica.
pipelines em tempo real podem parecer atraentes, mas levam a:
latência imprevisível
dependências frágeis
picos de custo elevados
fragilidade operacional
O processamento offline permite:
alto throughput: grandes volumes de dados sem afetar os sistemas ao vivo
resiliência: erros nunca impactam o tráfego de clientes
controle de custos: agendar cálculos em horários de menor tráfego
isolamento: latência de modelos de linguagem nunca afeta páginas de produto
consistência: atualizações atômicas e previsíveis
A arquitetura funciona assim:
Dados do produto vêm do sistema PIM
Um job de extração coleta valores brutos e contexto
Esses dados vão para um serviço de classificação AI
Documentos atualizados são armazenados no MongoDB
A sincronização outbound atualiza o sistema original
Elasticsearch e Vespa sincronizam os dados classificados
APIs conectam tudo à interface do cliente
As quatro camadas da solução
Camada 1: Preparação de dados
Antes de aplicar inteligência, um passo claro de pré-processamento. Remover espaços em branco. Deduplicar valores. Contextualizar breadcrumbs de categorias em strings estruturadas. Remover entradas vazias.
Parece básico, mas melhorou significativamente o desempenho da IA. Entrada de lixo, saída de lixo – nessa escala, pequenos erros podem gerar grandes problemas mais tarde.
Camada 2: Ordenação inteligente com contexto
O modelo de linguagem não era apenas uma ferramenta de ordenação. Ele pensava sobre os valores.
O serviço recebia:
valores de atributos limpos
metadados de categorias
definições de atributos
Com esse contexto, o modelo podia entender:
Que “Tensão” em ferramentas elétricas deveria ser numérico
Que “Tamanho” em roupas segue uma progressão conhecida
Que “Cor” pode seguir padrões RAL
Que “Material” tem relações semânticas
O modelo retornava:
valores ordenados em sequência lógica
nomes de atributos refinados
uma decisão: ordenação determinística ou contextual
Camada 3: Fallbacks determinísticos
Nem todo atributo precisa de inteligência. Faixas numéricas, valores com unidades e quantidades simples se beneficiam de:
processamento mais rápido
saída previsível
custos menores
zero ambiguidade
A pipeline detectava esses casos automaticamente e usava lógica determinística. Isso mantinha o sistema eficiente e evitava chamadas desnecessárias a LLMs.
Camada 4: Sobrecarga humana
Cada categoria podia ser marcada como:
LLM_SORT: o modelo decide
MANUAL_SORT: humanos definem a ordem
Esse sistema dual permitia que humanos tomassem as decisões finais, enquanto a inteligência cuidava do trabalho pesado. Também aumentava a confiança – os comerciantes podiam sobrescrever o modelo a qualquer momento.
De caos à clareza: resultados práticos
A pipeline transformou dados brutos caóticos:
Atributo
Valores de entrada
Saída ordenada
Tamanho
XL, Small, 12cm, Large, M, S
Small, M, Large, XL, 12cm
Cor
RAL 3020, Crimson, Red, Dark Red
Red, Dark Red, Crimson, Red (RAL 3020)
Material
Steel, Carbon Steel, Stainless, Stainless Steel
Steel, Stainless Steel, Carbon Steel
Numérico
5cm, 12cm, 2cm, 20cm
2cm, 5cm, 12cm, 20cm
Estes exemplos mostram como o entendimento de contexto combinado com regras claras funciona.
Persistência e controle ao longo de toda a cadeia
Todos os resultados eram armazenados diretamente no MongoDB de produtos. O MongoDB se tornou a única fonte de:
atributos ordenados
nomes de atributos refinados
tags de ordenação específicas de categoria
ordens de classificação específicas do produto
Facilitando verificações, sobrescritas, reprocessamento de categorias e sincronização com outros sistemas.
Após a ordenação, os valores eram enviados para:
Elasticsearch, para buscas por palavra-chave
Vespa, para buscas semânticas e vetoriais
Isso garantiu que filtros fossem exibidos de forma lógica, páginas de produto mostrassem atributos consistentes e os motores de busca classificassem os produtos com maior precisão.
Por que não usar processamento em tempo real?
Processar em tempo real significaria:
latência imprevisível em requisições ao vivo
custos elevados de computação para resultados instantâneos
dependências frágeis entre sistemas
complexidade operacional e risco de erros durante o tráfego de clientes
Jobs offline ofereciam:
eficiência em milhões de produtos
chamadas assíncronas a LLMs sem impacto ao vivo
lógica de repetição robusta
janela para revisão humana
resultados de cálculo previsíveis
O compromisso era uma pequena demora entre captura de dados e exibição. A vantagem era consistência em grande escala – algo que os clientes valorizam muito mais.
Impactos mensuráveis
A solução entregou:
ordenação consistente de atributos em mais de 3 milhões de SKUs
ordem numérica previsível por fallbacks determinísticos
controle de negócios via marcações manuais
páginas de produto mais limpas e filtros mais intuitivos
relevância e ranking de busca aprimorados
maior confiança do cliente e melhores taxas de conversão
Não foi apenas uma vitória técnica – também foi uma vitória na experiência do usuário e nos resultados comerciais.
Principais aprendizados para engenheiros de software em E-Commerce
pipelines híbridas superam IA pura em grande escala. Inteligência precisa de limites.
contexto melhora drasticamente a precisão do modelo de linguagem.
jobs offline são essenciais para throughput e resiliência.
mecanismos de sobrescrição humana geram confiança e aceitação.
entradas limpas são a base para saídas confiáveis.
Conclusão
Ordenar valores de atributos parece simples. Mas quando envolve milhões de produtos, torna-se um verdadeiro desafio.
Ao combinar a inteligência de modelos de linguagem com regras claras, entendimento de contexto e controle humano, transformou-se um problema complexo e oculto em um sistema limpo e escalável.
Lembra que alguns dos maiores sucessos vêm de resolver problemas chatos – aqueles que são fáceis de ignorar, mas aparecem em cada página de produto.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Comércio eletrónico em grande escala: Como um engenheiro de software organiza milhões de atributos de produtos caóticos
A maioria dos debates sobre escalabilidade de E-Commerce gira em torno de temas sexuais: sistemas de busca distribuídos, gestão de inventário em tempo real, algoritmos de recomendação. Mas por trás disso esconde-se um problema mais silencioso, porém mais persistente: a gestão de valores de atributos. É um ruído técnico presente em qualquer grande loja online.
O problema silencioso: Por que os valores de atributos complicam tudo
Os atributos de produto são fundamentais para a experiência do cliente. Eles impulsionam filtros, comparações e rankings de busca. Em teoria, parece simples. Na prática, porém: valores brutos são caóticos.
Uma lista simples poderia ser: “XL”, “Small”, “12cm”, “Large”, “M”, “S”. Cores? “RAL 3020”, “Crimson”, “Red”, “Dark Red”. Material? “Aço”, “Aço Carbono”, “Aço Inoxidável”, “Aço Inoxidável”.
Vistos isoladamente, esses inconsistências parecem inofensivas. Mas multiplicando por 3 milhões de SKUs, cada um com dezenas de atributos – o problema torna-se sistêmico. Os filtros se comportam de forma imprevisível. Os motores de busca perdem relevância. Os clientes enfrentam buscas mais lentas e frustrantes. E na equipe de backend, membros se afogam na limpeza manual de dados.
Um engenheiro de software na Zoro enfrentou exatamente esse desafio: um problema fácil de passar despercebido, mas que afetava cada página de produto.
O caminho para automação inteligente sem perder controle
O primeiro princípio foi claro: sem caixas-pretas de IA. Sistemas assim são difíceis de confiar, depurar ou escalar.
Em vez disso, foi desenvolvida uma pipeline híbrida que:
O resultado combinou o pensamento contextual de modelos de linguagem modernos com regras fixas e controles. IA com limites, não IA fora de controle.
Visão geral da arquitetura: como tudo se conecta
Todo processamento ocorre em jobs de background offline, não em tempo real. Isso não foi um compromisso – foi uma necessidade arquitetônica.
pipelines em tempo real podem parecer atraentes, mas levam a:
O processamento offline permite:
A arquitetura funciona assim:
As quatro camadas da solução
Camada 1: Preparação de dados
Antes de aplicar inteligência, um passo claro de pré-processamento. Remover espaços em branco. Deduplicar valores. Contextualizar breadcrumbs de categorias em strings estruturadas. Remover entradas vazias.
Parece básico, mas melhorou significativamente o desempenho da IA. Entrada de lixo, saída de lixo – nessa escala, pequenos erros podem gerar grandes problemas mais tarde.
Camada 2: Ordenação inteligente com contexto
O modelo de linguagem não era apenas uma ferramenta de ordenação. Ele pensava sobre os valores.
O serviço recebia:
Com esse contexto, o modelo podia entender:
O modelo retornava:
Camada 3: Fallbacks determinísticos
Nem todo atributo precisa de inteligência. Faixas numéricas, valores com unidades e quantidades simples se beneficiam de:
A pipeline detectava esses casos automaticamente e usava lógica determinística. Isso mantinha o sistema eficiente e evitava chamadas desnecessárias a LLMs.
Camada 4: Sobrecarga humana
Cada categoria podia ser marcada como:
Esse sistema dual permitia que humanos tomassem as decisões finais, enquanto a inteligência cuidava do trabalho pesado. Também aumentava a confiança – os comerciantes podiam sobrescrever o modelo a qualquer momento.
De caos à clareza: resultados práticos
A pipeline transformou dados brutos caóticos:
Estes exemplos mostram como o entendimento de contexto combinado com regras claras funciona.
Persistência e controle ao longo de toda a cadeia
Todos os resultados eram armazenados diretamente no MongoDB de produtos. O MongoDB se tornou a única fonte de:
Facilitando verificações, sobrescritas, reprocessamento de categorias e sincronização com outros sistemas.
Após a ordenação, os valores eram enviados para:
Isso garantiu que filtros fossem exibidos de forma lógica, páginas de produto mostrassem atributos consistentes e os motores de busca classificassem os produtos com maior precisão.
Por que não usar processamento em tempo real?
Processar em tempo real significaria:
Jobs offline ofereciam:
O compromisso era uma pequena demora entre captura de dados e exibição. A vantagem era consistência em grande escala – algo que os clientes valorizam muito mais.
Impactos mensuráveis
A solução entregou:
Não foi apenas uma vitória técnica – também foi uma vitória na experiência do usuário e nos resultados comerciais.
Principais aprendizados para engenheiros de software em E-Commerce
Conclusão
Ordenar valores de atributos parece simples. Mas quando envolve milhões de produtos, torna-se um verdadeiro desafio.
Ao combinar a inteligência de modelos de linguagem com regras claras, entendimento de contexto e controle humano, transformou-se um problema complexo e oculto em um sistema limpo e escalável.
Lembra que alguns dos maiores sucessos vêm de resolver problemas chatos – aqueles que são fáceis de ignorar, mas aparecem em cada página de produto.