(Bu dersin videosunu görüntülemek için yukarıdaki resme tıklayın)
AI ajanlarının kullanımı arttıkça, standartlaştırma, güvenlik sağlama ve açık inovasyonu destekleme ihtiyacı da artmaktadır. Bu derste, bu ihtiyacı karşılamayı amaçlayan 3 protokolü ele alacağız - Model Context Protocol (MCP), Agent to Agent (A2A) ve Natural Language Web (NLWeb).
Bu derste şunları ele alacağız:
• MCP’nin AI Ajanlarının kullanıcı görevlerini tamamlamak için dış araçlara ve verilere erişimini nasıl sağladığı.
• A2A’nın farklı AI ajanları arasında iletişim ve iş birliği sağlaması.
• NLWeb’in AI Ajanlarının içerikleri keşfetmesine ve etkileşimde bulunmasına olanak sağlayan doğal dil arayüzlerini herhangi bir web sitesine nasıl getirdiği.
• AI ajanları bağlamında MCP, A2A ve NLWeb’in temel amacı ve faydalarını tanımlamak.
• Her protokolün LLM’ler, araçlar ve diğer ajanlar arasındaki iletişim ve etkileşimi nasıl kolaylaştırdığını açıklamak.
• Karmaşık ajanik sistemler oluşturmadaki her protokolün farklı rollerini tanımak.
Model Context Protocol (MCP), uygulamaların LLM’lere bağlam ve araç sağlaması için standartlaştırılmış açık bir standarttır. Bu, AI Ajanlarının tutarlı bir şekilde bağlanabileceği farklı veri kaynaklarına ve araçlara yönelik “evrensel bir adaptör” sağlar.
MCP’nin bileşenlerine, doğrudan API kullanımına kıyasla faydalarına ve AI ajanlarının MCP sunucusunu nasıl kullanabileceğine dair bir örneğe bakalım.
MCP, istemci-sunucu mimarisi üzerinde çalışır ve temel bileşenleri şunlardır:
• Hostlar, MCP Sunucusuna bağlantıyı başlatan LLM uygulamalarıdır (örneğin VSCode gibi bir kod düzenleyici).
• İstemciler, ana uygulamanın içinde sunucularla bire bir bağlantı kuran bileşenlerdir.
• Sunucular, belirli yetenekleri açığa çıkaran hafif programlardır.
Protokolde, MCP Sunucusunun yetenekleri olan üç temel ilkel bulunmaktadır:
• Araçlar: AI ajanının bir işlemi gerçekleştirmek için çağırabileceği ayrı işlemler veya fonksiyonlardır. Örneğin, bir hava durumu servisi “hava durumu al” aracını sunabilir ya da bir e-ticaret sunucusu “ürün satın al” aracını sunabilir. MCP sunucuları her aracın adını, açıklamasını ve giriş/çıkış şemasını yetenekler listesinde ilan eder.
• Kaynaklar: MCP sunucusunun sağlayabileceği salt okunur veri öğeleri veya belgeler olup, istemciler bunları talep üzerine alabilir. Örnekler arasında dosya içerikleri, veritabanı kayıtları veya günlük dosyaları bulunur. Kaynaklar metin (kod veya JSON gibi) ya da ikili (resim veya PDF gibi) olabilir.
• İstekler (Prompts): Daha karmaşık iş akışlarına olanak tanıyan önerilen önceden tanımlı şablonlardır.
MCP, AI Ajanları için önemli avantajlar sunar:
• Dinamik Araç Keşfi: Ajanlar, bir sunucudan mevcut araçların bir listesini ve ne yaptıklarını dinamik olarak alabilirler. Bu, geleneksel API’lerle karşılaştırıldığında, entegrasyonların genellikle statik kodlama gerektirmesi ve API değişikliklerinin kod güncellemelerini zorunlu kılması yerine, MCP’nin “bir kez entegre et” yaklaşımı ile daha büyük uyarlanabilirlik sağlar.
• LLM’ler Arası İnteroperabilite: MCP farklı LLM’ler arasında çalışır ve daha iyi performans için çekirdek modellerin değiştirilmesine esneklik sağlar.
• Standart Güvenlik: MCP standart bir kimlik doğrulama yöntemi içerir, bu da ek MCP sunucularına erişim eklerken ölçeklenebilirliği artırır. Bu, farklı anahtarlar ve kimlik doğrulama türlerini yönetmekten daha basittir.

Bir kullanıcı MCP tarafından desteklenen bir AI yardımcısı kullanarak uçak bileti rezervasyonu yapmak istiyor olsun.
Bağlantı: AI asistanı (MCP istemcisi), bir havayolu tarafından sağlanan MCP sunucusuna bağlanır.
Araç Keşfi: İstemci, havayolunun MCP sunucusuna, “Hangi araçlarınız mevcut?” diye sorar. Sunucu “uçuş arama” ve “uçuş rezervasyonu yap” gibi araçlarla cevap verir.
Araç Çağrısı: Siz sonra AI asistana, “Lütfen Portland’dan Honolulu’ya uçuş ara.” dersiniz. AI asistanı, kendi LLM’sini kullanarak “uçuş arama” aracını çağırması gerektiğini belirler ve uygun parametreleri (kalkış yeri, varış yeri) MCP sunucusuna gönderir.
Yürütme ve Yanıt: MCP sunucusu, bir sarmalayıcı olarak, havayolunun dahili rezervasyon API’sini gerçek olarak çağırır. Ardından uçuş bilgilerini (örneğin JSON verisi) alır ve AI asistana geri gönderir.
İleri Etkileşim: AI asistanı uçuş seçeneklerini sunar. Siz bir uçuş seçtiğinizde, asistan aynı MCP sunucusundaki “uçuş rezervasyonu yap” aracını çağırabilir ve rezervasyonu tamamlar.
MCP, LLM’leri araçlara bağlamaya odaklanırken, Agent-to-Agent (A2A) protokolü bunu bir adım ileriye taşıyarak farklı AI ajanlarının iletişim ve iş birliği yapmasını sağlar. A2A, farklı organizasyonlar, ortamlar ve teknoloji yığınları arasında AI ajanlarını ortak bir görevi tamamlamak üzere bağlar.
A2A’nın bileşenlerini ve faydalarını inceleyecek, ayrıca seyahat uygulamamızda nasıl uygulanabileceğine dair bir örnek vereceğiz.
A2A, ajanlar arasında iletişimi sağlama ve kullanıcının alt görevini tamamlamak için birlikte çalışma üzerinde odaklanır. Protokolün her bileşeni buna katkı sağlar:
MCP sunucusunun araç listesini paylaşmasına benzer şekilde, bir Ajan Kartında şunlar vardır:
Ajan Yürütücüsü, kullanıcı sohbetinin bağlamını uzak ajana geçirerek, uzak ajanın tamamlanması gereken görevi anlamasını sağlar. Bir A2A sunucusunda, bir ajan gelen talepleri ayrıştırmak ve kendi dahili araçlarını kullanarak görevleri yürütmek için kendi Büyük Dil Modelini (LLM) kullanır.
Uzak ajan istenen görevi tamamladığında, çalışmasının sonucu bir eser olarak oluşturulur. Bir eser, ajan çalışmasının sonucunu, tamamlanan şeyin açıklamasını ve protokol aracılığıyla gönderilen metin bağlamını içerir. Eser gönderildikten sonra, uzak ajanla bağlantı ihtiyaç duyulana kadar kapatılır.
Bu bileşen, güncellemeleri işlemek ve mesajları iletmek için kullanılır. Özellikle, görev tamamlanma sürelerinin uzun olabileceği durumlarda, ajanlar arası bağlantının görev tamamlanmadan önce kapanmasını önlemek açısından üretimde önemli bir rol oynar.
• Gelişmiş İş Birliği: Farklı satıcılar ve platformlardan ajanların etkileşimde bulunmasını, bağlam paylaşmasını ve birlikte çalışmasını sağlayarak, geleneksel olarak bağlantısız sistemler arasında kesintisiz otomasyon imkanı verir.
• Model Seçim Esnekliği: Her A2A ajanı isteklerini karşılamak için hangi LLM’yi kullanacağına kendisi karar verebilir, bu da bazı MCP senaryolarındaki tek LLM bağlantısının aksine ajan başına optimize edilmiş veya ince ayarlanmış modellerin kullanılmasına olanak tanır.
• Yerleşik Kimlik Doğrulama: Kimlik doğrulama doğrudan A2A protokolüne entegre edilmiştir ve ajan etkileşimleri için sağlam bir güvenlik çerçevesi sağlar.

Seyahat rezervasyon senaryomuzu bu defa A2A kullanarak genişletelim.
Kullanıcıdan Çoklu Ajan İsteği: Kullanıcı, bir “Seyahat Ajanı” A2A istemcisi/ajanı ile etkileşime geçer ve belki şöyle der: “Lütfen önümüzdeki hafta Honolulu’ya uçuşlar, otel ve kiralık araba dahil tam bir gezi ayarla.”
Seyahat Ajanı Tarafından Orkestrasyon: Seyahat Ajanı bu karmaşık isteği alır. LLM’sini kullanarak görevi değerlendirir ve diğer uzman ajanlarla etkileşimde bulunması gerektiğine karar verir.
Ajanlar Arası İletişim: Seyahat Ajanı, A2A protokolünü kullanarak “Havayolu Ajanı”, “Otel Ajanı” ve “Araç Kiralama Ajanı” gibi farklı şirketler tarafından oluşturulan alt ajanlara bağlanır.
Yetkili Görev Yürütme: Seyahat Ajanı, bu uzman ajanlara belirli görevler gönderir (örneğin “Honolulu’ya uçuş bul”, “Otel rezervasyonu yap”, “Araba kirala”). Bu uzman ajanların her biri, kendi LLM’leri ve kendi araçlarıyla (ki bu MCP sunucuları olabilir) rezervasyonun kendi bölümünü yapar.
Birleştirilmiş Yanıt: Tüm alt ajanlar görevlerini tamamladığında, Seyahat Ajanı sonuçları (uçuş detayları, otel onayı, araç kiralama rezervasyonu) derler ve kullanıcıya sohbet tarzında kapsamlı bir yanıt gönderir.
Web siteleri, kullanıcıların internet genelinde bilgi ve verilere eriştikleri ana yol olmuştur.
NLWeb’in farklı bileşenlerine, NLWeb’in faydalarına ve seyahat uygulamamız bağlamında nasıl çalıştığına bakalım.
NLWeb Uygulaması (Temel Servis Kodu): Doğal dil sorularını işleyen sistemdir. Platformun farklı parçalarını bağlayarak yanıtlar oluşturur. Bir web sitesinin doğal dil özelliklerini güçlendiren motor olarak düşünebilirsiniz.
NLWeb Protokolü: Bir web sitesi ile doğal dil etkileşimi için temel kurallar dizisidir. Yanıtları JSON formatında (genellikle Schema.org kullanarak) geri gönderir. Amacı, “Yapay Zeka Webi” için basit bir temel oluşturmaktır, tıpkı HTML’nin çevrimiçi belgelerin paylaşılmasını mümkün kılması gibi.
MCP Sunucusu (Model Context Protocol Uç Noktası): Her NLWeb kurulumu ayrıca bir MCP sunucusu olarak da çalışır. Bu, diğer AI sistemleriyle araçları (örneğin “sor” yöntemi) ve verileri paylaşabileceği anlamına gelir. Pratikte, bu web sitesinin içeriğinin ve yeteneklerinin AI ajanları tarafından kullanılmasını sağlar ve sitenin daha geniş “ajan ekosistemi” parçası haline gelmesine olanak tanır.
Yerleştirme Modelleri: Bu modeller, web sitesi içeriğini sayısal temsillere dönüştürmek için kullanılır; bu temsillere vektörler (embedding) denir. Bu vektörler, bilgisayarların karşılaştırıp arayabileceği anlamı yakalar. Özel bir veritabanında saklanırlar ve kullanıcılar hangi yerleştirme modelini kullanacaklarını seçebilirler.
Vektör Veritabanı (Geri Getirme Mekanizması): Web sitesi içeriğinin yerleştirmelerini saklayan veritabanıdır. Biri soru sorduğunda, NLWeb hızlıca en alakalı bilgileri bulmak için vektör veritabanına bakar. Benzerliklerine göre sıralanmış olası yanıtların hızlı bir listesini verir. NLWeb, Qdrant, Snowflake, Milvus, Azure AI Search ve Elasticsearch gibi farklı vektör depolama sistemleriyle çalışır.

Seyahat rezervasyon web sitemizi tekrar düşünelim, ancak bu sefer NLWeb tarafından destekleniyor.
Veri Alımı: Seyahat sitesinin mevcut ürün katalogları (örneğin uçuş listeleri, otel açıklamaları, tur paketleri) Schema.org kullanılarak veya RSS beslemeleri yoluyla biçimlendirilir. NLWeb araçları bu yapılandırılmış verileri alır, yerleştirmeler oluşturur ve bunları yerel veya uzaktaki bir vektör veritabanında saklar.
Doğal Dil Sorgusu (İnsan): Bir kullanıcı siteyi ziyaret eder ve menüde gezinmek yerine sohbet arayüzüne şöyle yazar: “Önümüzdeki hafta Honolulu’da havuzlu aile dostu bir otel bul.”
NLWeb İşleme: NLWeb uygulaması bu sorguyu alır. Anlamak için sorguyu bir LLM’ye gönderir ve aynı zamanda ilgili otel listelerini aramak için vektör veritabanını kontrol eder.
Doğru Sonuçlar: LLM, veritabanından gelen arama sonuçlarını yorumlar, “aile dostu”, “havuz” ve “Honolulu” kriterlerine göre en iyi eşleşmeleri belirler ve doğal dil yanıtı oluşturur. Hayati olarak yanıt, web sitesinin kataloğundaki gerçek otellere atıfta bulunur; uydurma bilgi içermez.
AI Ajan Etkileşimi: NLWeb, bir MCP sunucusu olarak hizmet verdiğinden, harici bir AI seyahat ajanı da bu sitenin NLWeb örneğine bağlanabilir. AI ajanı doğrudan siteye sorgulama yapmak için ask MCP yöntemini kullanabilir: ask("Honolulu bölgesinde otelin önerdiği vegan dostu restoranlar var mı?"). NLWeb örneği bunu işler, yüklüyse restoran bilgisi veritabanını kullanır ve yapılandırılmış JSON yanıtı döner.
Diğer öğrenenlerle tanışmak, ofis saatlerine katılmak ve AI Ajanlarınız hakkındaki sorularınızı sormak için Microsoft Foundry Discord sunucusuna katılın.
AI Ajanları için Bağlam Mühendisliği
Feragatname: Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayınız. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlamalardan veya yanlış yorumlamalardan sorumlu değiliz.