Agentes de IA com LLMs são o assunto do momento. É tentador imaginar um sistema capaz de pensar e resolver problemas por conta própria, com pouca ou nenhuma supervisão humana, especialmente quando se fala em inteligência artificial aplicada aos negócios. Em muitos casos, contudo, construir um agente não só é desnecessário, é algo para evitarmos.
Há muitas formas de se definir um agente. A forma utilizada pela OpenAI e Anthropic embarca aquelas implementações que garantem autonomia a um sistema baseado em IA. Agentes têm mais autonomia que meros workflows, onde o caminho já está traçado por um conjunto fixo de etapas. Vamos chamar aqui, de agentes, as arquiteturas em que o modelo decide por conta própria as rotas a seguir e as ferramentas a usar.
Agentes são algo que devemos evitar, se há dúvida no seu uso. Em primeiro lugar, porque quanto maior a autonomia, maior a complexidade do sistema. Isso afeta custos (mais chamadas de modelo, mais consumo de recursos), aumenta o risco de erros em cascata e eleva a latência. Se o que precisamos é uma resposta imediata a consultas comuns, ou uma simples pipeline de verificação e tradução, não faz sentido montar um robô rodando dezenas de iterações internas.
A recomendação, portanto, é começar pelo básico. Em muitos casos, uma única chamada de LLM com capacidade de fazer busca em um repositório ou usar exemplos bem selecionados em contexto já resolve o problema. O princípio aqui é: só complicar se for realmente necessário.
Há muitas formas de implementar fluxos sofisticados sem o uso de agentes, com workflows que conduzem o processo passo a passo, mas sem dar total liberdade de decisão ao modelo. Uma delas envolve decompor o problema em subtarefas, cada qual refinando a saída da anterior; outra faz uma triagem para classificar a requisição e encaminhá-la ao fluxo mais adequado. Também existe a opção de separar o problema em partes independentes, executadas simultaneamente ou comparadas entre si para eleger a melhor solução. Em outro método, um componente central designa subtarefas a instâncias especializadas e depois une os resultados. Por fim, há abordagens em que uma etapa gera o conteúdo e outra o avalia, fornecendo feedback para um refinamento iterativo.
Essas arquiteturas colaborativas fornecem certo grau de sofisticação e adaptabilidade sem mergulhar de cabeça na autonomia total, sem o uso de agentes. É como se dividíssemos uma história em capítulos, cada capítulo sendo escrito ou revisado por um escritor distinto, garantindo controle sobre cada etapa. Isso reduz a probabilidade de erros se acumularem de forma descontrolada.
Já os agentes propriamente ditos são úteis em cenários mais abertos, em que o caminho para a solução não pode ser previsto de antemão. Eles encontram aplicação concreta em geradores de código, por exemplo, onde pode ser preciso alterar múltiplos arquivos, navegar por dependências complicadas e testar cada alteração para garantir a qualidade.
Um outro bom exemplo são sistemas de atendimento ao cliente que, além de conversar com o usuário, podem agir em bancos de dados, emitir ordens de reembolso ou encaminhar problemas internos à equipe certa. Nesses contextos, a capacidade de decidir como proceder a cada passo é justamente a razão de ser do agente. Mas note que o sucesso aqui depende de boas práticas de desenvolvimento, interfaces bem projetadas (tão cuidadosas quanto uma boa experiência de usuário) e, sobretudo, limites e monitoramento robustos.
Nem todo projeto precisa de um agente. Na maioria dos casos, adotar workflows bem estruturados ou até mesmo apenas uma chamada única a um LLM já é o suficiente.