Go Micro - un harness d’agents pour Go
(go-micro.dev)- Un framework Go pour construire des agents, des services et des workflows sur un runtime unique
- Regroupe dans un seul harness les outils, la mémoire, les garde-fous, les workflows déclenchés, les services dépendants et même les protocoles d’accès utilisés par d’autres agents
- Tous les endpoints d’un service sont automatiquement transformés en outils appelables par IA, accessibles de l’extérieur via les protocoles MCP et A2A
- Génération de services à partir de prompts
- Lorsqu’on saisit le système souhaité sous forme de prompt, l’IA conçoit l’architecture puis génère/compile/exécute le code du handler
- Il est aussi possible de créer à la volée les services nécessaires pendant la conversation (ex. : "j’ai besoin d’un suivi des expéditions" → création automatique d’un service shipping)
- Même si le code généré est modifié manuellement, les changements sont conservés au redémarrage
- Tous les agents intègrent par défaut deux outils :
planetdelegate- Les tâches en plusieurs étapes sont enregistrées sous forme de plan ordonné
- Les sous-tâches sont déléguées à d’autres agents : si un agent déjà enregistré existe, elles lui sont transmises via RPC ; sinon, un sous-agent isolé est créé
- Workflows durables : les étapes de flux checkpointées reprennent à partir du point d’arrêt après un crash ;
flowpour les chemins connus, dispatch d’agent pour les chemins dynamiques - Une mémoire persistante basée sur store est fournie par défaut : le travail continue après redémarrage,
AgentCompactMemoryrésume et compresse les anciennes conversations, conserve les plus récentes en texte intégral et peut récupérer les conversations archivées si nécessaire - Les garde-fous sont placés aux points d’exécution :
MaxSteps(limite du nombre d’étapes),LoopLimit(interruption des boucles sans progrès),ApproveTool(intervention humaine pour validation) - Toutes les abstractions sont des interfaces Go : registry (mDNS→Consul→etcd), broker (NATS/RabbitMQ), store (File/Postgres/NATS KV), etc., interchangeables sans modification du code
- Prise en charge de 7 fournisseurs de LLM (Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud), remplaçables par une simple ligne d’import
- Avec une seule commande CLI : hot reload (
micro run), build de production (micro build), déploiement via SSH+systemd sans Docker (micro deploy user@server) - Licence Apache 2.0
1 commentaires
Je l’avais essayé à l’époque de la v4, et voilà que c’est déjà la v6 !