Construindo o Contour, um motor de caimento baseado em física para moda: o mesmo corpo veste 29 no selvedge bruto e 28 no stretch, superando a tabela em 40 pontos.
Fashion TechEcommerceRetail Technology

O mesmo corpo veste 29 em um jeans e 28 em outro. Criei o motor de caimento que explica por que uma tabela de medidas não consegue diferenciá-los.

Ashutosh SinghalAshutosh Singhal10 de julho de 202612 min

Construí esta demonstração para resolver uma discussão que eu continuava tendo comigo mesmo, e bastou um único menu suspenso para encerrá-la. Eu tinha um comprador sintético chamado Riley, um conjunto fixo de medidas corporais e um catálogo de oito jeans sintéticos. Coloquei Riley diante do Ironside, um jeans reto de denim selvedge bruto de 14 oz, rígido, com zero elasticidade, e o motor retornou Tamanho 29, 95% de confiança, confortável em todas as zonas. Então, sem alterar absolutamente nada em Riley, troquei a peça pelo Driftwood, um jeans slim com elastano que parece quase idêntico em uma foto de produto, e o tamanho correto caiu para 28.

Mesmo corpo. Mesmas medidas. Dois tamanhos corretos diferentes. E uma tabela de tamanhos baseada apenas na cintura — exatamente o que quase todo site de vestuário usa hoje — teria exibido o mesmíssimo número para ambos os jeans e errado em um deles.

Contour recomendando o Tamanho 29 com 95% de confiança para Riley no jeans de denim selvedge bruto Ironside, com uma nota de que uma tabela baseada apenas na cintura indicaria Tamanho 28 e estaria errada, com barras de tensão por zona indicando confortável
Riley no jeans rígido de denim selvedge bruto Ironside: o motor retorna Tamanho 29 com 95% de confiança, todas as zonas confortáveis, e alerta que uma tabela baseada apenas na cintura teria indicado 28. Neste denim com zero elasticidade, o 28 ultrapassaria o limite de elasticidade da coxa.

O produto resultante chama-se Contour, e você mesmo pode fazer essa exata comparação em veriprajna.com/pt-BR/demos/predicao-de-caimento-com-ia-que-sente-o-tecido-motor-de-dimensionamento-contour. Mas o que quero discutir não é a recomendação em si. É o motivo pelo qual a recomendação mudou quando nada no corpo se alterou, porque essa razão é todo o argumento para construir isso da maneira como construí.

A moda tem tentado resolver as devoluções com imagens melhores

Comecei este projeto acreditando, como a maioria das pessoas nesse meio, que o problema das devoluções era um problema de imagem. As devoluções de vestuário são dominadas pelo caimento, e a parcela relacionada ao ajuste varia entre 53 e 67 por cento, com cerca de 63 por cento dos compradores admitindo praticar bracketing — pedir dois tamanhos e devolver um (pesquisa Veriprajna WP34, 2026). A logística reversa consome a margem de lucro. A resposta da indústria tem sido melhorar a imagem: tabelas de medidas mais detalhadas, depois avatares 3D e, então, provadores virtuais generativos que renderizam a peça sobre uma foto do seu corpo.

Passei um bom tempo convencido de que um provador virtual suficientemente bom resolveria a questão, até que parei para analisar o que um provador virtual realmente mostra. Ele mostra o jeans em um corpo. Ele não mostra se aquele jeans vai caber naquele corpo. Uma imagem generativa consegue simular o caimento de um tecido de forma convincente sem fazer ideia de que, quando Riley se senta, a circunferência da coxa ultrapassa o limite de elasticidade daquele denim específico. A imagem parece correta. A costura fica sob uma tensão que a renderização nunca calculou.

Um provador virtual pode mostrar o jeans no seu corpo e ainda assim não fazer ideia se ele vai caber em você.

Essa foi a frase que reformulou o projeto para mim. Uma tabela de medidas são quatro números unidimensionais fingindo descrever um corpo tridimensional, e uma imagem de provador virtual é uma bela renderização bidimensional fingindo ser dado de caimento. Ambos compartilham a mesma cegueira. Nenhum dos dois consegue sentir o tecido. Saber se uma peça veste bem não é uma questão visual. É uma questão mecânica: a tensão circunferencial em cada zona do corpo comparada ao limite elástico daquele tecido. E é por isso que Riley veste 29 no denim selvedge bruto e 28 no denim com elastano, mesmo quando a tabela de medidas é idêntica.

Contour recomendando o Tamanho 28 para o mesmo comprador Riley no jeans slim com elastano Driftwood, observando que aqui a tabela baseada apenas na cintura também indica 28 porque a elasticidade compensa as outras zonas
O mesmo Riley, agora no modelo slim com elastano Driftwood. O tamanho correto cai para 28 com 90% de confiança, porque o denim com elastano compensa a coxa e o quadril de uma forma que o selvedge rígido não permitiria. A peça mudou, o corpo não, e a resposta se alterou.

Por que parei de confiar no modelo para escolher o tamanho?

Deixei um modelo de linguagem escolher o tamanho uma vez, no início, e vê-lo errar com total confiança é a razão pela qual a arquitetura tem o formato atual. Meu primeiro instinto foi o mais óbvio: alimentar o modelo com o corpo, alimentá-lo com a peça de roupa e pedir um tamanho. Ele respondia instantaneamente e com fluência e, nos tecidos rígidos, errava frequentemente da forma mais perigosa possível: errado com alta confiança. Ele havia aprendido a forma de uma resposta de dimensionamento plausível sem fazer o único cálculo que define a verdade.

Então, retirei a decisão do modelo por completo. No Contour, o tamanho é calculado em código Python puro e coberto por testes unitários. Para cada tamanho candidato, o motor calcula zone_strain = (body_circumference − garment_finished_circumference) / garment_finished_circumference em cada zona, compara esse valor com o limite de conforto elástico do tecido e escolhe o tamanho com o menor arrependimento total por zona. Oito testes unitários fixam essa física com precisão. Não há nenhum modelo em nenhuma parte do fluxo que decida o seu tamanho. O modelo de linguagem ainda tem uma função: ler a descrição confusa do fornecedor para transformá-la em uma especificação estruturada do tecido e redigir o resultado como "justo no quadril, solto na coxa". Ele assessora. Ele nunca decide.

Agentes assessoram, o código decide. No momento em que o modelo ganha o direito de opinar sobre o número, perde-se aquilo que tornava o número confiável.

Esta também é a parte da tese que não envelhece, e é a resposta que dou aos engenheiros que perguntam por que não esperei simplesmente por um modelo melhor. Um modelo de linguagem perfeito ainda não eliminaria a necessidade da mecânica dos tecidos, da geometria corporal, do cálculo de tensão por zona e da política de abstenção. Mesmo um orientador impecável precisa ser verificado contra uma grandeza calculada para ser seguro na finalização da compra. O modelo é apenas um orientador substituível dentro da máquina. A máquina é o produto.

O tamanho que o sistema se recusa a adivinhar

Quase lancei uma versão que nunca diz "não sei", e fico feliz que um caso de teste obstinado tenha me feito mudar de ideia. O comprador era Jordan, usando o mesmo denim selvedge rígido Ironside. Executei a verificação de caimento esperando um número claro e, em vez disso, o motor revelou um conflito real: nos tamanhos menores, a coxa ultrapassa o limite de elasticidade do tecido, e nos tamanhos maiores, a cintura fica folgada. Em um denim com zero elasticidade, simplesmente não existe tamanho adequado para todas as zonas. A tabela baseada apenas na cintura, enquanto isso, exibe com confiança 28 e segue em frente.

Contour abstendo-se para Jordan no jeans Ironside, mostrando um conflito genuíno de caimento, recomendando o Tamanho 31 como a opção menos inadequada com 58% de confiança, com cintura e quadril folgados e o conselho de pedir dois tamanhos ou falar com um estilista
Jordan no jeans rígido Ironside: cintura e quadril ficam folgados (-8% e -6%), a coxa fica justa, e nenhum tamanho fica perfeito em todas as partes. O motor indica o tamanho menos inadequado (31) com 58% de confiança e se abstém, orientando a "pedir dois tamanhos ou falar com um estilista", em vez de blefar um número como o confiante 28 da tabela.

A atitude tentadora, aquela que faz a sua precisão geral parecer melhor, é sempre exibir o tamanho menos inadequado e chamá-lo de recomendação. Eu cheguei a escrever essa versão. Depois, fiz o motor se abster em vez disso: ele indica o tamanho menos inadequado, reduz a confiança para 0,58 e declara abertamente: "peça dois tamanhos ou fale com um estilista". Ao longo de toda a avaliação, ele faz isso em 33 de 105 pares de corpo e peça, em vez de adivinhar. Um honesto "nenhum tamanho único funciona perfeitamente aqui" vale mais para o comprador do que um 28 confiante e errado, porque o 28 confiante e errado é exatamente o que gera uma devolução. Recusar-se a responder provou ser um recurso que tive de lutar contra meus próprios instintos de benchmark para manter.

A descrição do fornecedor que não pode ser verdadeira

Tenho uma peça no catálogo que existe exclusivamente para ser rejeitada, e ela surgiu de uma real irritação com a forma como as descrições de produtos são redigidas. O Maverick é descrito pelo próprio fornecedor como "denim selvedge bruto 100% algodão com elasticidade em 4 direções". Essa afirmação é fisicamente incoerente. Um tecido plano rígido de denim selvedge bruto não pode ter simultaneamente elasticidade multidirecional. Mas um extrator ingênuo lê "elasticidade em 4 direções", assume alegremente que o tecido compensa tudo e entrega um tamanho perigosamente errado com um sorriso.

Por isso, entre a extração e a decisão, inseri um crítico adversarial. Ele verifica a especificação de tecido extraída contra restrições físicas e, quando a descrição se contradiz, ele bloqueia a inferência e a encaminha para revisão humana. Nenhuma recomendação de tamanho é emitida. As regras determinísticas dão a palavra final, não o modelo que leu a descrição.

Contour bloqueando o jeans Maverick cuja descrição do fornecedor alega denim selvedge bruto e elasticidade em 4 direções, com mensagem do crítico indicando que a inferência do tecido foi rejeitada por incompatibilidade mecânica e encaminhada para revisão humana sem emissão de tamanho
A descrição do Maverick afirma simultaneamente "selvedge bruto" e "elasticidade em 4 direções". O crítico rejeita a inferência por incompatibilidade mecânica — um tecido plano rígido não pode ter elasticidade em 4 direções — e a encaminha para revisão humana sem emitir nenhuma recomendação, em vez de maquiar uma contradição em um tamanho confiante.

Mantenho este exemplo na tela porque ele representa a versão honesta de "segurança em IA" para este problema. O modo de falha não é o modelo ser criativo. É o modelo estar obedientemente errado sobre uma peça cuja própria descrição mente. Um sistema que sempre responde responderá aqui também, e terá exatamente a mesma confiança sobre o Maverick que tinha sobre um jeans cuja descrição era verdadeira. O objetivo principal é ter uma camada capaz de dizer "estes dois fatos não podem coexistir" e interromper o processo.

O que os números realmente dizem — e o que não dizem

Eu me importo com o benchmark, e me importo ainda mais em declarar o seu escopo com honestidade, porque o número honesto é o que permanece. Em um golden set sintético rotulado de 105 pares, 15 corpos avaliados contra 7 peças, o motor do Contour atinge 100 por cento contra a tabela de tamanhos baseada apenas na cintura, que obtém 60 por cento. Ele elimina o bracketing em 67,6 por cento dos pares, o que significa que o comprador recebe um tamanho de alta confiança e não precisa pedir dois, além de capturar 39 conflitos de caimento — casos em que a correspondência de cintura da tabela escolhe um tamanho que o modelo de tensão comprova que falha em outra zona.

Painel de benchmark do Contour mostrando 100 por cento de precisão do motor versus 60 por cento para a linha de base focada apenas na cintura, um ganho de mais 40 pontos, 105 ajustes avaliados, 39 conflitos identificados e 67,6 por cento de tamanho único, com uma tabela por comprador para o jeans de denim selvedge bruto
O benchmark: motor 100% vs 60% da tabela baseada apenas na cintura no conjunto de 105 pares, um ganho de +40 pontos, com 39 conflitos identificados e bracketing eliminado em 67,6% dos pares. No selvedge rígido (tabela superior), a tabela cai para 33%, exatamente onde o caimento é mais difícil.

Aqui está a parte que me recuso a relativizar. Esse golden set é sintético e seus rótulos usam os mesmos valores mensuráveis de elasticidade de tecido que o motor utiliza; portanto, ele não é um oráculo totalmente independente. Os 100 por cento são uma propriedade deste conjunto construído, não uma promessa de previsão de caimento perfeita no mundo real, e não permitirei que ninguém cite isso como tal. O número que realmente defendo é o ganho de +40 pontos sobre o método estabelecido vigente, a tabela baseada apenas na cintura que a maioria das lojas utiliza hoje, medida sob os mesmos rótulos. Essa vantagem é maior exatamente onde deveria ser: no selvedge rígido e na alfaiataria, onde a tabela cai para 33 por cento, pois um tecido rígido penaliza o tamanho errado e uma malha elástica o perdoa. Onde a física é mais implacável é onde uma imagem menos ajuda, e onde este motor justifica sua existência.

A manchete honesta não é "100% preciso". É "40 pontos melhor do que a tabela em que sua loja já confia, e a maior parte dessa diferença está no denim".

Cada uma dessas recomendações também grava um comprovante em JSON reproduzível: a especificação extraída do tecido com as frases de origem exatas que definiram cada parâmetro, a matriz completa de tensão por tamanho e a decisão final. Portanto, a resposta não é apenas um número. É um número que você pode abrir e auditar, e a mesma carga de dados é disponibilizada em um endpoint /api/fit que um agente de compras com IA pode chamar diretamente. À medida que o comércio avança em direção a agentes que realizam transações por nós, o sinal de dimensionamento que eles consomem deve ser legível por máquina, pontuado por nível de confiança e auditável. Um relatório, não uma imagem.

A pergunta à qual sempre retorno

Iniciei este projeto pensando que estava construindo um estimador melhor, e concluí convencido de que havia criado algo mais próximo de um instrumento de precisão. O trabalho interessante nunca foi prever um tamanho. Foi decidir o que o sistema tem permissão para alegar, quando ele deve se abster, quais contradições deve recusar e como comprova cada resposta posteriormente. Quando altero aquele menu suspenso do jeans rígido para o jeans com elastano e vejo o tamanho correto mudar para um corpo que não mudou, o que sinto não é "o modelo é inteligente". É "a física é real, e finalmente paramos de escondê-la atrás de uma imagem". Você pode testar esse mesmo menu suspenso em veriprajna.com/pt-BR/demos/predicao-de-caimento-com-ia-que-sente-o-tecido-motor-de-dimensionamento-contour e ver isso acontecer.

E se você prefere ver isso em ação a me ler descrevendo, aqui está tudo funcionando de ponta a ponta.

A questão que continuo ponderando, e sobre a qual gostaria genuinamente que outros desenvolvedores debatessem comigo, é em que outros lugares estamos encobrindo um fato mecânico com uma imagem mais bonita. O setor de moda buscou imagens melhores por uma década enquanto a resposta residia em um cálculo de tensão que qualquer engenheiro poderia cobrir com testes unitários. Portanto, no seu próprio domínio, qual é o fato mecânico por trás daquilo que todos continuam tentando renderizar, e você confiaria em uma imagem disso em vez de um número que você mesmo pode verificar?

Pesquisa relacionada

Também publicado em

Construa sua IA com confiança.

Faça parceria com uma equipe que tem profunda experiência na construção da próxima geração de IA empresarial. Deixe-nos ajudá-lo a projetar, construir e implementar uma estratégia de IA em que você possa confiar.

Veriprajna consultoria de Deep Tech é especializada na construção de sistemas de IA críticos para a segurança nas áreas de saúde, finanças e domínios regulatórios. Nossas arquiteturas são validadas em relação a protocolos estabelecidos, com documentação de conformidade abrangente.