Integração com IA

O problema de verdade

A IA funciona no teste e derruba a loja em produção

Um cenário comum: alguém testa um prompt no ChatGPT, gosta do resultado e pede para “colocar isso na loja”. O primeiro protótipo chama a API dentro do controller, no meio do request. Na máquina do dev funciona. Em produção, numa tarde de movimento, o provedor leva 50 segundos para responder, o nginx desiste e devolve 504, e o worker do PHP-FPM continua preso esperando uma resposta que ninguém vai ler. Com algumas abas do admin fazendo isso ao mesmo tempo, o pool enche e a vitrine fica lenta.

Integração com IA, do jeito que eu faço, é a parte que vem depois do prompt: onde a chamada roda, o que acontece quando ela falha, quanto custa cada execução e quem confere a resposta antes de ela ir para o banco. Trocar de modelo é fácil. É a estrutura em volta que separa um experimento de uma rotina que roda todo dia sem ninguém olhar.

São mais de 14 anos de profissão e Magento desde 2011, então a integração entra no seu código do jeito que o resto da loja já funciona: módulo no Magento 2, plugin no WooCommerce ou classe com teste num sistema PHP próprio.

Método

Como eu monto uma integração com IA

  1. Escolho uma tarefa só. “Gerar descrição a partir da ficha técnica” é uma tarefa. “Colocar IA na loja” não é. Começo pela que tem mais trabalho manual repetido e menos estrago se a resposta vier errada.
  2. Tiro a chamada do request do usuário. No Magento 2 o trabalho vira mensagem na fila, com consumer rodando em segundo plano. No WooCommerce vira ação do Action Scheduler. Em PHP puro, uma tabela de jobs e um script de CLI no cron, com flock para não rodar duas vezes. O porquê está no post sobre o timeout do PHP-FPM na chamada de IA.
  3. Trato limite de taxa e falha. HTTP 429 e erros 5xx entram em retry com backoff exponencial e jitter, respeitando o Retry-After quando o provedor manda. Passou do teto de tentativas, o job vai para uma lista de falhas que aparece no painel. O passo a passo está em erro 429 na API de IA com backoff exponencial.
  4. Peço saída estruturada e valido. O modelo devolve JSON num schema que eu defino, e o código confere tipo, tamanho e valores permitidos antes de gravar. Resposta fora do schema não encosta no catálogo.
  5. Registro custo e resultado de cada chamada. Modelo usado, tokens de entrada e de saída, tempo de resposta e status ficam numa tabela. Com isso eu digo quanto custou gerar mil descrições, em vez de você descobrir na fatura do cartão.
  6. Deixo a chave fora do git e o provedor trocável. A chave fica em variável de ambiente, fora do repositório e fora do banco (detalhes em chave de API fora do Git). A chamada passa por uma interface minha, e cada provedor é uma implementação dela. Trocar GPT por Claude ou Gemini vira configuração.
  7. Guardo em cache o que se repete. Se o produto não mudou, não pago de novo para gerar o mesmo texto. A chave do cache é um hash do prompt junto com os dados de entrada.
Exemplo

Descrição de produto em lote no Magento 2

Um cenário que aparece muito: a loja importou 4 mil produtos do fornecedor por planilha, só com nome, marca e meia dúzia de atributos, e quer descrição e meta description para todos. O que eu entrego nesse caso:

  • Um comando bin/magento que enfileira os SKUs escolhidos por categoria, atributo ou lista.
  • Um consumer que monta o prompt com os atributos reais de cada produto e pede JSON com descrição, meta title e meta description.
  • Validação antes de gravar: tamanho máximo, só as tags HTML permitidas e nenhuma medida ou material que não esteja nos atributos.
  • Gravação num atributo de rascunho. Alguém aprova no admin antes de o texto ir para a vitrine.
  • Um relatório no fim com quantos passaram, quantos foram barrados na validação e o custo total em tokens.

Como ninguém precisa do resultado na hora, esse tipo de lote vai pelo modo em lote do provedor (OpenAI, Anthropic e Google têm), que processa de forma assíncrona e cobra menos por isso.

Escolha de provedor

GPT, Claude, Gemini ou modelo local: como eu escolho

Não tenho provedor favorito. Escolho por tarefa, testo com amostra real e deixo a porta aberta para trocar. A tabela resume como eu decido hoje:

Comparação prática do meu uso em projetos. Preço por token muda com frequência, então confiro na página de cada provedor no dia do orçamento.
CritérioGPT (OpenAI)Claude (Anthropic)Gemini (Google)Modelo local
Onde rodaAPI da OpenAIAPI da Anthropic, Amazon Bedrock, Google Vertex AI e Microsoft FoundryGemini API (AI Studio) ou Vertex AINo seu servidor, com Ollama ou vLLM
Onde eu mais usoIntegração que já existia com a OpenAI e busca semântica com embeddingsTexto longo, revisão de catálogo e agentes que chamam ferramentasFoto de produto, PDF de fornecedor e pesquisa com fonte da webDado que não pode sair da empresa
Ponto de atençãoA Assistants API foi desligada em 26/08/2026; integração antiga precisa ir para a Responses APIOs modelos mais capazes custam bem mais; volume vai nos menoresNo nível gratuito o Google pode usar os seus dadosExige GPU e fica atrás nas tarefas difíceis
DetalhesIntegração ChatGPTIntegração ClaudeIntegração GeminiFale comigo

Muita integração minha fala com dois provedores: um principal e um de reserva. Se o principal devolve erro por alguns minutos, a fila passa o job para o outro e registra qual modelo respondeu.

Limites

O que fica combinado antes de começar

O que eu não faço

  • Não coloco chamada de IA síncrona no checkout, no carrinho ou na página de produto que o cliente está abrindo.
  • Não publico texto gerado sem revisão em catálogo, política de troca ou qualquer página com efeito jurídico.
  • Não mando CPF, endereço ou histórico de pedido para provedor externo sem necessidade. Quando o dado pessoal é indispensável, ele sai anonimizado ou com base legal, lembrando que envio para fora do país é transferência internacional pela LGPD (Resolução CD/ANPD nº 19/2024).
  • Não treino modelo do zero. Em loja, prompt bem escrito com os dados da própria loja resolve quase tudo.
  • Não prometo porcentagem de economia nem de conversão. Meço antes e depois e mostro o número.

Se o que você precisa é atendimento com IA no WhatsApp, com painel e equipe acompanhando no dia a dia, isso pede time, e eu levo pela Agência Buzz, a minha agência. A parte de código continua comigo.

Perguntas frequentes

Quanto custa integrar IA na minha loja?

São duas contas separadas. O desenvolvimento eu orço por escopo, depois de entender a tarefa. O uso da API é pago direto ao provedor, por token, e eu estimo antes rodando uma amostra real de 50 a 100 itens e multiplicando pelo volume do mês. Assim você sabe a ordem de grandeza do custo mensal antes de aprovar.

Dá para integrar IA no Magento 2 sem deixar a loja lenta?

Dá, desde que a chamada não aconteça no request do cliente. Eu coloco o trabalho numa fila do Magento, com consumer rodando em segundo plano, então vitrine e checkout nunca esperam pela resposta do provedor. O que o cliente vê é o resultado já gravado no banco.

Funciona em WooCommerce também?

Funciona. No WooCommerce eu uso o Action Scheduler, que já vem com ele, para processar em segundo plano, e guardo a chave da API fora do banco e do repositório. O desenho é o mesmo do Magento: fila, validação da resposta e log de custo.

Meus dados vão ser usados para treinar a IA?

Pela API paga da OpenAI, da Anthropic e do Google, os dados não entram no treino por padrão. A exceção que mais pega gente é o nível gratuito da Gemini API, em que o Google pode usar entradas e saídas para melhorar os produtos dele. Em loja com dado de cliente eu só uso nível pago ou Vertex AI, e mesmo assim mando o mínimo necessário.

E se o provedor de IA sair do ar?

A fila segura os jobs e tenta de novo com intervalo crescente. Se a falha passar de um limite, o job vai para o provedor de reserva, quando existe, ou fica marcado para reprocessar depois. Nada que depende da IA trava a operação da loja.

Preciso escolher um provedor só?

Não. Eu escrevo a integração atrás de uma interface própria, e cada provedor é uma implementação dela. Dá para usar o Claude para revisar texto longo e o Gemini para ler foto de produto no mesmo projeto, e trocar qualquer um deles depois sem reescrever o resto.