Açık konuşayım: multi-agent tarafında son bir yılda çıkan yazıları okuyunca insanın kafası baya karışıyor. Herkes “agent” diyor, ama biri tool kast ediyor, biri workflow diyor, biri de sanki sihirli kutu anlatıyor. Geçen hafta bankacılık projesinde bunu birebir yaşadık; bizim Azure OpenAI üstünde çalışan agent, iş ortağının Bedrock tarafındaki compliance agent’ıyla konuşamadı. Sebep? Protokol yoktu. Glue code vardı, o da açık söyleyeyim can sıkıyor.
Neyse, geçenlerde Microsoft Agent Framework tarafına A2A Protocol v1.0 desteği geldi. Hem client tarafı (A2A Agent) hem de server tarafı (A2A Hosting).NET paketleri yeni SDK’ye taşındı. Ben de hafta sonu kendi lab ortamımda baştan sona kurcaladım. Bu yazıda hem protokolün ne olduğunu anlatacağım hem de Türkiye’deki kurumsal yapılar için bunun pratik anlamını biraz didikleyelim (buna dikkat edin)
Ve işler burada ilginçleşiyor.
A2A Protocol Nedir, Neden Şimdi Konuşuyoruz?
Size bir şey söyleyeyim, A2A —. Agent-to-Agent Protocol — aslında şu soruya cevap veriyor: farklı sağlayıcılarda, farklı framework’lerde yazılmış agent’lar birbirleriyle nasıl konuşacak? Kabaca düşünürseniz HTTP’nın web servislerine yaptığını agent dünyasına taşımaya çalışıyorlar.
Tuhaf ama, Arkasında da boş bir masa yok hani; AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP. ServiceNow gibi isimler var. Yani tek bir vendor’ın oyuncağı değil bu iş. Bence bu detay kilit çünkü 2010’larda “standart” diye çıkan şeylerin çoğu tek şirketin gölgesinde kalınca çabuk eskidi. Burada tablo biraz daha farklı duruyor.
Bir şeyi net söyleyeyim: protokol v1 stable ama.NET SDK’ler hâlâ preview. Yani protokolün kendisi üretime yakın duruyor, fakat Agent Framework içindeki uygulama kısmı hâlâ olgunlaşma aşamasında. Production planı yaparken bunu cebinizde tutun.
Eğer daha önce v0.3 draft’ı ile uğraştıysanız — ki ben uğraştım, hatta bir POC’yi çöpe attım — v1’e geçiş ciddi rahatlama sağlıyor. Breaking change’ler var ama dokümantasyon toparlanmış, mesaj formatı da daha anlaşılır hâle gelmiş.
Interoperability Neden Gerçekten Önemli?
Teoriden biraz çıkayım şimdi. Şöyle bir senaryo düşünün: procurement agent’ınız ERP ile konuşuyor. İş ortağınızın compliance servisi var ve onların agent’ı Bedrock üstünde koşuyor. Sizin agent gidip şunu sormak istiyor: “Bu tedarikçi kara listede mi?” Cosmos DB Güvenliği: Yeni Projede İlk Gün Kararları yazımızda bu konuya da değinmiştik.
Eski dünyada ne yapıyorduk? Karşı tarafa REST API yazdırıyorduk ya da kendimiz entegre ediyorduk. Authentication ayrı dertti, schema ayrı dertti, versioning ayrı dertti… her şey custom gidiyordu. Üstüne ikinci partner gelince onların da bambaşka bir yöntemi ölüyordu. Sonuç? Her partner için ayrı adaptör yazılan bir bakım cehennemi. Daha fazla bilgi için GitHub Copilot’u.NET’te Verimli Kullanma Rehberi yazımıza bakabilirsiniz.
Çok konuştum, örnekle göstereyim. Cosmos Conf 2026: AI Çağında Veritabanı Nereye Gidiyor? yazımızda bu konuya da değinmiştik.
A2A’nın çözmeye çalıştığı problem tam olarak bu. Discovery var, capability advertisement var, mesajlaşma var, streaming var; hepsi standart hâle geliyor gibi duruyor. Bir agent başka bir agent’ı keşfediyor (evet), capability’sını görüyor ve konuşmaya başlıyor. Glue code azalıyor; azaldığı kadar da iyi oluyor zaten. Visual Studio Mayıs Güncellemesi: Plan, İncele, İyileştir yazımızda bu konuya da değinmiştik.
Türkiye Perspektifinden Bakınca
Şimdi gelelim Türkiye tarafına… Burada işin rengi biraz değişiyor hani. Kurumsal müşterilerimde gördüğüm kadarıyla Türkiye’de multi-agent benimsemesi henüz çok yeni sayılır; çoğu şirket daha tek agent’ı production’a almakla uğraşıyor. O yüzden A2A’yı bugün herkesin hemen koşup çözmesi gereken bir ihtiyaç gibi görmek zor.
Çok konuştum, örnekle göstereyim.
Ama finans ve telekom tarafında durum biraz tersine dönüyor aslına bakarsanız. BDDK regülasyonları yüzünden bazı akışlarda üçüncü taraf doğrulama gerekiyor; KYC süreçlerinde bunu sık görüyorsunuz mesela. Böyle yerlerde A2A gibi standart bir protokol hem regülasyon hem teknik tarafta işi kolaylaştırabilir diye düşünüyorum (tam emin değilim ama mantık oturuyor). Bir telekom projesinde fatura itirazlarını işleyen agent ile fraud detection servisini konuşturmak için tam 11 hafta harcanmıştı; bunun A2A ile 2 haftaya inebileceğini düşünüyorum.
Agent Framework Tarafında Nasıl Çalışıyor?
İşin hoş yani şu: Microsoft Agent Framework size A2A kullanmak için ayrı bir programlama modeli ezberletmiyor. Remote bir A2A agent’ı sizin kodunuzda sıradan bir AIAgent gibi davranıyor bile diyebilirim; aynı RunAsync, aynı streaming mantığı, aynı session yönetimi devam ediyor. Bu konuyla ilgili .NET MAUI Android’de Material 3: Tek Satırda Yenilenme yazımıza da göz atmanızı tavsiye ederim.
Yani lokal Azure OpenAI agent’ınızı remote bir A2A agent ile değiştirseniz bile çağıran tarafta neredeyse satır oynatmıyorsunuz. Bu küçük detay gibi görünüyor ama mimarı esneklik açısından baya iş görüyor.
Tersi de geçerli tabi ki karşılıklı çalışıyor bu yapı. Halihazırda yazdığınız bir agent — ister Foundry olsun ister Azure OpenAI ister Anthropıc ister Bedrock üstünde koşsun — birkaç satırlık hosting koduyla A2A endpoint olarak yayınlanabiliyor. Protokol boilerplate’i yok denecek kadar az. İlk gördüğümde “idare eder” demiştim, sonra denedim, gerçekten sade kalmış.
Basit Bir Client Örneği
Eh, Aşağıdaki parça remote bir A2A agent’a bağlanmak için yeterli oluyor aslında. Resmî örneklerden biraz sadeleştirdim:
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.A2A;
// Remote A2A agent'ına bağlan
var agentCard = new Uri("https://partner.example.com/.well-known/agent.json");
AIAgent remoteAgent = await A2AAgent.CreateAsync(agentCard);
// Sıradan bir AIAgent gibi kullan
var response = await remoteAgent.RunAsync(
"Bu tedarikçinin compliance durumu nedir? VKN: 1234567890"
);
Console.WriteLine(response.Text);
Açıkçası, Baktığınızda AIAgent tipinde dönüyor zaten. Yani aynı ajanı workflow içine söküp başka ajanlarla birlikte sequential, concurrent, handoff ya da group chat senaryolarında kullanabiliyorsunuz. Birinci sınıf vatandaş gibi davranıyor; kötü değil yani.
Hosting Tarafı: Kendi Agent’ınızı Yayınlamak
Açık konuşayım, Hosting kısmı da benzer şekilde düz ilerliyor. ASP.NET Core üzerinde endpoint açıyorsunuz, mevcut agent’ınızı oraya bağlıyorsunuz; iki üç satır middleware ile bitiyor desek yeridir (buna dikkat edin). Detayları Microsoft’un blog yazısında. GitHub repo’sunda bulabilirsiniz, burada neredeyse tüm kodu tekrar dökmeyeyim; eski yazılarımda anlattığım FIDES ile Prompt Injection: Agent Framework’te Yeni Kalkan başlığındaki güvenlik bağlamıyla birlikte okuyunca resim daha netleşiyor.
Kafa Karıştıran Yer: A2A mı MCP mi Custom Integration mı?
Peki şimdi asıl karışan yere gelelim? MCP (Model Context Protocol) ile A2A aynı şey mi? Hayır değil tabii ki; ikisi farklı katmanlarda oynuyor. Kısaca şöyle ayırırım:
| Özellik | A2A | MCP | Custom REST |
|---|---|---|---|
| Amaç | Agent-to-agent iletişim | Tool/context sağlama | Genel API |
| Discovery | Var (agent card) | Var (capability) | Yok |
| Streaming | Evet,native düzeyde var | Evet,native düzeyde var | SSE ile manuel |
| Built-in | Context window’a bağlı | Custom | |
| v1.0 (yeni)OlgunlaşıyorOlgun ama esneklik kötü | v1.0 (yeni) | Olgunlaşıyor | Olgun ama esneklik kötü |
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.


