Otonom Bir Ajan Ekibi Oluşturmak
Mühendislik iş akışımı kopyalamak için küçük bir ajan ekibi oluşturdum. Bir görevin okunmasından, incelenebilir bir dalın (branch) gönderilmesine kadar her şeyi hallediyor.
İş akışı şu adımları izliyor:
- Netleştirici (Clarifier): Görevin yeterince spesifik olup olmadığını kontrol eder.
- Planlayıcı (Planner): Kod tabanını inceler ve bir uygulama planı yazar.
- Uygulayıcı (Implementer): Planı yürütür ve kodu parçalar halinde commit eder.
- İnceleyici (Reviewer): Hataları ve stil sorunlarını bulur.
- Test Edici (Tester): Kararlılığı sağlamak için testleri ve linter'ları çalıştırır.
Temel sır, yapılandırılmış iletişimdir.
Ajanlar birbirleriyle sohbet etmezler. PLAN_WRITTEN veya REVIEW_RESULT gibi yapılandırılmış belirteçler (tokens) üretirler. Orkestratör, bir sonraki adımı yönlendirmek için bu belirteçleri ayrıştırır. Bu, sistemi daha hızlı ve daha ucuz hale getirir, ayrıca halüsinasyonları önler.
Her ajanın belirli bir rolü ve modeli vardır:
• Planlayıcı (Opus): Dosya yollarını ve kesin kod değişikliklerini belirlemek için derin muhakeme yapar. • Uygulayıcı (Sonnet): Planı takip eder veya belirli inceleme engelleyicilerini (blockers) düzeltir. • İnceleyici (Sonnet): Kodu ana dal (base branch) ile karşılaştırır. Gürültüyü önlemek için %80 güven eşiği kullanır. • Test Edici (Haiku): vet, test ve lint gibi Go komutlarını çalıştırır.
Güvenilirlik için temel tasarım seçimleri:
- Ajan başına tek bir görev: Bu, mantığı basit tutar.
- Sabit çıktı sözleşmeleri: Bu, niyeti çıkarmak için fazladan LLM çağrısı yapma ihtiyacını ortadan kaldırır.
- İnceleme-yeniden deneme döngüsü: Sistem, engelleyicileri düzeltmek için en fazla iki denemeye izin verir.
- Model optimizasyonu: Maliyetleri düşürmek için planlama için pahalı modeller, test için ise daha ucuz modeller kullanıyorum.
Tekrarlayan döngülerinizi otomatikleştirebilirsiniz. Sadece onları yazmanız yeterli.
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi