Go Micro - Go için ajan koşum takımı
(go-micro.dev)- Ajanları/servisleri/iş akışlarını tek bir runtime üzerinde oluşturmaya yönelik Go framework'ü
- Araçları, belleği, guardrail'leri, tetikleyici iş akışlarını, bağımlı servisleri ve diğer ajanların eriştiği protokolleri tek bir harness altında toplar
- Servisin tüm endpoint'leri otomatik olarak AI tarafından çağrılabilir araçlara dönüştürülür, dışarıdan MCP ve A2A protokolleriyle erişilebilir
- Prompt tabanlı servis oluşturma
- İstenen sistem prompt olarak girildiğinde AI mimariyi tasarlayıp handler kodunu oluşturur/derler/çalıştırır
- Konuşma sırasında ihtiyaç duyulan servisleri anında ek olarak oluşturmak da mümkün (örn. "shipping takibi gerekiyor" → shipping servisi otomatik oluşturulur)
- Oluşturulan kod doğrudan değiştirilse bile yeniden çalıştırmada değişiklikler korunur
- Tüm ajanlarda
plan/delegateadlı iki araç varsayılan olarak yerleşik gelir- Çok adımlı işler sıralı bir plan olarak kaydedilir
- Alt görevler başka ajanlara devredilir: kayıtlı bir ajan varsa RPC ile aktarılır, yoksa izole bir alt ajan oluşturulur
- Dayanıklı iş akışları: checkpoint alınmış akış adımları çökme sonrasında bile durduğu yerden devam eder; bilinen yollar için flow, dinamik yollar için ajan dispatch kullanılır
- Varsayılan olarak store tabanlı kalıcı bellek: yeniden başlatma sonrasında bile işlere devam eder;
AgentCompactMemoryile eski konuşmalar özetlenip sıkıştırılır/yakın konuşmalar orijinal hâliyle korunur/gerektiğinde arşivlenmiş konuşmalar geri getirilir - Guardrail'ler yürütme noktasında konumlanır:
MaxSteps(sayı sınırı),LoopLimit(ilerleme olmayan tekrarları durdurma),ApproveTool(insan onayı müdahalesi) - Tüm soyutlamalar Go interface'idir: registry (mDNS→Consul→etcd), broker (NATS/RabbitMQ), store (File/Postgres/NATS KV) vb. kod değişikliği olmadan değiştirilebilir
- 7 LLM sağlayıcısını destekler (Anthropic, OpenAI, Gemini, Groq, Mistral, Together, Atlas Cloud), tek satır import ile değiştirilebilir
- CLI'da tek komutla hot reload (
micro run), production build (micro build), Docker olmadan SSH+systemd ile dağıtım (micro deploy user@server) - Apache 2.0 lisansı
1 yorum
v4 zamanında kullanmıştım; bunun şimdiden v6'ya gelmiş olması şaşırtıcı!