Introdução
O cenário de desenvolvimento de agentes de IA está passando por uma mudança fundamental. Recentes insights de líderes do setor desafiaram um dos padrões mais amplamente adotados na área: o Model Context Protocol (MCP). Embora o MCP tenha sido concebido para padronizar a interação dos agentes de IA com sistemas externos, evidências emergentes sugerem que essa abstração pode, na verdade, limitar o desempenho dos agentes, aumentar custos e reduzir a autonomia. Neste guia abrangente, vamos explorar por que a execução de código está surgindo como uma alternativa superior ao MCP, como ela pode reduzir o consumo de tokens em até 98% e o que isso significa para o futuro da arquitetura de agentes de IA. Esteja você construindo sistemas de IA corporativos ou explorando automação baseada em agentes, entender essa mudança de paradigma é essencial para tomar decisões arquitetônicas bem informadas.
Entendendo o Model Context Protocol: O Que É e Por Que Surgiu
O Model Context Protocol representa uma tentativa significativa de padronizar o desenvolvimento de agentes de IA. Em sua essência, o MCP é um padrão aberto projetado para conectar agentes de IA a sistemas externos, APIs e fontes de dados. O conceito fundamental por trás do MCP é elegante: ao invés de cada desenvolvedor criar integrações personalizadas entre seus agentes de IA e ferramentas externas, o MCP oferece um protocolo universal que permite implementar integrações uma vez e depois compartilhá-las em todo o ecossistema. Essa padronização transformou a comunidade de IA, viabilizando uma colaboração e compartilhamento de ferramentas sem precedentes entre desenvolvedores no mundo todo.
Sob uma perspectiva técnica, o MCP é basicamente uma especificação de API otimizada para o consumo de agentes de IA, e não de desenvolvedores humanos. Enquanto APIs tradicionais são construídas pensando na experiência do desenvolvedor, os MCPs são arquitetados especificamente para serem consumidos por grandes modelos de linguagem e agentes autônomos. O protocolo define como os agentes devem solicitar informações, como as ferramentas devem ser descritas e como os resultados devem ser formatados para a melhor compreensão do agente. A grande virada do MCP não foi necessariamente o protocolo em si — foi a adoção em larga escala pela indústria, que criou um ecossistema unificado. Quando a Anthropic e outros grandes players padronizaram o MCP, isso significou que desenvolvedores poderiam criar ferramentas uma vez e tê-las funcionando perfeitamente em várias plataformas e implementações de agentes.
A proposta de valor do MCP é convincente: ele promete desbloquear um ecossistema inteiro de integrações, reduzir o tempo de desenvolvimento e permitir que agentes acessem milhares de ferramentas sem necessidade de engenharia personalizada para cada integração. Essa padronização levou a uma rápida proliferação de servidores MCP na indústria, com desenvolvedores criando servidores especializados para tudo, de acesso a bancos de dados a integrações com APIs de terceiros. A promessa era que, à medida que o número de servidores MCP disponíveis crescesse, os agentes se tornariam cada vez mais capazes e autônomos, conseguindo lidar com tarefas mais complexas ao aproveitar um ecossistema rico de ferramentas prontas.
Os Custos Ocultos do MCP: Por Que o Consumo de Tokens e a Autonomia do Agente Importam
Embora o MCP tenha resolvido o problema da padronização, ele introduziu um novo conjunto de desafios que se tornam cada vez mais evidentes à medida que os agentes de IA se tornam mais sofisticados e são implantados em escala. O problema mais significativo é o consumo excessivo de tokens, que impacta diretamente tanto o custo quanto a performance dos agentes de IA. Entender por que isso acontece exige examinar como os servidores MCP são normalmente implementados e como os agentes interagem com eles na prática.
Quando um agente de IA se conecta a um servidor MCP, ele recebe uma documentação completa sobre todas as ferramentas disponíveis naquele servidor. Um servidor MCP típico contém entre 20 e 30 ferramentas diferentes, cada uma com descrições detalhadas, especificações de parâmetros e exemplos de uso. Em ambientes reais, as organizações raramente conectam apenas um servidor MCP aos seus agentes. Geralmente, integram cinco, seis ou até mais servidores MCP para fornecer aos agentes acesso a diversas capacidades. Isso significa que, mesmo quando o agente precisa usar apenas uma ferramenta específica, toda a janela de contexto é preenchida com descrições e metadados de todas as ferramentas disponíveis em todos os servidores conectados. Esse é o primeiro grande ponto de desperdício de tokens: os agentes são obrigados a carregar informações sobre ferramentas que não vão utilizar, aumentando a latência, o custo e potencialmente as taxas de alucinação.
A segunda grande fonte de consumo de tokens vem dos resultados intermediários das ferramentas. Considere um cenário prático: um agente precisa buscar uma transcrição no Google Drive para extrair uma informação específica. A ferramenta MCP para recuperar documentos pode retornar 50.000 tokens de conteúdo ou, no caso de documentos maiores, pode até exceder os limites da janela de contexto. No entanto, o agente pode precisar apenas do primeiro parágrafo ou de uma seção específica dessa transcrição. Mesmo assim, o documento inteiro é passado pela janela de contexto, consumindo tokens desnecessariamente e até mesmo excedendo os limites de contexto disponíveis. Essa ineficiência se multiplica em fluxos de trabalho complexos com várias chamadas de ferramentas, e em fluxos de agentes com dezenas de etapas, o desperdício de tokens se torna gigantesco.
Para além do consumo de tokens, há uma questão arquitetural mais profunda: o MCP reduz a autonomia do agente. Cada camada de abstração adicionada a um sistema de agentes restringe o que o agente pode fazer e como pode resolver problemas de forma flexível. Quando os agentes são obrigados a trabalhar dentro das limitações de definições de ferramentas pré-estabelecidas e interfaces fixas do MCP, eles perdem a capacidade de se adaptar, transformar dados de maneiras inovadoras ou criar soluções personalizadas para problemas específicos. O propósito fundamental de construir agentes de IA é alcançar a execução autônoma de tarefas, mas a camada de abstração do MCP, na verdade, atua contra esse objetivo ao limitar a flexibilidade e a capacidade de decisão do agente.
Por Que a Execução de Código é a Abstração Superior para Agentes de IA
A abordagem alternativa que está ganhando força enfrenta essas limitações ao aproveitar uma capacidade fundamental dos modernos grandes modelos de linguagem: a geração de código. Em vez de depender de definições de ferramentas pré-estabelecidas e interfaces fixas do MCP, essa abordagem permite que os agentes gerem e executem código diretamente, chamando APIs e ferramentas conforme necessário por meio do código, e não de um protocolo padronizado. Isso representa uma reinterpretação fundamental de como os agentes devem interagir com sistemas externos.
A arquitetura para essa abordagem de execução de código é elegantemente simples. Em vez de conectar-se a servidores MCP, o sistema mantém uma hierarquia estruturada de pastas, onde cada pasta representa um servidor MCP e, dentro de cada pasta, há subpastas para categorias específicas de ferramentas, contendo arquivos TypeScript simples que implementam cada ferramenta individualmente. Quando o agente precisa usar uma ferramenta, ele não consulta uma definição prévia na janela de contexto — em vez disso, ele gera um código que importa a ferramenta necessária da pasta apropriada e a chama diretamente. Essa abordagem muda fundamentalmente o fluxo de informação no sistema e como os agentes interagem com capacidades externas.
As melhorias de performance dessa abordagem são dramáticas. Ao passar para a janela de contexto apenas a ferramenta específica que o agente precisa, ao invés de todas as ferramentas disponíveis em todos os servidores conectados, o consumo de tokens para definições de ferramentas cai drasticamente. Mais importante ainda, os agentes agora conseguem lidar de maneira inteligente com resultados intermediários. Em vez de passar um documento de 50.000 tokens pela janela de contexto, o agente pode salvar esse documento no sistema de arquivos e extrair apenas as informações específicas de que necessita. Em implementações reais, essa abordagem demonstrou reduzir o consumo de tokens em até 98% em comparação com MCPs tradicionais, ao mesmo tempo em que melhora a performance e a autonomia dos agentes.
Divulgação Progressiva: Acesso Ilimitado a Ferramentas Sem Inchaço de Contexto
Um dos benefícios mais poderosos da abordagem de execução de código é o que se chama de “divulgação progressiva”. Com o MCP tradicional, os agentes são limitados pelo tamanho da janela de contexto — há um teto prático para o número de ferramentas que podem ser conectadas antes que a janela de contexto fique lotada demais. Com execução de código, essa limitação praticamente desaparece. Um agente pode teoricamente ter acesso a milhares de servidores MCP e ferramentas, mas só carrega as ferramentas específicas que precisa em cada momento.
Isso é viabilizado por um mecanismo de busca que permite aos agentes descobrir quais ferramentas e servidores MCP estão disponíveis. Quando o agente encontra uma tarefa que exige uma ferramenta inédita, ele pode pesquisar entre as disponíveis, encontrar a mais adequada, importar e usá-la. Isso cria uma arquitetura fundamentalmente mais escalável, onde o número de ferramentas disponíveis não prejudica a performance do agente. Organizações podem construir ecossistemas completos de ferramentas sem se preocupar com limitações de contexto, e agentes podem descobrir e usar novas ferramentas conforme necessário sem necessidade de reimplantação ou reconfiguração.
As implicações práticas são significativas. Uma grande empresa pode ter centenas de APIs internas, bancos de dados e serviços que deseja disponibilizar para seus agentes. Com o MCP tradicional, conectar tudo isso criaria uma janela de contexto inchada e inviável. Com a divulgação progressiva via execução de código, os agentes podem acessar todo esse ecossistema de forma eficiente, descobrindo e usando ferramentas conforme necessário. Isso permite capacidades realmente abrangentes para os agentes, sem as penalidades de performance dos MCPs tradicionais.
Empresas, principalmente em setores regulados, têm preocupações importantes com privacidade e exposição de dados. Ao usar o MCP tradicional com provedores de modelos externos como Anthropic ou OpenAI, todos os dados que passam pelo agente — incluindo informações sensíveis de negócios, dados de clientes e informações proprietárias — são transmitidos para a infraestrutura do provedor do modelo. Isso é frequentemente inaceitável para organizações com requisitos rigorosos de governança de dados ou obrigações regulatórias.
A abordagem de execução de código oferece uma solução por meio do que chamamos de “data harness” (camada de proteção de dados). Ao implementar a execução de código em um ambiente controlado, as organizações podem adicionar uma camada que anonimiza ou retira automaticamente dados sensíveis antes que sejam expostos a provedores externos de modelos. Por exemplo, uma ferramenta que busca dados de clientes em uma planilha pode ser modificada para anonimizar automaticamente e-mails, telefones e outros dados pessoais. O agente ainda tem acesso aos dados necessários para executar sua tarefa, mas as informações sensíveis ficam protegidas de terceiros.
Essa capacidade é especialmente valiosa para quem lida com dados de saúde, informações financeiras ou outros tipos de dados regulados. Em vez de escolher entre capacidades do agente e privacidade de dados, as organizações podem ter ambos. O agente acessa o que precisa para executar tarefas, mas as informações sensíveis são protegidas automaticamente pela camada de proteção. Essa abordagem tem se mostrado especialmente atraente para clientes corporativos que desejam aproveitar agentes de IA mas não podem aceitar os riscos de privacidade dos MCPs tradicionais.
Persistência de Estado e Evolução de Habilidades do Agente
Talvez o benefício mais transformador da abordagem de execução de código seja a possibilidade de os agentes criarem, persistirem e evoluírem suas próprias habilidades. Em implementações tradicionais do MCP, o conjunto de ferramentas disponíveis é fixo no momento do deploy. Um agente pode usar as ferramentas que recebeu, mas não pode criar novas ou modificar as existentes. Com execução de código, os agentes podem gerar novas funções e salvá-las no sistema de arquivos, criando habilidades persistentes que podem ser reutilizadas em tarefas futuras.
Essa capacidade está diretamente relacionada ao conceito emergente de “skills” (habilidades) na arquitetura de agentes, recentemente introduzido por grandes instituições de pesquisa em IA. Em vez de pensar nos agentes como tendo um conjunto fixo de capacidades, podemos vê-los como tendo um repertório de habilidades que cresce e evolui com o tempo. Quando um agente encontra uma tarefa que exige uma capacidade inexistente, ele pode criá-la, testá-la e salvá-la para futuros usos. Com o tempo, agentes tornam-se cada vez mais capazes e especializados para seu domínio e casos de uso específicos.
As implicações para o desenvolvimento de agentes são profundas. Em vez de desenvolvedores terem que antecipar toda e qualquer ferramenta que um agente possa precisar, os próprios agentes podem criar suas ferramentas conforme necessário. Isso cria uma abordagem mais adaptativa e orientada ao aprendizado para o desenvolvimento de agentes, onde as capacidades emergem organicamente com base nos padrões e demandas reais de uso. Um agente que trabalha em um domínio específico pode desenvolver um conjunto rico de habilidades especializadas para aquele domínio — habilidades que um desenvolvedor talvez nunca pensasse em construir manualmente.
Implementação da Arquitetura de Execução de Código pelo FlowHunt
O FlowHunt reconheceu as limitações das implementações tradicionais de MCP e construiu sua infraestrutura de agentes baseada na execução de código. Essa escolha arquitetônica reflete um entendimento profundo do que torna os agentes realmente autônomos e eficazes. Ao implementar a execução de código como mecanismo principal de interação entre agente e ferramenta, o FlowHunt permite que seus usuários criem agentes mais eficientes, autônomos e econômicos do que aqueles baseados em MCP tradicional.
A plataforma FlowHunt fornece a infraestrutura necessária para implementar execução de código de forma segura e confiável. Isso inclui um ambiente sandbox seguro onde agentes podem gerar e executar código com segurança, monitoramento e logging abrangentes para acompanhar o comportamento dos agentes, e mecanismos embutidos de proteção de dados para garantir o tratamento adequado de informações sensíveis. Em vez de exigir que os usuários construam essa infraestrutura do zero, o FlowHunt oferece como um serviço gerenciado, permitindo que os usuários foquem em criar agentes eficazes ao invés de gerenciar infraestrutura.
A abordagem do FlowHunt também inclui capacidades de divulgação progressiva, permitindo que usuários conectem centenas ou milhares de ferramentas e APIs sem degradação de performance. A plataforma gerencia descoberta de ferramentas, geração de código e execução de maneira otimizada para performance e confiabilidade. Os usuários podem construir ecossistemas completos de agentes que crescem e evoluem ao longo do tempo, com agentes descobrindo e usando novas capacidades conforme necessário.
As Limitações Práticas e Trade-offs da Execução de Código
Embora a abordagem de execução de código ofereça vantagens significativas, é importante reconhecer suas limitações e trade-offs. A primeira grande limitação é a confiabilidade. Quando os agentes precisam gerar código toda vez que chamam uma ferramenta, há naturalmente mais espaço para erros. O agente pode gerar código sintaticamente incorreto, cometer erros lógicos ao chamar uma ferramenta ou interpretar incorretamente os parâmetros exigidos por uma API. Isso requer tratamento robusto de erros, mecanismos de retry e, potencialmente, supervisão humana para operações críticas. O MCP tradicional, com suas definições de ferramentas fixas e interfaces pré-determinadas, é inerentemente mais confiável, pois há menos espaço para erros do agente.
A segunda limitação importante é a sobrecarga de infraestrutura. Implementar execução de código de forma segura exige configurar um ambiente sandbox onde agentes possam executar código sem comprometer a segurança do sistema ou acessar recursos não autorizados. Esse sandbox precisa ser isolado do sistema principal, ter acesso controlado a APIs externas e ser monitorado por questões de segurança. Montar essa infraestrutura exige esforço e expertise em engenharia. Organizações que consideram a execução de código precisam construir essa estrutura internamente ou utilizar uma plataforma como o FlowHunt, que oferece isso como serviço gerenciado.
Há também considerações operacionais. Execução de código requer monitoramento e logging mais sofisticados para entender o que os agentes estão fazendo e depurar problemas quando eles surgirem. O MCP tradicional, com suas definições de ferramentas fixas, é mais fácil de monitorar e entender pois as ações possíveis são mais restritas. Com execução de código, os agentes têm mais liberdade, o que significa mais possibilidades de comportamentos inesperados que precisam ser investigados e compreendidos.
Quando o MCP Ainda Faz Sentido: Casos de Uso e Cenários
Apesar das vantagens da execução de código, o MCP não está se tornando obsoleto. Existem cenários específicos em que o MCP continua sendo a escolha adequada. Casos de uso simples e bem definidos, com baixa complexidade de API, são bons candidatos para MCP. Por exemplo, cenários de suporte ao cliente, onde o agente precisa criar tickets, consultar status ou acessar uma base de conhecimento, não exigem a flexibilidade da execução de código. As APIs são diretas, as transformações de dados são mínimas e os benefícios de confiabilidade das interfaces fixas do MCP superam as vantagens de flexibilidade da execução de código.
O MCP também faz sentido quando você está construindo ferramentas que serão usadas por vários agentes e organizações diferentes. Se você cria uma ferramenta que deseja compartilhar no ecossistema, implementá-la como um servidor MCP a torna acessível para uma ampla gama de usuários e plataformas. A padronização do MCP é valiosa para distribuição de ferramentas e construção de ecossistemas, mesmo que não seja a melhor opção para performance individual do agente.
Além disso, para organizações que não têm expertise ou recursos de infraestrutura para implementar execução de código com segurança, o MCP oferece um caminho mais simples para o desenvolvimento de agentes. O trade-off é perder um pouco de performance e autonomia, mas os benefícios de simplicidade e confiabilidade podem valer a pena para certas organizações ou casos de uso.
O Princípio Arquitetônico Mais Amplo: Reduzindo Camadas de Abstração
A mudança do MCP para execução de código reflete um princípio arquitetônico mais amplo: cada camada de abstração adicionada a um sistema de agentes reduz sua autonomia e flexibilidade. Quando você força agentes a trabalhar por meio de interfaces pré-definidas e definições de ferramentas fixas, está restringindo o que eles podem fazer. Os modernos grandes modelos de linguagem são notavelmente bons em gerar código, o que faz sentido permitir que eles trabalhem diretamente com código e APIs em vez de passarem por camadas intermediárias de abstração.
Esse princípio vai além do MCP. Ele sugere que, à medida que agentes de IA se tornam mais capazes, devemos pensar em como dar a eles acesso mais direto aos sistemas e dados de que precisam, em vez de construir cada vez mais camadas de abstração. Cada camada adiciona complexidade, aumenta o consumo de tokens e reduz a capacidade do agente de se adaptar e resolver problemas inéditos. As arquiteturas de agentes mais eficazes provavelmente serão aquelas que minimizam abstrações desnecessárias e permitem que os agentes atuem da forma mais direta possível com os sistemas subjacentes.
Isso não significa abandonar todas as abstrações — algum nível de estrutura e proteção é necessário. Mas significa ser intencional sobre quais abstrações adicionar e por quê. A abordagem de execução de código representa um caminho mais direto, menos abstrato, para construir agentes, e as melhorias de performance demonstram que esse caminho vale a complexidade adicional de infraestrutura.
Considerações de Implementação e Melhores Práticas
Para organizações que consideram migrar do MCP para execução de código, há várias considerações de implementação a serem observadas. Primeiro, é necessário estabelecer um ambiente sandbox seguro. Isso pode ser um ambiente containerizado, uma máquina virtual ou um serviço especializado para execução segura de código. O sandbox precisa ser isolado dos sistemas principais, com acesso de rede controlado e monitoramento de segurança. Segundo, é preciso implementar tratamento abrangente de erros e lógica de retry. Como os agentes geram código, é preciso estar preparado para erros de sintaxe, lógicos e falhas de API. O sistema deve ser capaz de detectar esses erros, fornecer feedback significativo ao agente e permitir novas tentativas ou abordagens alternativas.
Terceiro, é importante estabelecer convenções claras para organização e nomenclatura das ferramentas. A estrutura de pastas e os nomes usados impactarão significativamente a facilidade com que os agentes descobrem e utilizam as ferramentas. Ferramentas bem organizadas e nomeadas são mais fáceis de encontrar e usar corretamente. Quarto, é fundamental implementar mecanismos de proteção de dados desde o início. Seja por meio de anonimização, redação ou outras técnicas, é necessário ter uma estratégia clara para proteger dados sensíveis à medida que fluem pelo sistema de agentes.
Por fim, é preciso investir em monitoramento e observabilidade. Execução de código cria mais complexidade e mais possibilidades de comportamentos inesperados. Logging, monitoramento e alertas abrangentes ajudarão a entender o que os agentes estão fazendo e identificar e resolver rapidamente quaisquer problemas.
O Futuro da Arquitetura de Agentes
A mudança do MCP para execução de código representa uma evolução mais ampla em como pensamos a arquitetura de agentes de IA. À medida que os agentes se tornam mais capazes e amplamente utilizados, estamos percebendo que as abstrações construídas para sistemas menos capazes tornam-se, agora, restrições. O futuro da arquitetura de agentes provavelmente envolverá ainda mais interação direta entre agentes e os sistemas com os quais precisam trabalhar, com menos camadas de abstração intermediárias.
Essa evolução provavelmente virá acompanhada de melhorias em confiabilidade e segurança dos agentes. Conforme damos mais acesso direto aos sistemas, precisamos de mecanismos melhores para garantir que esse acesso seja usado de maneira responsável. Isso pode envolver sandboxes mais sofisticados, monitoramento e auditoria aprimorados, ou novas abordagens para alinhamento e controle dos agentes. O objetivo é maximizar a autonomia e a eficácia dos agentes, mantendo os devidos limites de segurança.
Também é provável que vejamos uma evolução contínua na forma como os agentes descobrem e utilizam ferramentas. Divulgação progressiva já é um avanço, mas podem surgir abordagens ainda mais sofisticadas à medida que o setor amadurece. Os agentes poderão aprender a prever quais ferramentas vão precisar antes mesmo de precisar delas, ou otimizar a seleção de ferramentas com base em características de desempenho e custos.
A abordagem de execução de código também abre possibilidades para que agentes otimizem sua própria performance ao longo do tempo. Um agente pode gerar código para resolver um problema, depois analisar esse código para identificar otimizações ou melhorias. Com o tempo, agentes poderão desenvolver soluções cada vez mais sofisticadas e eficientes para problemas recorrentes, aprendendo e melhorando pela experiência.
Conclusão
O surgimento da execução de código como alternativa ao MCP representa uma mudança fundamental em como pensamos a arquitetura de agentes de IA. Ao permitir que agentes gerem e executem código diretamente, em vez de trabalharem com definições e interfaces fixas de ferramentas, podemos reduzir drasticamente o consumo de tokens, melhorar a autonomia do agente e viabilizar capacidades mais sofisticadas. Embora o MCP continue tendo seu papel em cenários específicos e para distribuição de ferramentas, a execução de código está provando ser a abordagem superior para construir agentes de IA autônomos e de alta performance. A redução de 98% no consumo de tokens, aliada à melhoria na performance e autonomia dos agentes, mostra que essa mudança arquitetônica não é apenas teoricamente sólida, mas praticamente valiosa. À medida que as organizações constroem sistemas de agentes de IA mais sofisticados, entender essa evolução arquitetônica e tomar decisões embasadas sobre qual abordagem usar será fundamental para o sucesso. O futuro dos agentes de IA não está em adicionar mais camadas de abstração, mas sim em remover as desnecessárias e dar aos agentes o acesso direto e a flexibilidade de que precisam para resolver problemas complexos de forma autônoma e eficiente.