A2A nedir, Google ADK 2.14 neyi değiştirdi?

Birden fazla AI ajanı aynı işte çalıştırmaya başladığınızda ilk soru hep aynı: bu ajanlar birbirleriyle nasıl konuşacak? Google'ın Agent Development Kit'inin (ADK) 2.14.0 sürümü bu soruya verdiği cevabı, yani A2A entegrasyonunu, deneysel olmaktan çıkarıp stable ilan etti. Bu yazıda A2A'nın ne olduğunu sade anlatıyor, sürümde gerçekten neyin değiştiğini ve neye dikkat etmeniz gerektiğini yazıyorum.
Bu soruyu ben de kendi işimde her gün yaşıyorum: bir orkestratör ajan işi alıyor, SEO, içerik, görsel, geliştirme ve inceleme için ayrı uzman ajanlara dağıtıyor. Bizim düzende ajanlar birbirine Kanban kartlarıyla iş devrediyor, yani A2A kullanmıyoruz; ama "ajanlar birbirine nasıl iş devreder" sorusu benim için teorik değil.
A2A (Agent-to-Agent) nedir?
A2A, farklı yapay zekâ ajanlarının birbiriyle standart bir şekilde konuşması için tanımlanmış açık bir protokol. Google'ın ADK Codelab'ı bunu, ajanların ayrı servisler olarak, hatta farklı makinelerde çalışsalar bile birbirleriyle güvenilir biçimde iletişim kurmasını sağlayan standart yol olarak anlatıyor.
İki kavramı bilmek yeterli:
- Agent Card: Bir ajanın "ben kimim, neler yapabilirim" kartı. Ajanlar birbirlerinin yeteneklerini bu kart üzerinden keşfediyor. Codelab'da A2A sunucusu bu kartı sizin yerinize sunuyor.
- Görev devri: Bir ajan, işin bir kısmını yeteneği uygun olan başka bir ajana devrediyor. Codelab'daki örnekte bir orkestratör ajan kullanıcı isteğini alıyor, sonra planlama, sosyal profil çıkarma ve platform etkileşimi gibi işleri uzman ajanlara dağıtıyor. Bu ajanların her biri Cloud Run üzerinde bağımsız bir servis olarak çalışıyor.
Basit bir benzetmeyle: Agent Card bir firmanın hizmet kataloğu, görev devri de müşteri talebini doğru departmana yönlendirmesi.
A2A ile MCP aynı şey mi?
Kısa cevap: hayır, birbirini tamamlıyorlar. Codelab ikisini aynı mimaride birlikte kullanıyor:
- MCP (Model Context Protocol): Ajanın dış araçlara, veri kaynaklarına ve sistemlere standart biçimde bağlanması. Codelab'da bir ajan, MCP sunucusu üzerinden InstaVibe'ın API'lerini araç olarak çağırıyor.
- A2A: Ajanın başka bir ajana bağlanması, yeteneklerini keşfetmesi ve ona görev devretmesi.
Pratik kural: bir araç çağırıyorsanız MCP, başka bir ajanla çalışıyorsanız A2A.
ADK 2.14.0'da A2A tarafında ne değişti?
Sürüm GitHub'da 7 Kasım 2026'da yayınlandı; changelog başlığındaki tarih 2026-11-04. Resmî notlara göre A2A için öne çıkanlar:
- A2A entegrasyonu stable. Daha önce deneysel olan entegrasyon artık stable. İkincil kaynak (AIToolsRecap) bunu, ekiplerin API şekline güvenerek üzerine inşa edebileceği bir taahhüt olarak yorumluyor; bu yorum o sitenin, release notunun değil.
- `adk generate_agent_card` CLI komutu. Bir A2A Agent Card'ı komut satırından üretiyor.
- Görev iptali. Bir A2A görevi iptal edildiğinde bu iptal artık çalışmakta olan runner çağrılarına iletiliyor.
- Hata işaretleme. Başarısız A2A görevleri hata olayı olarak işaretleniyor. Ayrıca bir çalıştırma hatadan toparlandığında A2A görevi tamamlanıyor ve görev modundaki uzak ajan hata verdiğinde koordinatör ajana cevap dönüyor.
- mTLS.
RemoteA2aAgent'ın varsayılan istemcisi artık mTLS istemci sertifikasını sunuyor. AyrıcaRemoteA2aAgentkendi HTTP istemcisinden her zamanA2A-Versionbaşlığını gönderiyor.
Bu iki madde benim için sıradan bir changelog satırı değil. Kendi düzenimde bir ajan takıldığında ya da hata verdiğinde bunun açıkça işaretlenmemesi, işi sessizce bekletiyor. Bir uzman ajanın kota hatası yüzünden saatlerce aynı işi tekrar tekrar denediği bile oldu. Bu yüzden görev iptalinin ve hata işaretlemenin A2A'da standart olması bence en değerli taraflardan biri.
Sürümün diğer başlıkları
- Execution environments stable.
BaseEnvironment,LocalEnvironment,EnvironmentToolset,DaytonaEnvironmentveE2BEnvironmentstable'a geçti. Büyük dosyalar parça parça okunduğu içinReadFileTooltüm dosyayı belleğe almadan satır aralığı okuyabiliyor. - MultiRunConfig.
adk eval --num_runsile her değerlendirme senaryosu birden çok kez, eşzamanlı çalışıyor; skorlar veya geçme oranları birleştiriliyor (--parallelismile birlikte). Release notunun ifadesiyle amaç daha istikrarlı sonuç. - ToolArgsMatcher. Değerlendirmelerde araç çağrısı argümanlarını birebir, büyük/küçük harf duyarsız, sayısal toleranslı veya LLM destekli anlamsal kontrolle karşılaştırıyor.
- TeamsRunner. Bir ADK ajanını Microsoft Teams sohbet ve kanallarına bağlıyor.
- Aynı sürümde
OpenAIDecisionsClassifierveMongoDbMemoryServiceiçin vektör arama eklendi. Ayrıca 26 auth/environment/app/CLI/cache modülü ile 16 toolset ve entegrasyon özelliği stable'a geçti.
%23 daha hızlı, %9 daha az bellek: nasıl okumalı?
Release notu, 30 düğümlü bir workflow'un 200 turluk çalışmasının %23 daha hızlı olduğunu ve tepe belleğin %9 düştüğünü söylüyor. Bu, Google'ın kendi ölçümü ve bağımsız olarak doğrulanmadı. Kendi iş yükünüzde aynı sonucu görüp görmeyeceğinizi yükseltmeden önce kendiniz ölçmeniz gerekir. Ben bu rakamları henüz kendi iş yükümde ölçmedim; yükseltmeden önce ölçeceğim. Siz de aynısını yapın.
Breaking changes: yükseltmeden önce bakın
Release notunda üç kırıcı değişiklik var:
- Enum araç argümanları.
Enum,Optional[Enum]veyalist[Enum]olarak tanımlıFunctionToolparametreleri artık modelin gönderdiği ham string yerine enum üyesi alıyor. DüzEnum'daarg == "value", string anahtarlı sözlük erişimi,match,json.dumpsve string metotları artık çalışmıyor. Çözüm: üyelerle karşılaştırmak,.valuekullanmak veyaStrEnum'a geçmek. - `VertexAiSessionService.create_session`. Ek anahtar kelime argümanları yalnız
display_name,ttl,expire_timevelabelsile sınırlı (camelCase karşılıkları dahil).http_options,session_state,sessionId,wait_for_completiongibi anahtarlar artıkValueErrorveriyor. State ve ID içinstate=vesession_id=kullanılmalı. - `RunSkillScriptTool`.
SkillToolsetenvironment modunda artık serbest bir shellcommandyerineargs,short_optionsvepositional_argsalıyor; betikler skill dizininden çalışıyor ve yalnız.py,.sh,.bashdestekleniyor.commandgeçen çağrılarINVALID_ARGUMENTSdönüyor. Release notuna göre bu, prompt-injection'a uğramış bir modelin keyfi shell komutu çalıştırabildiği bir açığı kapatıyor.
Bunlar dışında release notunda bir dizi davranış değişikliği de var (ör. PostgreSQL'de yeni JSON sütunlarının jsonb yerine json oluşturulması; Firestore'da ise release notuna göre 2.14'ün yazdığı oturumlar, sürüm 2.13.0 veya öncesine geri dönülürse okunamıyor). Yükseltmeden önce tam listeye göz atın.
Kimin için ne anlama geliyor?
- A2A'yı deneyen geliştiriciler: Artık "deneysel" uyarısına yaslanmadan çalışabilirsiniz. Agent Card'ı elle yazmak yerine
adk generate_agent_cardile üretebilir, iptal ve hata akışlarının daha tutarlı olmasından yararlanabilirsiniz. - mTLS kullanan kurumsal ekipler:
RemoteA2aAgentvarsayılan istemcisinin istemci sertifikasını sunması işinizi kolaylaştırır; kendi ortamınızda test edin. - Ajan kalitesini ölçenler:
MultiRunConfigveToolArgsMatcher, LLM çıktılarının dalgalı olduğu değerlendirmelerde daha sağlam ölçüm demek. - Ekibi Microsoft Teams'te çalışan iş sahipleri:
TeamsRunnerajanı mevcut sohbet ortamına taşımanın bir yolu. - Mevcut ADK projesi olanlar: Önce breaking change listesine bakın. Enum argümanı kullanan araçlarınız,
VertexAiSessionServiceçağrılarınız ve skill betikleriniz etkilenebilir. - Henüz başlamamış iş sahipleri: Tek bir yazıdan "hemen geçin" sonucu çıkmaz. Stable etiketi, API'nin bu noktadan sonra kolay kolay değişmeyeceği beklentisi yaratıyor; ama kendi kullanım senaryonuzda küçük bir pilotla doğrulamak iyi fikir. Önerim şu: tek, dar kapsamlı bir iş akışı seçin ve iki ajanla küçük bir pilot kurun. Başarı ölçütünü (süre, hata oranı, elle müdahale sayısı gibi) pilota başlamadan belirleyin. Sonuç beklediğiniz gibiyse kapsamı genişletin.
Sonuç
2.14.0'ın benim için asıl haberi A2A'nın stable olması; geri kalanı (execution environments, evaluation araçları, Teams) ajan ürünlerini üretime yaklaştıran parçalar. Yükseltmeden önce breaking change listesini mutlaka okuyun. AI ajanlarının web projelerinde nereye oturduğunu merak ediyorsanız Bugün web tasarım: otonom AI ajanları ve headless mimari yazıma da bakabilirsiniz. Kendi projenizde ajan kullanımını konuşmak isterseniz iletişim sayfasından bana yazın.
Kaynaklar
- Birincil — google/adk-python v2.14.0 release notu (GitHub'da 7 Kasım 2026; changelog başlığı 2026-11-04): https://github.com/google/adk-python/releases/tag/v2.14.0
- Google Codelabs — "Google's Agent Stack in Action: ADK, A2A, MCP on Google Cloud" (A2A, Agent Card, MCP açıklamaları): https://codelabs.developers.google.com/instavibe-adk-multi-agents/instructions
- İkincil (yorum) — AIToolsRecap, "Google Just Marked Agent-to-Agent Communication Stable" (8 Kasım 2026): https://aitoolsrecap.com/Blog/google-adk-214-a2a-stable-2026
Not: Codelab, ADK 1.2.1 / a2a 0.2.7 sürümleriyle yazılmış eski bir eğitim; kavramsal açıklama için kullanıldı, 2.14 davranışı için değil.