Google A2A ve MCP ile Çok Ajanlı Afet Müdahale Simülatörü Geliştirme
Hayat Kurtarabilecek AI Sistemleri Yaratmak: Gerçek Zamanlı İşbirliği Yapan Yapay Zeka Ajanları ile Afet Yönetimi
Google A2A ve MCP ile Çok Ajanlı Afet Müdahale Simülatörü Geliştirme
Hayat Kurtarabilecek AI Sistemleri Yaratmak: Gerçek Zamanlı İşbirliği Yapan Yapay Zeka Ajanları ile Afet Yönetimi
Selam! Bugün sizlerle hayatımda en anlamlı projelerden birine başladığımı paylaşmak istiyorum: Google’ın Agent Development Kit (ADK), Agent-to-Agent (A2A) iletişimi ve Model Context Protocol (MCP) teknolojilerini kullanarak geliştirmeye başladığım, Çok Ajanlı Afet Müdahale Simülatörü.
Bu sadece “bir AI projesi” değil — sel, deprem ve yangın gibi afetlerde hayat kurtarabilecek sistemler yaratma üzerine. Türkiye gibi afet riski yüksek ülkelerde yaşayanlar olarak, bu konunun ne kadar kritik olduğunu hepimiz biliyoruz. 2023 Kahramanmaraş depremleri, 2021 Kastamonu ve Sinop selleri, Ege ve Akdeniz bölgelerinde sürekli meydana gelen büyük orman yangınları… Her afette aynı sorunla karşılaşıyoruz: Yavaş karar verme süreci ve parçalı bilgi sistemleri.

Gemini tarafından oluşturulan görsel.
Bu makaleyi takip ederek hem Google’ın en yeni AI araçlarını öğrenebilir, hem de toplumsal fayda yaratan bir proje geliştirebilirsiniz
İçindekiler
- Neden Bu Proje Önemli?
- Temel Araçlar: A2A ve MCP Nedir?
- Geliştirme Ortamını Hazırlama
- İlk MCP Aracını Oluşturma
- ADK ile İlk Ajanı Geliştirme
- Çok Ajanlı Sisteme Geçiş
- Takım Koordinasyonu
- Test ve Hata Ayıklama
- Sistem Dağıtımı
- Gerçek Dünya API’leri ile Entegrasyon
- Karşılaştığım Zorluklar ve Çözümler
- Sonuç ve Gelecekteki Geliştirmeler
Neden Bu Proje Önemli?
Afet müdahalesi, AI’ın gerçekten parlayabileceği bir alan. Geleneksel sistemler genellikle yavaş karar verme ve izole edilmiş veri kaynaklarıyla mücadele ediyor. Bu da gecikmelere ve maalesef kayıplara neden olabiliyor.
Türkiye’deki afetlerde yaşadığımız deneyimler bu ihtiyacı net şekilde ortaya koyuyor. 6 Şubat depremlerinde koordinasyon eksikliği, bilgi akışındaki gecikmeler ve kaynak dağıtımındaki sorunlar en büyük problemlerdi.
Çok ajanlı bir sistem şöyle çalışır: Bir ajan hava durumu/afet güncellemelerini takip eder, diğeri tahliye rotalarını optimize eder, üçüncüsü tıbbi malzeme koordinasyonunu yapar — hepsi birbirleriyle sorunsuz iletişim halinde.
Öğreneceğiniz Ana Konular:
- Google ADK ile güçlü AI ajanları oluşturma
- A2A ve MCP’nin ajanları nasıl işbirliği yapacak şekilde bağladığı
- Teknik açıdan etkileyici ve sosyal açıdan faydalı proje geliştirme
🧠: Çok ajanlı sistemleri, her birinin özel görevi olan ve acil müdahale ekibi gibi iletişim kuran bot takımı olarak düşünün.
Temel Araçlar: A2A ve MCP Nedir?
Agent-to-Agent (A2A) İletişimi:
A2A, Google ADK’nın bir parçası olarak ajanların veri paylaşmasını, görev devretmesini veya birbirlerinin fonksiyonlarını çağırmasını sağlar. Örneğin, hava durumu ajanı sel verilerini lojistik ajana gönderebilir, o da güvenli tahliye rotaları planlayabilir.
A2A’nın desteklediği özellikler:
- Paylaşılan oturum durumu: Ajanlar ortak bağlamdan veri saklayıp alabilir
- Görev devretme: Bir ajan görevi diğerine devreder
- Doğrudan çağırma: Bir ajan diğerini fonksiyon gibi çağırır
Model Context Protocol (MCP):
MCP, AI modellerini harici araçlara veya veri kaynaklarına bağlayan bir standarttır. Evrensel adaptör gibi düşünün. MCP sunucusu araçları ortaya çıkarır (örn. hava durumu verisi alma), ajanlar da bu araçları çağıran istemci olarak hareket eder.
Neden Güçlü Bir İkili?
A2A ajanların takım gibi işbirliği yapmasını sağlarken, MCP onları dış dünyaya bağlar. Birlikte, afet müdahalesi gibi dinamik senaryolar için ideal olan esnek, merkezi olmayan bir sistem yaratırlar.
Geliştirme Ortamını Hazırlama
Gerekli araçlar:
- Python 3.10+: python.org’dan indirin
- Google ADK:
pip install google-adkile kurun - Docker: Ajanları konteynerize etmek için
- API’ler: OpenWeatherMap ve UN ReliefWeb için kayıt olun
- İsteğe bağlı: Gelişmiş akıl yürütme için Google Vertex AI
[embed]

Proje Klasör Yapısı
İpucu: Bağımlılıkları temiz tutmak için sanal ortam kullanın:
python -m venv env
İlk MCP Aracını Oluşturma
Ajanlarımızın kullanacağı hava durumu verisi alma aracını geliştirelim. OpenWeatherMap API çağrısını MCP aracı olarak paketleyeceğiz.
[embed]
Test Etme:
# MCP sunucusunu çalıştırın
python tools/weather_tool.py
# curl ile test edin
curl -X POST http://localhost:8000/tools/get_weather_data \
-d '{"location": "Istanbul"}'
⚠️ Güvenlik Notu: API anahtarlarını asla kodunuza doğrudan yazmayın. .env dosyası kullanın ve python-dotenv ile yükleyin.
ADK ile İlk Ajanı Geliştirme
Şimdi hava durumu aracımızı kullanarak sel riskini değerlendiren bir ajan oluşturalım.
[embed]
Çok Ajanlı Sisteme Geçiş
Artık sistem genişleterek farklı rollerde daha fazla ajan ekleyelim:
Ajan Rolleri:
- FloodRiskAgent: Sel riski değerlendirmesi
- LogisticsAgent: Tahliye rotası planlama
- MedicalAgent: Hastane kaynaklarını önceliklendirme
- CommsAgent: Halka uyarı gönderme
- ResourceAgent: Barınak ve malzeme dağıtımı
[embed]
A2A İletişimi Akışı:
- FloodRiskAgent sel riskini belirler ve paylaşılan duruma kaydeder
- LogisticsAgent bu veriyi okur, rotaları planlar ve CommsAgent’a devrededer
- CommsAgent uyarı mesajları gönderir
- Tüm ajanlar paylaşılan oturum durumunu günceller
Takım Koordinasyonu
Ajanların gerçek takım gibi çalışması için orkestrasyon teknikleri:
1. Rol Devretme:
# Görev devretme örneği
async def coordinate_response(self, context):
# 1. Risk değerlendirmesi
flood_result = await self.agents["flood_risk"].run_async(context)
# 2. Yüksek risk varsa lojistik planla
if context.state.get("flood_risk") == "yüksek":
logistics_result = await self.agents["logistics"].run_async(context)
# 3. Her durumda uyarı gönder
comms_result = await self.agents["comms"].run_async(context)
return {
"coordination_complete": True,
"actions_taken": ["risk_assessment", "route_planning", "alerts_sent"]
}
2. Tetikleyici Zincirler:
class TriggerChain:
def __init__(self):
self.triggers = {
"high_flood_risk": ["logistics", "medical", "comms"],
"route_blocked": ["logistics", "comms"],
"hospital_capacity_full": ["medical", "resource"]
}
async def execute_chain(self, trigger, context):
agents_to_run = self.triggers.get(trigger, [])
results = []
for agent_name in agents_to_run:
result = await self.agents[agent_name].run_async(context)
results.append(result)
return results
Test ve Hata Ayıklama
Sistemin baskı altında çalıştığından emin olmak için kapsamlı testler:
1. Senaryo Simülasyonu:
[embed]
2. Gerçek Zamanlı İzleme:
[embed]
Sistem Dağıtımı
Simülatörü üretim ortamına hazırlamak için Docker konteynerizasyonu:
Dockerfile:
[embed]
Gerçek Dünya API’leri ile Entegrasyon
AFAD API Entegrasyonu (Türkiye Özelinde):
[embed]
Karşılaştığım Zorluklar ve Çözümler
1. API Hız Limitleri: Sorun: Çok sayıda ajanın aynı anda API çağrısı yapması, sistemde rate limit (hız sınırı) hatalarına yol açtı. Çözüm: Geriye dönük yeniden deneme (retry) mekanizması ve çağrılar arasında bekleme süresi ekleyerek API taleplerini kontrol altına aldım. Böylece, hata alınan durumlarda belirli aralıklarla yeniden deneme yaparak sistemin stabil kalması sağlandı.
2. Ajanlar Arası İletişim Kopuklukları: Sorun: Ajanlar arasında gerçekleşen mesajlaşmalarda bazı mesajlar kayboluyor, bu da görevlerin tamamlanmamasına neden oluyordu. Çözüm: Her mesaj için onay (acknowledgement) mekanizması içeren bir sistem kurdum. Mesajın ulaştığına dair onay alınamadığında, belirli bir sayıda yeniden gönderim yaparak mesajın karşı tarafa ulaşmasını garanti altına aldım.
3. Yüksek Bellek Kullanımı: Sorun: Sistem uzun süre çalıştığında bellek sızıntısı meydana geliyordu ve bu da performans kayıplarına neden oluyordu. Çözüm: Bellek kullanımını izleyen bir izleme sistemi kurarak, belirli bir sınır aşıldığında eski ve kullanılmayan verilerin temizlenmesini sağladım. Ayrıca gereksiz nesneleri sistemden kaldırmak için bellek temizleme işlemleri (garbage collection) uyguladım.
Sonuç ve Gelecekteki Geliştirmeler
Bu çok ajanlı afet müdahale simülatörü projesini geliştirirken yalnızca teknik becerilerimi değil, aynı zamanda kriz yönetimi, takım çalışması ve toplumsal sorumluluk anlayışımı da derinleştirdim. Türkiye gibi afet riski yüksek bir ülkede bu tür sistemlerin ne kadar yaşamsal olduğunu projeyi her adımda geliştirirken daha net gördüm.
Ana Çıkarımlar:
1. Takım Çalışması Her Şeydir: Tek bir “süper” yapay zekâ geliştirmektense, birlikte etkili çalışabilen, iletişim kuran ve görev paylaşımı yapabilen ajanların bulunduğu bir sistemin çok daha verimli olduğu ortaya çıkıyor.
2. Gerçek Zamanlı Veri Hayat Kurtarır: Afet gibi hızlı değişen ortamlarda doğru ve anlık veri akışı, karar alma süreçlerinde belirleyici bir rol oynayabilir.
3. Dayanıklılık Temel Bir Gerekliliktir: Sistemin bazı bileşenlerinin zaman zaman devre dışı kalabileceği düşünülerek esnek ve hataya dayanıklı bir yapı oluşturmak büyük önem taşıyor.
4. Türkiye Gerçeği: Depremler, sel felaketleri ve diğer yerel afetler, sistemin gereksinimlerini doğrudan şekillendirdi. Bu proje, yalnızca teknik değil, yerel ve insani koşulları da dikkate alarak geliştirilmeye başlanmıştır.
Gelecekteki Geliştirmeler Hakkında Özet:
Simülatörün şu anki hali, afet senaryolarında etkili sadece bir temel sunmakta. Ancak potansiyel gelişmelerle sistem çok daha güçlü bir hale getirilebilir:
- IoT entegrasyonu ile sahadaki sensörlerden gerçek zamanlı veri toplanabilir.
- Sosyal medya analizi sayesinde halkın verdiği anlık bilgiler değerlendirilebilir.
- Artırılmış gerçeklik uygulamaları, ekiplerin saha analizlerini daha etkileşimli hale getirebilir.
- Sesli komut sistemleri, acil müdahalede hız kazandırabilir.
- Uydu görüntüleri, geniş çaplı felaketlerin haritalandırılmasında destek sağlayabilir.
Toplumsal Etki
Bu proje yalnızca bir yazılım geliştirme çalışması değil; aynı zamanda afet anında karar alma süreçlerini hızlandırabilecek, müdahaleyi koordine edebilecek ve kaynakların en etkili şekilde kullanılmasını sağlayabilecek bir sistemin temellerini içeriyor.
Uygulandığında:
- Müdahale ekipleri arasında daha iyi koordinasyon sağlanabilir.
- Risk değerlendirmeleri saniyeler içinde yapılabilir.
- Kaynaklar ihtiyaç olan bölgelere öncelikli yönlendirilebilir.
- Halk zamanında uyarılar alarak güvenli alanlara yönlendirilebilir.
Geliştirilebilirlik ve Vizyon
Bu sistem henüz yolun başında. Ancak sahip olduğu modüler yapı sayesinde farklı teknolojilerle kolayca entegre edilebilir ve gelişen ihtiyaçlara göre ölçeklenebilir. Gerek akademik çalışmalarla gerekse sektörel işbirlikleriyle, bu projenin daha kapsamlı ve uygulanabilir bir afet müdahale sistemine dönüşmesi mümkün.
Son olarak: Bu projede öğrendiğim en önemli şey şu oldu: bireysel ajanların mükemmel olması gerekmiyor; asıl mesele, birlikte kusursuz şekilde çalışabilmeleri. Afet yönetimi, bireysel değil; kolektif bir çaba gerektirir. Ve bu alanda yapay zekânın ciddi bir fark yaratabileceğine inanıyorum.
Bu çalışma yalnızca teknik bir çıktı değil; afetlere hazırlık konusundaki düşünsel altyapıya katkı sağlayan bir denemedir.
Kaynaklar ve Bağlantılar:
Bu makale, Google ADK, A2A ve MCP teknolojilerini kullanarak geliştirilen bir proje deneyimini paylaşmaktadır. Proje açık kaynak olarak geliştirilmekte ve toplumsal fayda amaçlanmaktadır.
메타데이터
- post_id
- ea9ba66338a6
- slug
- google-a2a-ve-mcp-ile-çok-ajanlı-afet-müdahale-simülatörü-geliştirme-ea9ba66338a6
- url
- https://medium.com/@nisacayir/google-a2a-ve-mcp-ile-%C3%A7ok-ajanl%C4%B1-afet-m%C3%BCdahale-sim%C3%BClat%C3%B6r%C3%BC-geli%C5%9Ftirme-ea9ba66338a6
- canonical_url
- https://medium.com/@nisacayir/google-a2a-ve-mcp-ile-%C3%A7ok-ajanl%C4%B1-afet-m%C3%BCdahale-sim%C3%BClat%C3%B6r%C3%BC-geli%C5%9Ftirme-ea9ba66338a6
- author_url
- https://medium.com/@nisacayir
- status
- ok
- fetched_at
- 2026-06-14 13:58:26