Nos dias de hoje, a Inteligência Artificial (IA) tem se tornado um tema central nas discussões sobre tecnologia. Recentemente, assisti a uma palestra do Aaron Erickson na QCon AI NYC 2025 que me fez refletir sobre a importância de encarar a IA agentica como um probrema de engenharia, e não apenas um exercício de criação de prompts. A ideia é que a reliabilidade em sistemas de IA surge da combinação de componentes probabilísticos com limites determinísticos. Isso é um conceito que pode mudar a forma como projetamos sistemas e, claro, a arquitetura de software.

Entendendo a IA Agentica

A proposta de Erickson é bem provocativa. Ele sugere que a IA agentica deve ser vista como uma camada sobre sistemas operacionais reais, ao invés de uma substituição deles. Essa camada é capaz de interpretar perguntas, recuperar evidências, classificar situações e sugerir ações. Por outro lado, sistemas determinísticos são responsáveis por executar essas ações, impor restrições e fornecer a telemetria necessária para avaliar todo o prosseso. Quando tratamos a IA dessa forma, começamos a enxergar um novo horizonte de possibilidades.

Os perigos das consultas complexas

Um ponto importante que ele levantou foi sobre a armadilha comum nas tentativas de converter linguagem natural em SQL ou padrões de consultas similares. É fácil achar que as primeiras tentativas vão bem, já que as perguntas são simples e o esquema pequeno. Mas, assim que o esquema se torna mais complexo, a precisão das respostas cai drasticamente. Uma das soluções que ele mencionou é reduzir os graus de liberdade: simplificar o esquema, restringir as formas de consulta e tratar a expressividade como um custo que deve ser compensado com mais avaliações e salvaguardas. É algo que devemos levar em conta ao projetar nossas aplicações.

Classificação vs Geração de Código

Erickson também destacou a diferença prática entre classificação e geração de código. Quando a tarefa da IA é selecionar entre um pequeno conjunto de categorias conhecidas, o modelo pode ser bastante eficaz. Contudo, quando se trata de inventar um programa arbitrário em um grande espaço de busca, as taxas de erro aumentam. Isso é uma alavanca de design. Podemos pedir ao modelo para classificar uma intenção e, a partir daí, direcioná-lo para um template de consulta determinística ou para uma chamada de ferramenta limitada. Uma abordagem que eu, pessoalmente, acho muto válida.

Escolha de Ferramentas e Especialização

Erickson fez um ponto crucial sobre a escolha de ferramentas ser, em si, um problema de confiabilidade. Ele usou a imagem de um cardápio enorme de cheesecakes para ilustrar isso. Quando as opções parecem similares demais, a qualidade da seleção tende a cair, e o modelo pode, com confiança, escolher um caminho subótimo ou até mesmo perigoso. Por isso, a engenharia de ferramentas deve se tornar parte do produto. As ferramentas precisam ser bem descritas e diferenciadas, ou o agente vai se comportar como um usuário perdido em um cardápio gigante.

A Importância da Especialização

Outro aspecto que ele abordou foi a relevância da especialização de funções. Um agente de propósito geral, que "sabe um pouco sobre tudo", pode ser útil para roteamento e sumarização, mas a correção do sistema depende de componentes feitos para tarefas específicas com contratos estreitos. Ele mencionou um tipo de camada que delega, mas enfatizou que essa orquestração não é o lugar onde a lógica de domínio deve residir. O trabalho mais importante é realizado pelos agentes especializados e pelas ferramentas determinísticas que, de fato, interagem com os sistemas subjacentes.

Dicas Avançadas para Implementação

Se você está pensando em implementar sistemas baseados em IA agentica, aqui vão algumas dicas que podem ajudar:

Conclusão

Para encerrar, a palestra de Erickson trouxe reflexões valiosas sobre como podemos projetar sistemas de IA mais confiáveis. O equilíbrio entre certeza e descoberta é onde a engenharia de plataformas se destaca, e isso deve ser uma prioridade nas nossas práticas de desenvolvimento. A IA está aqui para ficar, e cabe a nós, como arquitetos de software, garantir que ela seja utilizada de maneira segura e eficaz. Acredito que, ao adotarmos essas práticas e abordagens, podemos realmente transformar a forma como as organizações operam.

Fico ansioso para ver como essas ideias vão evoluir e impactar nossa indústria nos próximos anos!