Voltar as noticias
Vá para agentes de IA: um relatório de campo
Agentic SEOMediaEN

Vá para agentes de IA: um relatório de campo

Dev.to - MCP·12 de abril de 2026

Este é um post que eu queria escrever há um tempo. Não porque eu acho que descobri algo, mas porque continuo recebendo a mesma reação quando menciono minha pilha: "espera, você está fazendo coisas de agente em Go?" Então aqui está a resposta longa.

O ecossistema de IA agente funciona em Python. LangChain, CrewAI, AutoGen, Semantic Kernel, LlamaIndex, tudo Python. Os SDKs são primeiro em Python. Os tutoriais assumem Python. Se você quiser construir algo para agentes de IA, o caminho de menor resistência é pip install.

Eu fui pelo outro caminho. Nas últimas semanas, construí cinco projetos relacionados a agentes em Go: um proxy de governança, um servidor de memória, uma ponte MCP para Ollama, um agente de pesquisa autônomo e um backend de painel de gerenciamento. Essa não foi uma decisão cuidadosamente planejada. Comecei com um projeto, funcionou, graças ao Claude, e continuei. Este é um relatório de campo sobre essa escolha, para melhor ou para pior.

Os projetos

Projeto O que faz Linhas Go Binário Dependências diretas
agent-mesh Proxy de governança para chamadas de ferramentas de agente 11.340 7,2 MB 1 (yaml.v3)
mem7 Servidor MCP de memória compartilhada 2.938 1 (sqlite)
scout7 Agente de pesquisa web autônomo 1.112 9,3 MB 1 (yaml.v3)
ollama-mcp-go Servidor MCP para Ollama 929 8,4 MB 0
agent7 Painel de gerenciamento de malha

O padrão que se destaca: agent-mesh tem uma dependência externa. Onze mil linhas de Go cobrindo o cliente e servidor MCP, um mecanismo de políticas, limitador de taxa, fluxo de aprovação, armazenamento de rastreamento, exportador OTEL, proxy HTTP e CLI. Tudo construído na biblioteca padrão mais um analisador YAML. ollama-mcp-go não tem dependências externas. Eu não planejei isso. Continuou funcionando sem puxar mais pacotes, então nunca fiz.

Por que Go para essa camada

Agentes de IA precisam de duas coisas para funcionar: um LLM que raciocina e uma infraestrutura que move dados entre o LLM e o mundo exterior. A primeira parte são pesos de modelo e matemática de tensor, e o Python domina esse espaço por um bom motivo. A segunda parte é rede, concorrência, serialização e gerenciamento de processos. Isso é encanamento. Go foi projetado para encanamento.

MCP é um problema de concorrência. Um proxy MCP gerencia múltiplos subprocessos stdio (um por servidor upstream), cada um com seu próprio par stdin/stdout, além de solicitações de entrada de múltiplos agentes via HTTP ou stdio. agent-mesh inicia todos os servidores MCP em paralelo na inicialização, e goroutines com canais tornam isso natural. O código equivalente em Python seria tarefas asyncio com pipes de subprocesso, que funciona, mas pode ser difícil de implementar corretamente.

A distribuição de binário único importa. curl | tar xz e ele roda. Sem tempo de execução, sem virtualenv, sem node_modules. Quando seu usuário é um desenvolvedor configurando o Claude Code, "baixar um arquivo" supera "instalar Python 3.11+, criar um venv, pip install seis pacotes, esperar que nada conflite com seu Python do sistema." A compilação cruzada é gratuita: GOOS=darwin GOARCH=arm64 go build produz um binário macOS ARM a partir de uma máquina Linux.

O tempo de inicialização não é trivial. agent-mesh é iniciado como um subprocesso do Claude Code (via MCP stdio). Cada milissegundo de inicialização é latência que o usuário sente na primeira chamada da ferramenta. Os binários Go iniciam em milissegundos de um único dígito. Um processo Python com imports leva ~200–500ms antes de executar uma única linha de código de aplicação.

O consumo de memória é previsível. agent-mesh fica ocioso em ~14 MB RSS. Um processo Python comparável com FastAPI, uvicorn e alguns imports fica em 80–120 MB antes de lidar com uma solicitação. Quando você executa cinco servidores MCP mais um proxy em um laptop de desenvolvedor, isso se acumula.

O custo

Escolher Go para a infraestrutura de agentes tem custos reais. Eu estaria mentindo se dissesse que foi tudo tranquilo, e acho que ser honesto sobre isso é mais útil do que um discurso de vendas.

O ecossistema não existe. Não há LangChain para Go. Nenhum SDK MCP oficial (eu escrevi meu próprio cliente e servidor, que foi educativo, mas não exatamente rápido). Nenhum cliente Go Ollama que fala MCP (eu escrevi ollama-mcp-go). Cada ponto de integração é construído manualmente. Em Python, esses são imports de uma linha. Em Go, são finais de semana.

A interação com LLM é verbosa. Chamar a API de chat da Ollama em Python com o SDK oficial são três linhas. Em Go, é uma solicitação HTTP, serialização JSON, análise de resposta e tratamento de erro explícito. Cerca de 30 linhas para o mesmo resultado. E eu não menciono a dor de cabeça com a compreensão de como interfaces funcionam em Go...

Prototipagem é mais lenta. Python permite que você esboce uma ideia em 20 linhas e itere. O sistema de tipos de Go e o tratamento de erro explícito forçam a estrutura mais cedo. Para scout7 (o agente de pesquisa web), a primeira versão funcional levou mais tempo do que teria levado em Python. Mas a segunda versão, com tratamento de erro adequado, timeouts e desligamento gracioso, veio quase de graça porque Go já me fez lidar com esses casos.

Contratação e contribuições. Se esses projetos crescerem, o pool de contribuidores para ferramentas de agentes Go é menor do que o de Python. A maioria das pessoas que constroem nesse espaço pensa em Python. Essa é uma limitação real.

Eu ainda estou aprendendo Go. Eu deveria mencionar isso. Eu não venho de um fundo em Go. Minha linguagem principal é Python (mesmo que eu não seja um especialista), e eu estou escrevendo Go há semanas apenas, não anos. Eu não entendo sempre o que o compilador está bravo. Eu ocasionalmente descubro que um padrão do qual eu estava orgulhoso é na verdade um antipadrão em Go.

Metade desses projetos foram programados em par com Claude, o que significa que um agente de IA me ajudou a construir ferramentas de governança para agentes de IA. Há uma piada nisso em algum lugar. Mas o ponto é: você não precisa dominar uma linguagem para entregar coisas úteis nela. Você precisa de um bom ciclo de feedback. O compilador captura os erros estúpidos. A IA captura os erros arquitetônicos, e você continua fazendo perguntas sobre coisas que não entende. Eu pego o resto... eventualmente.

Onde o Python vence

Eu ainda uso Python onde faz sentido. event7 (governança de registro de esquema) tem um backend FastAPI porque é um aplicativo web com um banco de dados, não um proxy de sistemas. A demonstração LangChain para agent-mesh é Python, porque demonstra governança em um agente Python. Se eu estivesse construindo um pipeline RAG ou ajustando um modelo, eu usaria Python sem hesitação.

A divisão é simples: se toca pesos de modelo ou precisa de prototipagem rápida de ML, Python. Se é infraestrutura que move dados, impõe políticas ou gerencia processos, Go.

O que o ecossistema está perdendo

O ecossistema Go para IA agente tem lacunas reais:

  • Sem SDK MCP oficial para Go. A Anthropic envia Python e TypeScript. As implementações comunitárias em Go são jovens e incompletas. Eu acabei de...
Contexto Triplo Up

Empresas brasileiras podem se beneficiar ao explorar novas linguagens como Go para desenvolver infraestrutura de agentes de IA, embora enfrentem desafios devido à falta de bibliotecas e suporte. A escolha da linguagem pode impactar a eficiência e a escalabilidade dos projetos de IA.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.