DEV Community

Cover image for Agent2Agent (A2A) Nedir? Yapay Zeka Ajan İletişimi İçin Açık Protokol
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Agent2Agent (A2A) Nedir? Yapay Zeka Ajan İletişimi İçin Açık Protokol

Günümüzdeki çoğu yapay zeka sistemi tekil ajan olarak tasarlanır: tek model, tek istem döngüsü, tek araç seti. Bu yaklaşım küçük işler için yeterlidir; ancak iş bir ajan için büyüdüğünde veya başka bir ekibin ajanına devredilmesi gerektiğinde standart eksikliği ortaya çıkar. İki bağımsız ajanın birbirini keşfetmesi, görev alışverişi yapması ve sonucu bildirmesi için ortak bir yol yoksa entegrasyon özel kodla çözülür. Agent2Agent (A2A), bu boşluğu kapatmak için geliştirilmiş açık protokoldür.

Apidog'u bugün deneyin

Bu rehberde A2A’nın ne olduğunu, hangi problemi çözdüğünü, temel bileşenlerinin nasıl çalıştığını, MCP’den nasıl ayrıldığını ve bir A2A ajanını pratikte nasıl test edebileceğinizi inceleyeceğiz. Bir A2A ajanını doğrudan test etmek isterseniz, Apidog A2A Hata Ayıklayıcı rehberi bu yazının devamı niteliğindedir.

Agent2Agent (A2A) Nedir?

Agent2Agent (A2A), yapay zeka ajanları arasında iletişim kurmak için tanımlanmış açık bir protokoldür. Bir ajanın kendini nasıl tanıttığını, başka bir ajanın ona nasıl bağlandığını, mesaj ve dosyaların nasıl taşındığını ve görev durumlarının çağırana nasıl döndüğünü standartlaştırır.

Buradaki kritik nokta, A2A’nın ajanların arasındaki iletişimi çözmesidir. A2A, tek bir ajana daha fazla araç vermek için değil; farklı ekipler, farklı framework’ler veya farklı altyapılarla geliştirilen ajanların birbirinin iç implementasyonunu bilmeden birlikte çalışabilmesi için kullanılır.

Bunu HTTP’ye benzetebilirsiniz. HTTP sayesinde bir tarayıcı, sunucunun hangi dilde yazıldığını bilmeden onunla konuşabilir. A2A da benzer şekilde bir LangGraph ajanının, nasıl geliştirildiğini bilmeden bir CrewAI ajanıyla konuşmasını mümkün kılar. Taraflar ortak zarf üzerinde anlaşır; iç mantık dışarı sızmaz.

Google, A2A’yı 2025’te tanıttı ve daha sonra satıcıdan bağımsız bir proje olarak Linux Vakfı’na taşıdı. Spesifikasyon A2A GitHub deposunda açık olarak geliştirilmektedir. Referans uygulamalar ise A2A proje sitesinde yayınlanmaktadır.

A2A Hangi Problemi Çözer?

A2A’dan önce iki ajanı birbirine bağlamak çoğunlukla özel entegrasyon kodu yazmak anlamına geliyordu. Her ajan eşleşmesi için ayrı istemci, ayrı payload formatı, ayrı kimlik doğrulama yöntemi ve ayrı hata yönetimi gerekiyordu.

Bu yaklaşım ölçeklenmez:

  • Keşif yoktur. Bir ajan, diğer ajana standart şekilde “ne yapabilirsin?” diye soramaz.
  • Ortak görev modeli yoktur. Bir ajan string döndürür, diğeri özel JSON üretir, bir başkası token akışı gönderir. Çağıran taraf her biri için ayrı mantık yazmak zorunda kalır.
  • Ortak kimlik doğrulama modeli yoktur. Her entegrasyon kendi header, token veya credential yapısını tekrar tanımlar.
  • Framework bağımsızlığı yoktur. AutoGen ile yazılmış bir ajan, aynı işi yapıyor olsa bile LangGraph ile yazılmış bir ajanın yerine kolayca konamaz.

A2A bu problemi, REST API dünyasında OpenAPI’nin yaptığına benzer şekilde çözer: taraflar ortak bir sözleşme üzerinde anlaşır. Böylece uyumlu herhangi bir ajan, başka bir uyumlu ajanla konuşabilir.

A2A Nasıl Çalışır?

A2A’yı anlamak için dört temel kavram yeterlidir:

  1. Aracı Kartı
  2. Görevler
  3. Mesajlar ve yapıtlar
  4. Akış ve durum güncellemeleri

1. Aracı Kartı

Aracı Kartı, bir ajanın kendini tanımlamak için yayınladığı JSON belgesidir. A2A’daki keşif giriş noktasıdır.

Tipik olarak şu bilgileri içerir:

  • Ajan adı
  • Açıklama
  • Yetenekler
  • Desteklenen beceriler
  • Desteklenen giriş ve çıkış türleri
  • Kimlik doğrulama gereksinimleri
  • Protokol sürümü

Genellikle şu gibi iyi bilinen bir yolda yayınlanır:

https://your-agent.example.com/.well-known/agent.json
Enter fullscreen mode Exit fullscreen mode

Çağıran ajan önce bu URL’yi alır, kartı okur ve mesaj göndermeden önce ajanın hangi işleri kabul edebileceğini öğrenir.

Örnek akış:

GET /.well-known/agent.json
Enter fullscreen mode Exit fullscreen mode

Çağıran taraf bu kartı kullanarak şu sorulara cevap bulur:

  • Bu ajan hangi becerilere sahip?
  • Hangi içerik tiplerini kabul ediyor?
  • Kimlik doğrulama gerekiyor mu?
  • Hangi protokol sürümü destekleniyor?

2. Görevler

A2A’da iş birimi görevdir. Bir ajan başka bir ajandan bir şey yapmasını istediğinde bu istek bir göreve dönüşür.

Bir görev genellikle şu durumlar arasında ilerler:

  • submitted
  • working
  • input-required
  • completed

Çağıran taraf görevi sorgulayabilir veya durum güncellemelerine abone olabilir. Bu ortak görev modeli, A2A ajanlarını değiştirilebilir hale getirir. İşi hangi ajanın yaptığı önemli değildir; çağıran taraf görev durumunu aynı şekilde takip eder.

Basit bir örnek senaryo:

Ajan A: "Bu dokümanı özetle."
Ajan B: Görevi oluşturur -> submitted
Ajan B: İşlemeye başlar -> working
Ajan B: Özet hazırlar -> completed
Ajan A: Sonucu tüketir
Enter fullscreen mode Exit fullscreen mode

3. Mesajlar ve Yapıtlar

Mesajlar, ajanlar arasında gerçek içeriği taşır. Bir mesaj birden fazla parçadan oluşabilir:

  • Metin
  • Dosya
  • Yapılandırılmış veri
  • Bunların kombinasyonu

Örneğin bir çağıran ajan, hedef ajana hem açıklama metni hem de analiz edilmesi gereken bir dosya gönderebilir.

Ajan işi tamamladığında çıktılarını yapıtlar olarak döndürür. Bir yapıt şunlardan biri olabilir:

  • Oluşturulmuş belge
  • Veri tablosu
  • Özet
  • Dosya referansı
  • Yapılandırılmış JSON çıktısı

Mesajlar ve yapıtlar aynı parça modelini kullandığı için veri formatı iki yönde de tutarlı kalır.

4. Akış ve Güncellemeler

A2A uzun süren görevler için akış desteği sağlar. Sunucu tarafından gönderilen olaylar sayesinde ajan, iş ilerledikçe durum değişikliklerini veya kısmi sonuçları yayınlayabilir.

Örneğin bir araştırma ajanı şu ilerleme güncellemelerini gönderebilir:

working: 3 kaynak bulundu
working: kaynaklar değerlendiriliyor
working: rapor oluşturuluyor
completed: nihai rapor hazır
Enter fullscreen mode Exit fullscreen mode

Bu sayede çağıran taraf yalnızca bekleyen bir spinner göstermek yerine kullanıcıya gerçek ilerleme bilgisi sunabilir.

Tipik Bir A2A Alışverişi

A2A üzerinden iki ajanın konuşması genellikle şu adımlarla ilerler:

  1. Ajan A, Ajan B’nin Aracı Kartı’nı alır.
  2. Ajan A, karttan yetenekleri ve giriş/çıkış tiplerini okur.
  3. Ajan A, Ajan B’ye bir mesaj gönderir.
  4. Ajan B bu mesajdan bir görev oluşturur.
  5. Ajan B görevi işler ve gerekirse durum güncellemeleri yayınlar.
  6. Görev completed durumuna geldiğinde Ajan B çıktıları döndürür.
  7. Ajan A yapıtları tüketir ve kendi iş akışına devam eder.

Tüm konuşma HTTP üzerinden JSON ile yapılır. Ekzotik bir taşıma katmanına ihtiyaç yoktur.

A2A ve MCP Karşılaştırması

A2A ve Model Context Protocol (MCP) sık karıştırılır çünkü ikisi de ajan ekosistemiyle ilgilidir ve açık protokollerdir. Ancak çözdükleri problem farklıdır.

A2A MCP
Bağladığı taraflar Ajan ile ajan Ajan ile araçlar ve veriler
Cevapladığı soru "Başka bir ajan bu adımı benim için yapabilir mi?" "Bu ajan hangi araçlara ve kaynaklara ulaşabilir?"
Tipik kullanım Ekipler arası çoklu ajan iş akışları Tek bir ajanın veritabanı, dosya sistemi veya API çağırması
Değişim birimi Görevler, mesajlar, yapıtlar Araç çağrıları, kaynaklar, istemler

Kısa özet:

  • MCP, bir ajanın harici sistemlere erişme yoludur.
  • A2A, bir ajanın başka bir ajana iş devretme yoludur.

Gerçek üretim sistemlerinde ikisi birlikte kullanılabilir. Örneğin bir ajan MCP ile veritabanını sorgular, ardından özel analiz adımını A2A üzerinden başka bir uzman ajana devreder.

Daha ayrıntılı karşılaştırma için MCP sunucusu ve A2A karşılaştırması yazısına bakabilirsiniz. MCP tarafını pratikte görmek için Apidog'un MCP istemcisi hata ayıklayıcısı rehberi de faydalıdır.

Çoklu Ajan İşbirliği: Orkestrasyon ve A2A

A2A, ajanların birlikte çalışmasının bir yoludur; ancak tek yöntem değildir. Bazı sistemlerde doğrudan orkestrasyon kullanılır. Bu modelde bir ajan planlayıcı rolündedir ve işi açıkça başka bir ajana devreder.

Açık kaynaklı bir örnek olarak Codex-Claude-Collab becerisi, OpenAI Codex ve Claude Code arasında gerçek zamanlı bir iş akışı koordine eder. Codex görevi planlar, uygulamayı Claude Code’a devreder, farkı inceler, sonucu doğrular ve kullanıcıya yanıt verir.

Bu desen doğrudan orkestrasyondur. Bir taraf diğer tarafın kim olduğunu ve nasıl çalıştığını bilir.

A2A ise bu fikri genelleştirir. Çağıran ajan belirli bir aracı adıyla sıkı bağ kurmak yerine Aracı Kartı’nı okur ve uyumlu herhangi bir ajanla çalışabilir.

Pratik kural:

  • Aynı ekip içinde, kontrol ettiğiniz ajanlar arasında doğrudan orkestrasyon yeterli olabilir.
  • Farklı ekipler, farklı framework’ler veya değiştirilebilir ajanlar arasında A2A daha uygundur.
  • Olgun sistemlerde ikisi birlikte bulunabilir: ekip içinde orkestrasyon, ekipler arasında A2A.

Bir A2A Ajanı Nasıl Test Edilir?

Bir A2A ajanı geliştirirken yalnızca loglara bakmak yeterli değildir. Gönderilen mesajı, görev durumlarını, yanıt payload’unu, kimlik doğrulama header’larını ve ham JSON-RPC içeriğini görebilmeniz gerekir.

Test ederken şu sırayı izleyin:

  1. Aracı Kartı URL’sinin erişilebilir olduğunu doğrulayın.
  2. Karttaki yeteneklerin ve becerilerin beklenen şekilde geldiğini kontrol edin.
  3. Basit bir metin mesajıyla görev oluşturmayı deneyin.
  4. Görev durumunun submittedworkingcompleted akışını izleyin.
  5. Dönen yapıtları ham JSON olarak inceleyin.
  6. Kimlik doğrulama gerekiyorsa Bearer Token, Basic Auth veya API key header’larını doğrulayın.
  7. Dosya ekleri ve streaming gibi gelişmiş özellikleri en son ekleyin.

Apidog, standart istemcisi içinde A2A Hata Ayıklayıcısı sunar. Kullanım akışı şöyledir:

  1. Aracı Kartı URL’sini yapıştırın.
  2. Connect ile karta bağlanın.
  3. Apidog’un okuduğu ajan adını, yetenekleri ve becerileri kontrol edin.
  4. Test mesajı gönderin.
  5. Gerekirse dosya ve metadata ekleyin.
  6. Yanıtı üç görünümde inceleyin:
    • Okunabilir önizleme
    • Ham içerik
    • Tam JSON-RPC yükü

Bu yaklaşımın asıl faydası izolasyondur. Bir ajan hatalı davrandığında problemin taşıma katmanında mı yoksa ajan mantığında mı olduğunu hızlıca ayırmanız gerekir. Ham isteği ve yanıtı görmek bunu saniyeler içinde netleştirir.

Adım adım örnek için Apidog A2A Hata Ayıklayıcı rehberine bakabilirsiniz. Benzer test disiplini için API'lerinizi çağıran yapay zeka ajanlarını test etme yazısı da aynı “önce kabloyu doğrula” yaklaşımını uygular.

A2A’ya Başlarken

Bir A2A ajanı oluşturmak veya mevcut bir ajana bağlanmak için pratik başlangıç planı:

  1. A2A spesifikasyonunu okuyun. Özellikle Aracı Kartı alanlarına ve görev yaşam döngüsüne odaklanın.
  2. Referans örnek ajanlardan birini yerel olarak çalıştırın.
  3. Örnek ajanın Aracı Kartı URL’sini açarak JSON çıktısını doğrulayın.
  4. Bir A2A hata ayıklayıcısıyla karta bağlanın.
  5. Basit bir “merhaba” mesajı gönderin.
  6. Görev durumlarının ve yanıt yapıtlarının beklenen şekilde döndüğünü kontrol edin.
  7. Kendi ajanınız için geçerli bir Aracı Kartı yayınlayın.
  8. İş akışına bağlamadan önce aynı testleri kendi ajanınızda tekrarlayın.
  9. Temel metin yolu çalıştıktan sonra kimlik doğrulama, dosya ekleri ve akış desteğini ekleyin.

Önerilen uygulama sırası:

Aracı Kartı
↓
Basit mesaj
↓
Görev durumu
↓
Yapıt çıktısı
↓
Kimlik doğrulama
↓
Dosya ekleri
↓
Streaming
Enter fullscreen mode Exit fullscreen mode

A2A henüz genç bir protokol olsa da satıcıdan bağımsız bir vakıf tarafından desteklenmesi ve framework bağımsız tasarımı sayesinde uzun vadeli çoklu ajan entegrasyonları için güçlü bir temel sunar. Ajan trafiğini baştan protokol seviyesinde ele almak, ileride özel entegrasyon kodlarını yeniden yazma maliyetini azaltır.

Daha geniş perspektif için Yapay zeka ajanları yeni API tüketicileridir yazısına, ajan odaklı API tasarımı için ise yapay zeka ajanları için API tasarlamak rehberine bakabilirsiniz.

Sık Sorulan Sorular

A2A Google tarafından mı yapıldı?

Google, A2A’yı 2025 yılında tanıttı. Daha sonra protokolü satıcıdan bağımsız açık bir proje olarak Linux Vakfı’na bağışladı. Spesifikasyon açık olarak geliştirilmektedir ve herhangi bir satıcı tarafından uygulanabilir.

Sadece tek bir ajanım varsa A2A’ya ihtiyacım var mı?

Hayır. A2A, ajandan ajana iletişim içindir. Tek bir ajan yalnızca araçlara, veri kaynaklarına veya API’lere bağlanıyorsa MCP daha uygun olabilir. A2A, ikinci bir ajanla iş paylaşımı gerektiğinde devreye girer.

Hangi framework’ler A2A’yı destekleyebilir?

A2A tasarım gereği framework bağımsızdır. Geçerli bir Aracı Kartı yayınlayan ve protokolü uygulayan herhangi bir ajan katılabilir. Bu nedenle LangGraph, CrewAI, AutoGen veya özel geliştirilmiş ajanlar A2A üzerinden birlikte çalışabilir. Çağıran taraf için ajanın iç framework’ü görünmezdir.

A2A, MCP ile aynı mı?

Hayır. MCP bir ajanı araçlara ve veri kaynaklarına bağlar. A2A ise ajanları birbirine bağlar. İkisi tamamlayıcıdır ve birçok üretim sisteminde birlikte kullanılabilir.

Bir A2A entegrasyonunda hata ayıklamayı nasıl yaparım?

Apidog A2A Hata Ayıklayıcı gibi görsel bir A2A hata ayıklayıcısı kullanabilirsiniz. Aracı Kartı URL’sini yapıştırın, test mesajları gönderin ve ham isteği/yanıtı inceleyin. Böylece taşıma hatalarını ajan mantığı hatalarından ayırabilirsiniz.

A2A uzun süreli görevleri destekliyor mu?

Evet. A2A görev modeli açık durumlara sahiptir ve protokol kısmi sonuçları veya ilerleme güncellemelerini sunucu tarafından gönderilen olaylarla akış halinde iletebilir. Böylece uzun süren işler çağıran tarafı bloklamak zorunda kalmaz.

Top comments (0)