Quando as pessoas falam sobre dimensionar o comércio eletrónico, concentram-se em grandes desafios de engenharia: pesquisa distribuída, inventário em tempo real, motores de recomendação e otimização de checkout. Mas por baixo de tudo isso está uma questão mais silenciosa e persistente com a qual quase todos os retalhistas se debatem: valores de atributos.
Os atributos são a espinha dorsal da descoberta de produtos. Eles alimentam filtros, comparações, classificação de pesquisa e lógica de recomendação. Mas em catálogos reais, os valores de atributos raramente são limpos. São inconsistentes, duplicados, mal formatados ou semanticamente ambíguos.
Pegue em algo tão simples como Tamanho. Pode ver:
Code
["XL", "Small", "12cm", "Large", "M", "S"]
Ou Cor:
Code
["RAL 3020", "Crimson", "Red", "Dark Red"]
Individualmente, estas inconsistências parecem inofensivas. Mas multiplique-as por mais de 3 milhões de SKUs, cada um com dezenas de atributos, e o problema torna-se sistémico. Os filtros comportam-se de forma imprevisível, os motores de pesquisa perdem relevância, os comerciantes afogam-se na limpeza manual e a descoberta de produtos torna-se mais lenta e mais frustrante para os clientes.
Este foi o desafio que enfrentei como engenheiro de software full-stack na Zoro, um problema fácil de ignorar mas que afetava cada página de produto.
Não queria uma caixa preta misteriosa de IA que simplesmente ordenasse as coisas. Sistemas assim são difíceis de confiar, depurar ou dimensionar. Em vez disso, procurei um pipeline que fosse:
O resultado foi um pipeline de IA híbrido que combina raciocínio contextual de LLMs com regras claras e controlos de merchandising. Age de forma inteligente quando necessário, mas mantém-se sempre previsível. Esta é IA com proteções, não IA fora de controlo.
Todo o processamento de atributos acontece em tarefas de background offline, não em tempo real. Esta não foi uma solução de compromisso; foi uma escolha arquitetónica estratégica.
Os pipelines em tempo real parecem apelativos, mas à escala do comércio eletrónico, introduzem:
As tarefas offline, por outro lado, deram-nos:
Manter os sistemas virados para o cliente separados dos pipelines de processamento de dados é essencial quando se trabalha com milhões de SKUs.
Antes de usar IA nos dados, executei uma etapa clara de pré-processamento para remover ruído e confusão. Esta etapa pode parecer simples, mas melhorou muito o raciocínio do LLM.
O pipeline de limpeza incluía:
Isto garantiu que o LLM recebia input limpo e claro, que é fundamental para resultados consistentes. Lixo dentro, lixo fora. A esta escala, até pequenos erros podem levar a problemas maiores mais tarde.
O LLM não estava apenas a ordenar valores alfabeticamente. Estava a raciocinar sobre eles.
O serviço recebia:
Com este contexto, o modelo podia entender:
O modelo retornou:
Isto permite que o pipeline lide com diferentes tipos de atributos sem codificar regras para cada categoria.
Nem todos os atributos precisam de IA.
De facto, muitos atributos são melhor tratados por lógica determinística.
Intervalos numéricos, valores baseados em unidades e conjuntos simples beneficiam frequentemente de:
O pipeline detetava automaticamente estes casos e usava lógica determinística para eles. Isto mantinha o sistema eficiente e evitava chamadas desnecessárias ao LLM.
Os merchandisers ainda precisavam de controlo, especialmente para atributos sensíveis ao negócio.
Portanto, cada categoria podia ser etiquetada como:
Este sistema de dupla etiquetagem permite que as pessoas tomem as decisões finais enquanto a IA fazia a maior parte do trabalho. Também construiu confiança, uma vez que os merchandisers podiam sobrepor-se ao modelo quando necessário sem quebrar o pipeline.
Todos os resultados foram armazenados diretamente numa base de dados MongoDB de Produtos, mantendo a arquitetura simples e centralizada.
MongoDB tornou-se o único armazém operacional para:
Isto facilitou rever alterações, sobrepor valores, reprocessar categorias e sincronizar com outros sistemas.
Uma vez ordenados, os valores fluíam para:
Isto garantiu que:
A pesquisa é onde a ordenação de atributos é mais visível, e onde a consistência é mais importante.
Para fazer isto funcionar em milhões de SKUs, desenhei um pipeline modular construído em torno de tarefas de background, raciocínio de IA e integração de pesquisa. O diagrama de arquitetura abaixo captura o fluxo completo:
Este fluxo garante que cada valor de atributo, seja ordenado por IA ou definido manualmente, se reflita na pesquisa, merchandising e experiência do cliente.
Aqui está como valores confusos foram transformados:
| Atributo | Valores Brutos | Output Ordenado | |----|----|----| | Tamanho | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm | | Color | 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 | | Numeric | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |
Estes exemplos mostram como o pipeline combina raciocínio contextual com regras claras para criar sequências limpas e fáceis de entender.
O processamento em tempo real teria introduzido:
As tarefas offline deram-nos:
A contrapartida foi um pequeno atraso entre a ingestão de dados e a exibição, mas o benefício foi consistência à escala, que os clientes valorizam muito mais.
Os resultados foram significativos:
Esta não foi apenas uma vitória técnica; foi também uma vitória para a experiência do usuário e receita.
Ordenar valores de atributos parece simples, mas torna-se um verdadeiro desafio quando tem de o fazer para milhões de produtos.
Ao combinar inteligência LLM com regras claras e controlo de merchandiser, transformei uma questão complexa e oculta num sistema limpo e escalável.
É um lembrete de que algumas das maiores vitórias vêm de resolver os problemas aborrecidos, aqueles que são fáceis de perder mas aparecem em cada página de produto.
\n \n \n


