Cuando la gente habla de escalar el comercio electrónico, se enfoca en los grandes desafíos de ingeniería: búsqueda distribuida, inventario en tiempo real, motores de recomendación y optimización del checkout. Pero debajo de todo eso se encuentra un problema más silencioso y persistente con el que casi todos los minoristas luchan: los valores de atributos.
Los atributos son la columna vertebral del descubrimiento de productos. Impulsan filtros, comparaciones, clasificación de búsqueda y lógica de recomendación. Pero en los catálogos reales, los valores de atributos rara vez están limpios. Son inconsistentes, duplicados, mal formateados o semánticamente ambiguos.
Tomemos algo tan simple como Tamaño. Podrías ver:
Código
["XL", "Small", "12cm", "Large", "M", "S"]
O Color:
Código
["RAL 3020", "Crimson", "Red", "Dark Red"]
Individualmente, estas inconsistencias parecen inofensivas. Pero multiplícalas en más de 3 millones de SKUs, cada uno con docenas de atributos, y el problema se vuelve sistémico. Los filtros se comportan de manera impredecible, los motores de búsqueda pierden relevancia, los comercializadores se ahogan en la limpieza manual y el descubrimiento de productos se vuelve más lento y frustrante para los clientes.
Este fue el desafío que enfrenté como ingeniero de software full-stack en Zoro, un problema que era fácil pasar por alto pero que afectaba cada página de producto.
No quería una misteriosa caja negra de IA que simplemente ordena cosas. Los sistemas así son difíciles de confiar, depurar o escalar. En su lugar, apunté a un pipeline que fuera:
El resultado fue un pipeline de IA híbrida que combina razonamiento contextual de LLMs con reglas claras y controles de comercialización. Actúa inteligentemente cuando es necesario, pero siempre permanece predecible. Esta es IA con barreras de protección, no IA fuera de control.
Todo el procesamiento de atributos ocurre en trabajos en segundo plano offline, no en tiempo real. Esto no fue un compromiso; fue una elección arquitectónica estratégica.
Los pipelines en tiempo real suenan atractivos, pero a escala de comercio electrónico, introducen:
Los trabajos offline, por otro lado, nos dieron:
Mantener los sistemas orientados al cliente separados de los pipelines de procesamiento de datos es esencial cuando se trabaja con millones de SKUs.
Antes de usar IA en los datos, ejecuté un paso claro de preprocesamiento para eliminar ruido y confusión. Este paso puede sonar simple, pero mejoró enormemente el razonamiento del LLM.
El pipeline de limpieza incluyó:
Esto aseguró que el LLM recibiera entradas limpias y claras, lo cual es clave para resultados consistentes. Basura entra, basura sale. A esta escala, incluso pequeños errores pueden llevar a problemas mayores después.
El LLM no solo estaba ordenando valores alfabéticamente. Estaba razonando sobre ellos.
El servicio recibió:
Con este contexto, el modelo podía entender:
El modelo devolvió:
Esto permite que el pipeline maneje diferentes tipos de atributos sin codificar reglas para cada categoría.
No todos los atributos necesitan IA.
De hecho, muchos atributos se manejan mejor con lógica determinística.
Los rangos numéricos, valores basados en unidades y conjuntos simples a menudo se benefician de:
El pipeline detectó automáticamente estos casos y usó lógica determinística para ellos. Esto mantuvo el sistema eficiente y evitó llamadas innecesarias al LLM.
Los comercializadores aún necesitaban control, especialmente para atributos sensibles al negocio.
Así que cada categoría podía etiquetarse como:
Este sistema de doble etiqueta permite que las personas tomen las decisiones finales mientras la IA hacía la mayor parte del trabajo. También generó confianza, ya que los comercializadores podían anular el modelo cuando fuera necesario sin romper el pipeline.
Todos los resultados se almacenaron directamente en una base de datos Product MongoDB, manteniendo la arquitectura simple y centralizada.
MongoDB se convirtió en el almacén operacional único para:
Esto facilitó revisar cambios, anular valores, reprocesar categorías y sincronizar con otros sistemas.
Una vez ordenados, los valores fluyeron a:
Esto aseguró que:
La búsqueda es donde el ordenamiento de atributos es más visible, y donde la consistencia es más importante.
Para hacer que esto funcione en millones de SKUs, diseñé un pipeline modular construido alrededor de trabajos en segundo plano, razonamiento de IA e integración de búsqueda. El diagrama de arquitectura a continuación captura el flujo completo:
Este flujo asegura que cada valor de atributo, ya sea ordenado por IA o establecido manualmente, se refleje en la búsqueda, comercialización y experiencia del cliente.
Así es como se transformaron los valores desordenados:
| Atributo | Valores Sin Procesar | Salida Ordenada | |----|----|----| | Tamaño | 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 | | Numérico | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |
Estos ejemplos muestran cómo el pipeline combina razonamiento contextual con reglas claras para crear secuencias limpias y fáciles de entender.
El procesamiento en tiempo real habría introducido:
Los trabajos offline nos dieron:
El compromiso fue un pequeño retraso entre la ingesta de datos y la visualización, pero el beneficio fue la consistencia a escala, que los clientes valoran mucho más.
Los resultados fueron significativos:
Esto no fue solo una victoria técnica; también fue una victoria para la experiencia del usuario y los ingresos.
Ordenar valores de atributos suena simple, pero se convierte en un desafío real cuando tienes que hacerlo para millones de productos.
Al combinar la inteligencia de LLM con reglas claras y control del comercializador, transformé un problema complejo y oculto en un sistema limpio y escalable.
Es un recordatorio de que algunas de las mayores victorias provienen de resolver los problemas aburridos, aquellos que son fáciles de pasar por alto pero que aparecen en cada página de producto.
\n \n \n


