Go Micro - Um harness de agentes para Go
(go-micro.dev)- Framework em Go para construir agentes/serviços/workflows sobre um único runtime
- Reúne ferramentas, memória, guardrails, workflows acionados por gatilhos, serviços dependentes e até os protocolos acessados por outros agentes em um único harness
- Todos os endpoints do serviço são convertidos automaticamente em ferramentas invocáveis por IA, com acesso externo via protocolos MCP e A2A
- Criação de serviços baseada em prompt
- Ao inserir em um prompt o sistema desejado, a IA projeta a arquitetura e depois gera/compila/executa o código do handler
- Também é possível criar na hora, durante a conversa, os serviços necessários (ex.: "preciso de rastreamento de shipping" → serviço de shipping gerado automaticamente)
- Mesmo que você edite diretamente o código gerado, as alterações são preservadas ao executar novamente
- Todos os agentes vêm com duas ferramentas embutidas por padrão:
plan/delegate- Tarefas de múltiplas etapas são registradas como planos ordenados
- Subtarefas são delegadas a outros agentes: se já houver um agente registrado, ele recebe via RPC; se não houver, é criado um subagente isolado
- Workflows duráveis: etapas de fluxo com checkpoint retomam do ponto em que pararam mesmo após falhas; para caminhos conhecidos usa
flow, para caminhos dinâmicos usa despacho por agente - Memória persistente baseada em store por padrão: o trabalho continua mesmo após reinicializações; com
AgentCompactMemory, conversas antigas são resumidas e compactadas, as recentes mantêm o texto original e conversas arquivadas podem ser recuperadas quando necessário - Guardrails posicionados no ponto de execução:
MaxSteps(limite de tentativas),LoopLimit(interrompe repetições sem progresso),ApproveTool(intervenção com aprovação humana) - Todas as abstrações são interfaces de Go: registry (mDNS→Consul→etcd), broker (NATS/RabbitMQ), store (File/Postgres/NATS KV) etc., substituíveis sem alterar o código
- Suporte a 7 provedores de LLM (Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud), trocáveis com uma única linha de import
- Com um único comando na CLI: hot reload (
micro run), build de produção (micro build), deploy via SSH+systemd sem Docker (micro deploy user@server) - Licença Apache 2.0
1 comentários
Usei na época da v4, e agora já está na v6!