Go Micro – Agent-Harness für Go
(go-micro.dev)- Ein Go-Framework zum Aufbau von Agenten/Services/Workflows auf einer einzigen Runtime
- Fasst Tools, Memory, Guardrails, Trigger-Workflows, abhängige Services und sogar die Protokolle, über die andere Agenten darauf zugreifen, in einem einzigen Harness zusammen
- Alle Endpunkte eines Services werden automatisch in von KI aufrufbare Tools umgewandelt und sind extern über die Protokolle MCP und A2A zugänglich
- Prompt-basierte Service-Erstellung
- Gibt man das gewünschte System als Prompt ein, entwirft die KI die Architektur und generiert/kompiliert/startet anschließend den Handler-Code
- Auch während einer Unterhaltung lassen sich benötigte Services spontan hinzufügen (z. B. „Ich brauche Shipping-Tracking“ → Shipping-Service wird automatisch erzeugt)
- Selbst wenn man den generierten Code direkt bearbeitet, bleiben die Änderungen beim erneuten Ausführen erhalten
- In allen Agenten sind die beiden Tools
planunddelegatestandardmäßig eingebaut- Mehrstufige Aufgaben werden als geordneter Plan festgehalten
- Teilaufgaben werden an andere Agenten delegiert: Ist bereits ein registrierter Agent vorhanden, wird per RPC übergeben, andernfalls wird ein isolierter Sub-Agent erzeugt
- Dauerhafte Workflows: Checkpoint-gesicherte Flow-Schritte werden auch nach einem Crash an der unterbrochenen Stelle fortgesetzt; für bekannte Pfade gibt es Flow, für dynamische Pfade Agent-Dispatch
- Store-basierter persistenter Memory ist standardmäßig vorhanden: Arbeit wird auch nach einem Neustart fortgesetzt; mit
AgentCompactMemorywerden ältere Unterhaltungen zusammengefasst komprimiert, neuere im Original behalten und bei Bedarf archivierte Gespräche wieder abgerufen - Guardrails sitzen direkt an den Ausführungspunkten:
MaxSteps(Begrenzung der Anzahl),LoopLimit(Stoppt Wiederholungen ohne Fortschritt),ApproveTool(menschliche Freigabe greift ein) - Alle Abstraktionen sind Go-Interfaces: Registry (mDNS→Consul→etcd), Broker (NATS/RabbitMQ), Store (File/Postgres/NATS KV) usw. lassen sich ohne Codeänderungen austauschen
- Unterstützung für 7 LLM-Provider (Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud), per einer einzigen Import-Zeile austauschbar
- Mit einem einzigen CLI-Befehl Hot Reload (
micro run), Produktions-Build (micro build) und Deployment ohne Docker per SSH+systemd (micro deploy user@server) - Apache-2.0-Lizenz
1 Kommentare
Ich hatte es damals bei v4 ausprobiert – kaum zu glauben, dass es schon bei v6 ist!