
Os agentes são o tópico mais moderno em IA atualmente, e por um bom motivo. Os agentes de IA agem em nome dos seus utilizadores, lidando de forma autónoma com tarefas como fazer compras online, criar software, pesquisar tendências de negócios ou reservar viagens. Ao retirar a IA generativa da caixa de areia da interface de bate-papo e permitir que ela atue diretamente no mundo, a IA de agente representa um salto no poder e na utilidade da IA. Tirar a IA de geração da caixa de areia protegida da interface de bate-papo e permitir que ela atue diretamente no mundo representa um salto em frente no poder e na utilidade da IA.
A Agentic AI tem se movido muito rápido: por exemplo, um dos principais blocos de construção dos agentes atuais, o protocolo de contexto do modelo (MCP), tem apenas um ano de existência! Como em qualquer campo em rápida evolução, existem muitas definições concorrentes, opiniões quentes e opiniões enganosas.
Para eliminar o ruído, gostaria de descrever os principais componentes de um sistema de IA agente e como eles se encaixam: Na verdade, não é tão complicado quanto pode parecer. Esperançosamente, quando você terminar de ler esta postagem, os agentes não parecerão tão misteriosos.
Ecossistema agente
As definições da palavra “agente” são abundantes, mas gosto de uma ligeira variação da abordagem minimalista do programador britânico Simon Willison:
Um agente LLM executa ferramentas em loop para atingir uma meta.
O usuário solicita um modelo de linguagem grande (LLM) com um objetivo: digamos, reservar uma mesa em um restaurante próximo a um teatro específico. Junto com o objetivo, o modelo recebe uma lista das ferramentas à sua disposição, como um banco de dados de localização de restaurantes ou um registro das preferências alimentares do usuário. O modelo então planeja como atingir a meta e chama uma das ferramentas, que fornece uma resposta; o modelo então chama uma nova ferramenta. Por meio das repetições, o agente avança em direção ao cumprimento do objetivo. Em alguns casos, as opções de orquestração e planejamento do modelo são complementadas ou aprimoradas por código imperativo.
Mas que tipo de infraestrutura é necessária para concretizar esta abordagem? Um sistema agente precisa de alguns componentes principais:
-
Uma maneira de construir o agente. Ao implantar um agente, você não quer codificá-lo do zero. Existem várias estruturas de desenvolvimento de agentes por aí.
-
Em algum lugar para execute o modelo de IA. Um desenvolvedor de IA experiente pode baixar um LLM aberto, mas é preciso experiência para fazer isso direito. Também é necessário hardware caro que será mal utilizado pelo usuário médio.
-
Em algum lugar para execute o código agente. Com estruturas estabelecidas, o usuário cria código para um objeto agente com um conjunto definido de funções. A maioria dessas funções envolve o envio de prompts para um modelo de IA, mas o código precisa ser executado em algum lugar. Na prática, a maioria dos agentes funcionará na nuvem, porque queremos que eles continuem funcionando quando nossos laptops estiverem fechados e queremos que eles sejam ampliados e ampliados para realizar seu trabalho.
-
Um mecanismo para tradução entre o LLM baseado em texto e chamadas de ferramenta.
-
UM curto prazo memória para rastrear o conteúdo das interações agente.
-
UM memória de longo prazo para rastrear as preferências e afinidades do usuário entre sessões.
-
Uma maneira de rastrear a execução do sistema, para avaliar o desempenho do agente.
Vamos mergulhar em mais detalhes sobre cada um desses componentes.
Construindo um agente
Pedir a um LLM que explique como planeja abordar uma tarefa específica melhora seu desempenho nessa tarefa. Este “raciocínio em cadeia de pensamento” é agora onipresente na IA.
O análogo nos sistemas agenciais é o modelo ReAct (raciocínio + ação), no qual o agente tem um pensamento (“Vou usar a função de mapa para localizar restaurantes próximos”), executa uma ação (emitindo uma chamada de API para a função de mapa) e, em seguida, faz uma observação (“Há duas pizzarias e um restaurante indiano a dois quarteirões do cinema”).
O ReAct não é a única maneira de construir agentes, mas está no centro da maioria dos sistemas de agentes bem-sucedidos. Hoje, os agentes são comumente loops sobre o pensamento-ação-observação sequência.
As ferramentas disponíveis para o agente podem incluir ferramentas locais e ferramentas remotas, como bancos de dados, microsserviços e software como serviço. A especificação de uma ferramenta inclui uma explicação em linguagem natural de como e quando ela é usada e a sintaxe de suas chamadas de API.
O desenvolvedor também pode dizer ao agente para, essencialmente, construir suas próprias ferramentas dinamicamente. Digamos que uma ferramenta recupere uma tabela armazenada como texto separado por vírgula e, para cumprir seu objetivo, o agente precise classificar a tabela.
Classificar uma tabela enviando-a repetidamente através de um LLM e avaliando os resultados seria um desperdício colossal de recursos — e nem mesmo é garantido que o resultado correto seja obtido. Em vez disso, o desenvolvedor pode simplesmente instruir o agente a gerar seu próprio código Python quando encontrar uma tarefa simples, mas repetitiva. Esses trechos de código podem ser executados localmente junto com o agente ou em uma ferramenta dedicada de interpretação de código seguro.
As ferramentas disponíveis podem dividir a responsabilidade entre o LLM e o desenvolvedor. Uma vez especificadas as ferramentas disponíveis para o agente, o desenvolvedor pode simplesmente instruir o agente sobre quais ferramentas usar quando necessário. Ou o desenvolvedor pode especificar qual ferramenta usar para quais tipos de dados e até mesmo quais itens de dados usar como argumentos durante chamadas de função.
Da mesma forma, o desenvolvedor pode simplesmente dizer ao agente para gerar código Python quando necessário para automatizar tarefas repetitivas ou, alternativamente, dizer quais algoritmos usar para quais tipos de dados e até mesmo fornecer pseudocódigo. A abordagem pode variar de agente para agente.
Tempo de execução
Historicamente, havia duas maneiras principais de isolar o código executado em servidores compartilhados: a conteinerização, que era eficiente, mas oferecia menor segurança; e máquinas virtuais, que eram seguras, mas apresentavam muita sobrecarga computacional.
Em 2018, o serviço de computação sem servidor Lambda da Amazon Web Services (AWS) foi implantado Fogo de artifícioum novo paradigma no isolamento de servidores. O Firecracker cria “microVMs”, completos com isolamento de hardware e seus próprios kernels Linux, mas com sobrecarga reduzida (tão baixa quanto alguns megabytes) e tempos de inicialização (tão baixos quanto alguns milissegundos). A baixa sobrecarga significa que cada função executada em um servidor Lambda pode ter seu próprio microVM.
No entanto, como a instanciação de um agente requer a implantação de um LLM, juntamente com os recursos de memória para rastrear as entradas e saídas do LLM, o modelo de isolamento por função é impraticável. Em vez disso, com o isolamento baseado em sessão, cada sessão recebe seu próprio microVM. Quando a sessão termina, as informações de estado do LLM são copiadas para a memória de longo prazo e o microVM é destruído. Isso garante a implantação segura e eficiente de hosts de agentes.
Chamadas de ferramentas
Assim como existem várias estruturas de desenvolvimento para criação de agentes, existem vários padrões para comunicação entre agentes e ferramentas, o mais popular dos quais — atualmente — é o protocolo de contexto de modelo (MCP).
O MCP estabelece uma conexão um-para-um entre o LLM do agente e um servidor MCP dedicado que executa chamadas de ferramenta e também estabelece um formato padrão para transmitir diferentes tipos de dados entre o LLM e seu servidor.
Muitas plataformas usam MCP por padrão, mas também são configuráveis, de modo que darão suporte a um conjunto crescente de protocolos ao longo do tempo.
Às vezes, porém, a ferramenta necessária não possui uma API disponível. Nesses casos, a única forma de recuperar dados ou realizar uma ação é através de movimentos do cursor e cliques em um site. Existem vários serviços disponíveis para realizar esse tipo de uso do computador. Isso torna qualquer site uma ferramenta potencial para agentes, abrindo décadas de conteúdo e serviços valiosos que ainda não estão disponíveis diretamente por meio de APIs.
Autorizações
Com agentes, a autorização funciona em duas direções. Primeiro, é claro, os usuários precisam de autorização para executar os agentes que criaram. Mas como o agente atua em nome do usuário, normalmente exigirá sua própria autorização para acessar os recursos da rede.
Existem algumas maneiras diferentes de abordar o problema da autorização. Uma delas é com um algoritmo de delegação de acesso como o OAuth, que essencialmente analisa o processo de autorização por meio do sistema de agente. O usuário insere credenciais de login no OAuth, e o sistema agente usa o OAuth para fazer login em recursos protegidos, mas o sistema agente nunca tem acesso direto às senhas do usuário.
Na outra abordagem, o usuário efetua login em uma sessão segura em um servidor, e o servidor possui suas próprias credenciais de login em recursos protegidos. As permissões permitem que o usuário selecione entre uma variedade de estratégias e algoritmos de autorização para implementar essas estratégias.
Memória e vestígios
Memória de curto prazo
LLMs são mecanismos de previsão da próxima palavra. O que os torna tão surpreendentemente versáteis é que suas previsões são baseadas em longas sequências de palavras que eles já viram, conhecidas como contexto. O contexto é, em si, uma espécie de memória. Mas não é o único tipo que um sistema agente precisa.
Suponha, novamente, que um agente esteja tentando reservar um restaurante perto de um cinema e, a partir de uma ferramenta de mapa, recupere algumas dezenas de restaurantes em um raio de um quilômetro. Ele não quer despejar informações sobre todos esses restaurantes no contexto do LLM: todas essas informações estranhas poderiam causar estragos nas probabilidades da palavra seguinte.
Em vez disso, ele pode armazenar a lista completa na memória de curto prazo e recuperar um ou dois registros por vez, com base, por exemplo, no preço e nas preferências culinárias do usuário e na proximidade do teatro. Se nenhum desses restaurantes der certo, o agente poderá voltar à memória de curto prazo, em vez de ter que executar outra chamada de ferramenta.
Memória de longo prazo
Os agentes também precisam se lembrar de suas interações anteriores com seus clientes. Se na semana passada eu disse ao agente de reservas do restaurante que tipo de comida eu gosto, não quero ter que contar novamente esta semana. O mesmo se aplica à minha tolerância ao preço, ao tipo de ambiente que procuro e assim por diante.
A memória de longo prazo permite que o agente procure o que precisa saber sobre conversas anteriores com o usuário. No entanto, os próprios agentes normalmente não criam memórias de longo prazo. Em vez disso, após a conclusão de uma sessão, toda a conversa passa para um modelo de IA separado, que cria novas memórias de longo prazo ou atualiza as existentes.
A criação de memória pode envolver resumo e “chunking” do LLM, em que os documentos são divididos em seções agrupadas de acordo com o tópico para facilitar a recuperação durante as sessões subsequentes. Os sistemas disponíveis permitem ao usuário selecionar estratégias e algoritmos para sumarização, chunking e outras técnicas de extração de informações.
Observabilidade
Os agentes são um novo tipo de sistema de software e exigem novas formas de pensar sobre a observação, monitorização e auditoria do seu comportamento. Algumas das perguntas que fazemos parecerão familiares: se os agentes estão trabalhando rápido o suficiente, quanto estão custando, quantas chamadas de ferramentas estão fazendo e se os usuários estão satisfeitos. Mas também surgirão novas questões e não podemos necessariamente prever que dados precisaremos para respondê-las.
As ferramentas de observabilidade e rastreamento podem fornecer uma visão completa da execução de uma sessão com um agente, detalhando passo a passo quais ações foram tomadas e por quê. Para o construtor de agentes, esses rastreamentos são essenciais para entender o desempenho dos agentes e fornecer os dados para que funcionem melhor.
Espero que esta explicação tenha desmistificado a IA agente o suficiente para que você esteja disposto a tentar construir seus próprios agentes!
