Nesta aula
Colocar IA no ar sem susto.
Colocar um sistema no ar é a parte fácil. O difícil é fazer isso de um jeito que dê para medir, limitar e voltar atrás. Com IA, o cuidado é maior: cada pedido demora, custa dinheiro e pode trazer uma resposta diferente.
- Listar o que muda quando uma IA entra em produção
- Tirar segredos de dentro do código
- Medir erro e gasto, e publicar com volta
O que muda com a IA
Uma API comum responde em milissegundos, com custo fixo e sempre a mesma resposta. Uma IA quebra essas certezas.
| O que muda | Proteção |
|---|---|
| Tempo variável: de 1 a 60 segundos | Tempo máximo em cada camada |
| Custo por uso: um erro que repete pedidos gasta o mês em horas | Teto diário de gasto |
| Limite de pedidos do provedor | Fila e recusa com erro próprio |
| Respostas diferentes para a mesma entrada | Validar a saída antes de usar |
A API é a porta
API é a forma como um sistema pede algo a outro. Aqui, o atendimento envia um texto e recebe uma categoria. Três cuidados protegem a porta. O texto tem limite, de 1 a 8 mil caracteres; sem isso, alguém manda um livro a cada pedido, e cada palavra custa. A chave de acesso deve ser comparada com secrets.compare_digest, que leva o mesmo tempo acertando ou errando. E a lista de sites autorizados a chamar a API (o CORS) deve ser curta, endereço por endereço, sem curinga.
Segredos fora do código
Código é como uma porta de loja com um bilhete colado: colegas leem, copiam, e às vezes ele vai parar na internet. O que muda de um ambiente para outro fica numa variável de ambiente. O código lê só o nome; o valor fica no servidor. O arquivo .env nunca vai para o repositório, e segredo nunca tem valor padrão: sem a variável, o serviço não sobe.
Um teste: o repositório poderia virar público amanhã sem vazar senha? Se não, algo precisa sair do código.
Tempos limite em ordem
Cada chamada à IA precisa de um tempo máximo. A regra: quem desiste primeiro é sempre o mais de dentro. O provedor desiste em 40 segundos, a API responde com erro próprio, o porteiro (o proxy, como o nginx) espera 50, e o cliente desiste por último. Na ordem inversa, o porteiro devolve erro enquanto a API segue trabalhando e pagando.
Coisa de profissional
O tempo limite do nginx pode enganar. A documentação diz que o proxy_read_timeout, de 60 segundos por padrão, vale entre duas leituras seguidas da resposta, e não para a resposta inteira. Então uma resposta que vai chegando aos poucos pode durar muito mais que 60 segundos sem estourar. Quem põe IA em produção não confia só no porteiro: define também um tempo máximo total dentro da própria API, para um pedido nunca ficar preso e custando.
Observar: logs, métricas e alertas
Três perguntas guiam a observação: o que aconteceu neste pedido, como está o serviço agora, e ele está gastando mais do que o combinado? Registre uma linha por evento, em JSON, com o número do pedido. Conte os erros, meça em quanto tempo 95 de cada 100 pedidos terminam e some os tokens usados. Três alertas cobrem quase tudo: erro alto por alguns minutos, lentidão prolongada e gasto acima do combinado em 24 horas. Teste cada alerta de propósito: um alerta que nunca disparou pode não funcionar.
Publicar aos poucos e voltar
Publicar tudo de uma vez é o jeito mais arriscado. A versão nova entra ao lado da antiga, em etapas.
- Sobe sem tráfego, com endereço próprio para testar.
- Recebe 5% dos pedidos por uma hora, com os alertas observados.
- Se estiver calmo, recebe todo o tráfego.
- Se algo der errado, o tráfego volta para a versão anterior.
Cuidado
Não suba o serviço para a internet sem chave, limite de volume e registro de erros. Desligue a página de documentação da API em produção. E ensaie a volta antes de precisar dela.
Prática · 5 min
- Liste cada segredo do seu sistema e anote onde está. Marque os escritos dentro de arquivo de programa.
- Desenhe o caminho de um pedido: cliente, porteiro, API e provedor. Escreva o tempo máximo de cada um, na ordem certa.
- Escreva três alertas para a madrugada: erro, lentidão e gasto, e o que faria em cada um.
Resumo
- IA em produção demora, custa e varia: cada ponto pede uma proteção.
- Segredo fora do código, sem valor padrão.
- Tempo limite: quem está mais dentro desiste primeiro.
- Publique em etapas, com a volta pronta.
Fontes
Lidas em 30 de outubro de 2026.
- nginx. ngx_http_proxy_module: proxy_read_timeout.
- Python. secrets: compare_digest.
- The Twelve-Factor App. Config: separar a configuração do código.
Quiz da aula
Três situações para aplicar o que viu.
Isaque Victor cursos gratuitos