Primeiro de cinco posts sobre gateway de IA. Este é o porquê. Depois vêm como montar, quanto custa em latência e onde o modelo local entra.
Resumo
- iFood e Itaú construíram, de forma independente, a mesma coisa: uma camada única entre as aplicações e os provedores de modelo.
- Ela resolve três problemas de uma vez — chave que a aplicação nunca vê, roteamento versionado, e custo atribuível por time.
- Nenhum dos três depende de você ter muitos provedores. Medi cinco produtos reais: a mediana é um provedor por aplicação.
- A régua de quando construir são três perguntas que você responde numa reunião. Estão na seção 3.
1. O que eles construíram
1.1 iFood — GenPlat
A GenPlat é a plataforma unificada de consumo de modelos generativos do iFood, descrita por Igor Martinelli, engenheiro de machine learning da empresa, num relato técnico sobre a construção dela.
Ela atua como um proxy, unificando o acesso a mais de 150 modelos atrás de uma única API. Roda sobre Kubernetes, e centraliza antes de qualquer chamada sair: autenticação, controle de acesso, anonimização de dados sensíveis, governança e auditoria.
E vale olhar a lista de mecanismos que eles descrevem, porque ela é praticamente o índice desta série: LLM Firewall, controle de RPM e TPM, fallback inteligente, observabilidade — mais RAG-as-a-Service e integração com Databricks por cima. Não é um proxy simples com uma chave dentro; é a camada de política inteira.
O caso mais concreto que eles documentaram é o cadastro de cardápio. O restaurante manda o conteúdo pelo Portal do Parceiro; a GenPlat intermedeia a chamada com um prompt específico; o modelo devolve o cardápio estruturado, pronto para revisão. A aplicação não conhece o provedor — conforme o caso publicado com o Google Cloud, a integração com o Vertex AI permite que serviços internos alcancem qualquer modelo, inclusive o Gemini, pela mesma API.
E não é só produto. A GenPlat é usada diariamente pelos desenvolvedores para criação, revisão e documentação de código — mais de 60% do código produzido na empresa já tem apoio de IA.
A escala de agentes internos dá a dimensão do problema que a camada resolve. A meta anunciada em outubro de 2025 era 8 mil agentes até março de 2026. Em março a empresa reportou 9 mil agentes e 32% das atividades redesenhadas; em maio, 14 mil. O CEO Diego Barreto descreveu o objetivo como cada funcionário ter o seu próprio agente, e a Forbes publicou uma reportagem sobre a "fábrica de agentes" que mostra como isso é operado.
Repare no que a escala forçou: para acompanhar esse volume, parte da resposta foi treinar modelo próprio. Não é vaidade técnica — a partir de certo ponto, pagar por token de terceiro em toda chamada deixa de fechar a conta, e o modelo interno vira decisão de custo e de controle.
É o mesmo caminho que a gente percorreu, em escala menor: destilando um SLM para executar procedimentos, a conta caiu 36 vezes — medido em fatura real e GPU-hora, não projetado. O método, o protocolo de avaliação e o que não funcionou estão em Troquei um LLM proprietário por um modelo aberto de 9B.
Por cima disso roda o LCM (Large Commerce Model), modelo proprietário desenvolvido com a Prosus, que segundo a empresa apoiou 12 milhões de pedidos em fevereiro. Foram 3 bilhões de interações com IA generativa nos dois primeiros meses do ano.
1.2 Itaú — Iara
O Iara é a plataforma interna do Itaú, descrita pelo CTO Ricardo Guerra em entrevista à Exame INSIGHT.
Funciona como gateway e orquestrador sobre vários LLMs — GPT da OpenAI, Gemini do Google, Claude da Anthropic e motores proprietários desenvolvidos com a NeoSpace, startup na qual o banco adquiriu participação.
O detalhe que mais importa é o critério de roteamento. O Iara escolhe o motor por interação, avaliando desempenho, custo e qualidade. Não é failover, não é balanceamento — é decisão por chamada, com três dimensões.
Em volta disso o banco montou uma base única de conhecimento e mecanismos de memória de curto e longo prazo, para que a conversa preserve contexto sem abrir mão dos requisitos de segurança e privacidade. Foi sobre esse núcleo que saiu o ia.i, o assistente dentro do app.
A escala: mais de 1.300 modelos de IA em uso, 84% das iniciativas da instituição usando IA de alguma forma, e mais de 760 já com IA generativa incorporada diretamente em produto, serviço ou processo interno.
1.3 O que as duas têm em comum
Duas empresas, dois setores, nenhuma combinação entre elas. As duas chegaram na mesma decisão: nenhuma aplicação fala com provedor direto.
E as responsabilidades que elas colocaram nessa camada são praticamente as mesmas — acesso, roteamento entre modelos, tratamento de dado sensível na fronteira e governança. A GenPlat descreve isso como "centralizar autenticação, controle de acesso, anonimização e governança"; o Iara, como "escolher o motor por desempenho, custo e qualidade sobre uma base única".
Quando duas operações desse porte convergem sozinhas para o mesmo desenho, isso não é tendência. É a forma que o problema tem.
2. O problema que essa camada resolve
Não é um problema. São três, e é por isso que a camada se paga.
2.1 A aplicação nunca vê a chave do provedor
Sem a camada, cada aplicação carrega uma chave real. Elas se multiplicam por .env, por variável de CI, por config de máquina de dev. Ninguém sabe quantas existem, e revogar qualquer uma delas significa descobrir antes o que vai quebrar.
Com a camada, a aplicação recebe uma chave virtual: escopo de modelo, teto de gasto, limite de requisição, revogável por uma chamada. A chave real vive num lugar só.
O ganho fica concreto no dia em que alguém sai da empresa: o acesso morre com a chave virtual, sem ninguém tocar em credencial de produção.
2.2 O roteamento vira configuração versionada
Sem a camada, o nome do modelo está escrito dentro de cada aplicação. Trocar de modelo — porque baixou de preço, porque subiu de qualidade, porque o compliance vetou um provedor — é um pull request em cada repositório, com deploy em cada um.
Com a camada, a aplicação pede rapido ou profundo. Qual modelo atende cada alias é uma linha de YAML, versionada, num arquivo só.
É literalmente o que o Iara faz ao escolher engine por interação. A diferença entre ele e a versão que a sua empresa precisa é escala, não conceito.
2.3 Custo e rastro ficam atribuíveis
Sem a camada, a fatura do provedor chega como um número. Ninguém consegue dizer qual time gastou o quê, qual rota consome mais, ou se aquele pico de terça foi um bug em produção.
Com a camada, gasto por time, por aplicação e por rota. É o que transforma "estamos gastando muito com IA" em uma linha de relatório que alguém consegue acionar.
2.4 Os três valem com um provedor só
Repare que nenhum dos três depende de quantidade de provedor. Uma aplicação, uma chave real no .env, o nome do modelo escrito no código, a fatura sem quebra por time — a camada já se paga.
Isso importa porque a expectativa costuma ser a oposta. Rodei um inventário automático em cinco produtos open source que adicionaram IA como feature — Documenso, Formbricks, Plane, Outline e Teable, 19.669 arquivos: a mediana é um provedor por aplicação. Documenso tem um, Plane um, Formbricks dois, Outline nenhum. O Teable aparece com dez, mas os dez são as opções de um menu que o administrador escolhe — o produto tem um único ponto de integração.
Ou seja: você provavelmente não tem provedor demais. E continua tendo os três problemas.
3. Quando construir
Três perguntas. Você responde as três numa reunião, sem consultar ninguém — e é justamente aí que está o sinal.
3.1 Quantas aplicações da empresa chamam um modelo hoje?
Se você não sabe o número de cabeça, esse já é o primeiro sinal. Acima de cinco, a camada se paga só pelo roteamento: é a partir daí que trocar de modelo vira um pull request em cada repositório em vez de uma linha de configuração.
E o número quase sempre é maior que o lembrado, porque o quarto e o sétimo caso de uso não passaram por aprovação nenhuma — foram alguém resolvendo um problema numa sexta.
3.2 Quem consegue criar uma chave de provedor, e quem consegue revogar?
Se qualquer pessoa cria sem pedir, você não tem controle de acesso — tem um custo variável distribuído.
O teste prático é o segundo verbo: peça para alguém revogar uma chave agora. Se a resposta for "preciso descobrir antes o que quebra", a chave não é revogável na prática, e a saída de um desenvolvedor da empresa vira um incidente em vez de uma tarefa.
3.3 A fatura do mês passado quebra por time ou por aplicação?
Se ela chega como um número só, ninguém consegue agir sobre ela. Não dá para saber qual rota consome mais, qual time cresceu, nem se o pico da semana passada foi produto ou bug.
Custo que não se atribui não se corta — vira discussão de opinião na reunião de orçamento.
E uma que decide sozinha
Exigência contratual ou regulatória sobre para onde o dado vai. Cláusula de confidencialidade com cliente, setor regulado, segredo industrial. Essa não conta como sinal, conta como requisito: com ela, a camada deixa de ser otimização e vira condição para operar.
O contrário também vale
Se você tem três aplicações e sabe exatamente quais são, não construa. A camada custa manutenção — banco, versão, segredo, mais um ponto de falha no caminho de produção — e não resolve nenhum problema que você tenha hoje. Use a chave do provedor direto e volte a isso quando o número crescer.
Duas das três perguntas respondidas mal e a camada se paga. Nenhuma e ela é infraestrutura procurando um problema.
4. O passo antes de qualquer decisão
Repare que quatro dos cinco sinais acima são números que você precisa ter.
É por isso que o passo zero não é escolher ferramenta — é descobrir o que existe. Escrevi um script que faz isso em minutos, sem dependência e sem mandar nada para lugar nenhum, em Quantas aplicações da sua empresa chamam um modelo de IA.
Com o número na mão, os dois próximos posts da série resolvem o resto: como montar a camada, com o Docker Compose completo, e quanto ela custa em latência, medido.
Como ajudamos times a adotar IA
Trabalhamos com times de engenharia que buscam incorporar IA ao dia a dia de desenvolvimento — não como experimento, mas como parte real do fluxo de trabalho.
Isso passa por escolher as ferramentas certas para o contexto do time, configurá-las de forma que façam sentido para a política de dados da empresa e garantir que os desenvolvedores saibam usá-las de um jeito que realmente aumente a produtividade, em vez de gerar mais fricção.
Se você tem um time de desenvolvimento e está tentando colocar IA para trabalhar de forma séria, fale com a gente.

