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:
- Defina Limites Claros: Comece delimitando as operações que a IA pode realizar. Isso evita que o modelo se desvie muito do esperado.
- Use Templates de Consulta: Crie templates para consultas que guiem o modelo e reduzam a complexidade das interações.
- Monitore Comportamentos: Implemente agentes que possam observar interações e sinalizar padrões de comunicação inseguros ou violações de políticas.
- Teste com Frequência: Realize testes regulares e não deixe a validação completa apenas para a integração. Isso ajuda a identificar problemas antes que se tornem críticos.
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!