>_
Modo Build
guiaArquitetura de IA

O que código faz melhor que IA

IA e código não são concorrentes. São ferramentas diferentes, feitas para trabalhos diferentes. Entender essa divisão é o que separa sistemas baratos e confiáveis de sistemas caros e frágeis.

16 de junho de 20269 min de leitura

IA e código não são concorrentes.

São ferramentas diferentes. Feitas para trabalhos diferentes.

O erro mais comum que builders cometem não é usar IA demais. É usar IA para o trabalho errado.

E o trabalho errado que IA faz com mais frequência é: calcular, comparar e validar.

A diferença fundamental

Código executa lógica. É determinístico.

Para a mesma entrada, código produz sempre a mesma saída. É previsível. É auditável. É rápido.

IA interpreta. É probabilístico.

Para a mesma entrada, IA pode produzir respostas ligeiramente diferentes. Isso não é um bug. É a natureza do modelo.

É exatamente o que torna IA poderosa para interpretação — e fraca para execução previsível.

O que código faz melhor

Comparação entre o que código faz melhor e o que IA faz melhor
Divisão de responsabilidades: cada ferramenta no trabalho que foi feita para fazer.

Calcular e somar valores.

Código faz isso em microssegundos. IA faz em segundos — e ainda pode errar.

Não é exagero. Há casos documentados de modelos de linguagem errando somas simples quando o contexto estava cheio de outros números. Código nunca erra uma soma.

Comparar datas e números.

"Esta data está no futuro?" "Este valor está acima do limite?" São comparações simples. Uma linha de código resolve.

Não faz sentido gastar tokens para isso.

Validar formatos.

E-mail, CPF, CNPJ, CEP — todos têm padrões fixos. Expressão regular resolve em milissegundos. IA resolve em segundos, com custo em tokens, e com risco de interpretar algo como válido quando não é.

Ordenar e filtrar listas.

Qualquer linguagem de programação faz isso nativamente. É uma das operações mais eficientes que computadores executam. Usar IA para ordenar dados é como usar um ônibus para dar uma volta no quarteirão.

Extrair padrão fixo.

Número de protocolo, código de rastreio, placa de veículo — são padrões fixos. Regex extrai em microssegundos. IA extrai em segundos, com custo, e com risco de confundir o padrão com outro dado similar.

Classificar por regra definida.

"Se o valor for maior que X, classificar como A. Senão, classificar como B." Isso é um if-else. Não é IA. Nunca deveria ser.

Contar ocorrências.

Quantas vezes determinada palavra aparece? Quantos itens têm certa característica? Código conta. IA estima. Para contagem, estimativa não é suficiente.

Executar processo repetível.

Se o processo é o mesmo toda vez — enviar e-mail, atualizar banco de dados, chamar API — é automação. Não é IA.

O que IA faz melhor

Agora o outro lado.

Interpretar linguagem natural. "O cliente está satisfeito ou insatisfeito com base nesse texto?" Isso exige compreensão de contexto. Código não faz. IA faz.

Raciocinar sobre ambiguidade. "Esta cláusula favorece o contratante ou o contratado?" Depende de contexto, de intenção, de linguagem jurídica. IA raciocina. Código executa regras fixas — e cláusulas jurídicas raramente são fixas.

Sumarizar texto longo. Pegar um documento de 50 páginas e extrair os pontos principais. É exatamente para isso que modelos de linguagem foram projetados.

Extrair informação implícita. "Qual é o tom geral desse e-mail — urgente, casual ou formal?" Não está escrito explicitamente. Está nas palavras escolhidas, na estrutura, no contexto. IA extrai. Código não extrai.

Gerar variações de conteúdo. Criar 10 versões de uma mensagem para testes A/B. Adaptar um texto para diferentes públicos. Isso é geração. IA gera. Código não gera linguagem natural com qualidade.

Sintetizar múltiplas fontes. Juntar informações de três documentos diferentes e criar um resumo coerente. É síntese contextual. IA sintetiza. Código concatena — e concatenar não é sintetizar.

A regra mental que organiza tudo

Existe uma pergunta simples que separa os dois casos.

"Esse problema tem uma resposta única, previsível e verificável?"

Se sim — use código.

"Esse problema depende de contexto, julgamento ou interpretação de linguagem natural?"

Se sim — use IA.

Parece óbvio quando está escrito assim.

Mas no calor da implementação, a linha fica turva. Especialmente porque IA resolve os dois tipos de problema — com qualidade diferente e custo diferente.

O caso que aparece com mais frequência

Em um projeto de análise de propostas comerciais, o sistema precisava extrair o valor total de cada proposta e comparar com um orçamento pré-definido.

O sistema original enviava a proposta inteira para IA e pedia: "Qual é o valor total dessa proposta?"

IA respondia. Muitas vezes corretamente. Às vezes extraindo o valor sem imposto. Às vezes incluindo desconto, às vezes não.

O problema não era a proposta. Era a divisão de tarefas.

Extrair o valor de um PDF tem duas partes. A primeira é entender onde o valor está — cada proposta tem formato diferente, isso pode precisar de IA. A segunda é comparar esse valor com o orçamento — isso é código puro.

Quando o sistema separou as duas partes, a confiabilidade da comparação foi para 100%. Porque comparação de números é código. Sempre foi.

O erro simétrico

Existe o erro oposto, menos comum mas igualmente caro.

Usar código para tentar fazer interpretação.

Um sistema tentava classificar e-mails de clientes em categorias usando palavras-chave fixas. Se o e-mail continha "cancelar", era classificado como solicitação de cancelamento.

O problema: cliente que escrevia "quero cancelar a dúvida sobre meu plano" era classificado como cancelamento. Cliente que escrevia "estou pensando em desativar meu contrato" não era classificado como cancelamento.

Código não entende intenção. IA entende.

Palavras-chave resolvem casos simples. Falham exatamente nos casos que importam.

Esse sistema precisava de IA para classificar intenção — porque intenção é interpretação, não busca de padrão fixo.

Como dividir quando não está claro

Quando a tarefa parece estar no meio dos dois casos, a solução é dividir.

Parta da saída esperada e trabalhe para trás.

"O que preciso como resultado final?"

Se o resultado é um dado numérico calculável — a última etapa é código, independente de como o dado chegou.

"O que preciso como entrada para esse cálculo?"

Se a entrada precisa ser extraída de linguagem natural — essa extração é IA. O processamento posterior é código.

Essa separação resolve quase todo caso ambíguo.

A divisão que define a qualidade do sistema

Sistemas bem projetados não escolhem entre IA e código.

Usam os dois onde cada um é melhor.

IA extrai e interpreta. Código processa e valida. IA sintetiza. Código calcula. IA raciocina sobre o contexto. Código aplica as regras do negócio.

Juntos, criam sistemas que são inteligentes e confiáveis.

Quando a divisão não existe — quando IA faz o trabalho de código ou código tenta fazer o trabalho de IA — o sistema paga o preço.

Em tokens desperdiçados. Em latência desnecessária. Em resultados que variam quando deveriam ser fixos.

Checklist de decisão

Antes de implementar qualquer lógica de processamento:

A saída esperada é sempre a mesma para a mesma entrada? Sim → código. É determinístico.

A tarefa depende de compreensão de linguagem natural ou de intenção? Sim → IA.

A tarefa tem partes determinísticas e partes interpretativas? Sim → divida. Cada parte vai para a ferramenta certa.

A IA está sendo usada apenas porque é mais fácil de implementar? Se sim, considere código. Facilidade de implementação não é argumento de arquitetura.

A divisão de responsabilidades não é opcional em sistemas que precisam escalar. É a base que define se o sistema vai custar mais a cada mês ou manter custo estável à medida que o volume cresce.

#arquitetura#código#decisão#boas-práticas#custo#confiabilidade