Çok Ajanlı Mimaride Yazılım Geliştirme
Giriş
Çok ajanlı sistemler, yazılım geliştirme sürecini otonom, uzmanlaşmış birimlere bölerek verimliliği artırır. Bu düzende her ajan belirli bir rol üstlenir: Planlayıcı, Geliştirici, Testçi, Güvenlik Denetçisi ve Dokümantasyon Ajanı. Ajanlar arası görev devri, ortak hafıza ve hata yönetimi mekanizmalarıyla insan onayı entegre edilir.
Ajan Rolleri ve Sorumlulukları
| Ajan | Sorumluluk |
| Planlayıcı | Görevleri parçalara ayırır, önceliklendirir ve diğer ajanlara atar. |
| Geliştirici | Kod yazar, birim testleri ekler, kod incelemesi yapar. |
| Testçi | Entegrasyon ve uçtan uca testler tasarlar, hata raporları oluşturur. |
| Güvenlik Denetçisi | Zafiyet taraması yapar, güvenlik politikalarına uygunluğu denetler. |
| Dokümantasyon Ajanı | Teknik doküman, API referansı ve kullanım kılavuzları hazırlar. |
Her ajan, tamamladığı görevi bir sonraki ajana devreder. Devir sırasında bir mesaj nesnesi iletilir:
{
"taskId": "T-42",
"from": "Planner",
"to": "Developer",
"payload": {
"description": "Kullanıcı giriş modülü",
"acceptanceCriteria": ["JWT token doğrulama", "OTP desteği"]
},
"status": "pending"
}Ajanlar, işi aldıktan sonra durumu "in_progress" yapar ve bitince "completed" olarak günceller. Başarısızlık durumunda hata kodu ve log eklenir.
Ortak Hafıza: Paylaşılan Durum Deposu
Tüm ajanlar, Redis veya benzeri bir veri deposu üzerinden ortak hafızaya erişir. Depoda proje bağlamı, kararlar, test sonuçları ve doküman parçaları tutulur. Örnek bir kayıt:
{
"projectId": "P-1",
"decisions": [
{
"id": "D-3",
"description": "JWT süresi 15 dakika olarak belirlendi",
"madeBy": "Planner",
"timestamp": "2025-03-20T10:30:00Z"
}
],
"testResults": [
{
"testId": "T-42",
"status": "passed",
"executedBy": "Tester"
}
]
}Ortak hafıza, ajanlar arası çakışmaları önler ve tutarlılık sağlar.
Hata Yönetimi ve İnsan Onayı
Hata yönetimi iki aşamalıdır: otomatik düzeltme ve insan onayı. Kritik hatalarda (örneğin güvenlik açığı) ajan, görevi bloke eder ve insan onayı bekler. Daha düşük seviyeli hatalar (örneğin test başarısızlığı) otomatik olarak yeniden denenebilir.
İnsan onayı gerektiren durumlar:Her onay talebi, bir bildirim kanalı (e-posta, Slack) ile ilgili kişiye iletilir. Onay veya ret sonucu ortak hafızaya kaydedilir.
- Yeni bir dış bağımlılık eklenmesi
- Veritabanı şeması değişikliği
- Güvenlik politikası ihlali
- Üretim ortamına dağıtım
Örnek İş Akışı
[*] Planlayıcı, yeni bir özelliği alt görevlere böler ve Geliştirici'ye atar.
[*] Geliştirici kodu yazar, birim testlerini ekler ve kod incelemesi için Testçi'ye devreder.
[*] Testçi entegrasyon testlerini çalıştırır, hata bulursa Geliştirici'ye geri gönderir.
[*] Testler geçince Güvenlik Denetçisi devreye girer; zafiyet taraması yapar.
[*] Güvenlik onayından sonra Dokümantasyon Ajanı dokümanı hazırlar.
[*] Son adımda Planlayıcı tüm sonuçları toplar ve insan onayına sunar.
- Ajanlar arası iletişimde standart bir protokol (JSON-RPC, gRPC) kullanılmalı.
- Ortak hafıza erişiminde kilit mekanizması (lock) uygulanmalı, yarış koşulları önlenmeli.
- Hata yönetiminde geri bildirim döngüsü kısa tutulmalı, ajanlar birbirini bloke etmemeli.
- İnsan onayı için SLA tanımlanmalı; aksi halde otomatik yükseltme yapılmalı.
Çok ajanlı yazılım geliştirme düzeni, doğru kurgulandığında hız, kalite ve güvenliği artırır. Görev devri, ortak hafıza ve insan onayı noktalarının net tanımlanması, sistemin başarısı için kritiktir. Bu mimariyi kendi projelerinizde uygulayarak ekip iş akışınızı optimize edebilirsiniz.