MCP ile ortak araç yüzeyi
Araçları her istemciye ayrı ayrı gömmek yerine ortak bir sunucu arkasında toplamanın hangi kararları merkeze taşıdığını, yüzey genişliğinin seçim isabetine etkisini ve kırıcı olmayan sürümlemeyi öğretir.
Önkoşul: AI Agent
BU DERSİN SONUNDA
- Araç yüzeyini ortak bir sunucuya taşıma kararını gerekçelendirmek
- Hangi kararın sunucuda hangisinin istemcide kalacağını ayırmak
- Araç yüzeyini rol ve kapsama göre daraltmak
- Kırıcı olmayan bir araç sürümleme yordamı uygulamak
- 1
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 5
Proje
Rotadaki projeye katkı
Kısa cevap
MCP, araç yüzeyini istemciden ayırarak tanımlayan bir protokoldür: araçlar bir sunucuda tanımlanır, istemci onları çalışma zamanında keşfeder ve çağırır. Asıl kazanç araç sayısı değil tutarlılıktır — aynı işin tanımı, doğrulaması ve yetki kontrolü tek yerde durur. Bedeli merkezîleşmeden gelir: yüzey genişledikçe her istemcinin bağlamında yer tutar ve araç seçimi bulanıklaşır.
Teori: N×M sorunu#
Araçları istemcinin içine gömdüğünüzde her istemci-araç çifti ayrı bir bağlantı olur. İki istemci ve on araç yirmi bağlantı demektir; her biri kendi şemasını, kendi hata biçimini ve kendi yetki kontrolünü taşır. Yeni bir istemci eklemek on iş, bir aracı değiştirmek istemci sayısı kadar iş çıkarır. Ortak bir yüzey bu çarpımı toplamaya indirir: araç bir kez tanımlanır, istemciler aynı tanımı okur.
Kazanç işgücünden çok davranışın aynılığındadır. Aynı iş iki istemcide iki ayrı kodla yapıldığında şemalar zamanla ayrışır: birinde zorunlu olan alan diğerinde isteğe bağlı kalır, birinde uygulanan yetki kontrolü diğerinde unutulur. Ajan sistemlerinde bu ayrışma test edilemeyen bir farka dönüşür, çünkü hangi istemcinin hangi tanımı gördüğü koşum kaydından okunmaz.
Hangi karar nerede durur#
| Karar | Yer | Neden |
|---|---|---|
| Araç şeması ve doğrulama | Sunucu | Tanım tek yerde kalmazsa istemciler arasında ayrışır |
| Yan etki ve idempotans kaydı | Sunucu | Anahtarın kalıcı kaydı istemci ömründen uzun yaşamalı |
| Yetki kapsamı kontrolü | Sunucu | İstemciye güvenilemez; kapsam çağrı anında sunucuda sınanır |
| Hangi araçların gösterileceği | İstemci isteği + sunucu izni | İstemci daraltır, sunucu son sözü söyler |
| Adım bütçesi ve durma koşulu | İstemci | Döngü istemcide koşar; sunucu turu görmez |
| İnsan onayı akışı | İstemci arayüzü + sunucu zorunluluğu | Onayı kullanıcı verir, zorunluluğu araç bildirir |
Yüzey genişliği ve araç keşfi#
Keşif, istemcinin sunucudan araç listesini alması demek. İstemcinin modele verdiği listenin tamamı bağlama girer; yani gösterilen bir araç tanımı hiç çağrılmasa bile her adımda yer tutar. Bu iki yönlü bir baskı üretir: dar yüzey bağlamı korur ama işi tamamlamaya yetmeyebilir; geniş yüzey her işi kapsar ama benzer araçlar arasındaki seçimi bulanıklaştırır ve birinci bölümde adı konan salınım arızasını besler.
- Rol bazlı alt küme: okuyucu ajan yalnızca okuma araçlarını, yayımcı ajan yazma araçlarını görür.
- Ad alanı ayrımı: aynı sunucudaki farklı etki alanları önekle ayrılır, böylece benzer adlar çakışmaz.
- Görev profili: liste görev tipine göre daraltılır; her iş için genel amaçlı tek liste verilmez.
- Örtüşme temizliği: aynı ihtiyacı karşılayan iki araçtan biri kaldırılır veya diğerinin enum değerine dönüşür.
- Yan etki işareti: yan etkili araçlar listede açıkça belirtilir, istemci onay akışını buna göre kurar.
Sürümleme#
- 1Genişletici değişikliği ayır
İsteğe bağlı alan eklemek veya enum'a değer katmak kırıcı değildir; aynı araç adı korunur.
- 2Daraltıcı değişikliğe yeni ad ver
Alanı zorunlu yapmak, enum değeri kaldırmak veya yan etkiyi değiştirmek yeni bir araç adıyla yayımlanır.
- 3Eskiyen aracı işaretle
Açıklamasına yerine geçen aracın adı yazılır; araç listede kalır ama yeni görev profillerine verilmez.
- 4Kullanımı izle
Eski aracın çağrı kaydı boşalana kadar beklenir; kaldırma tarihi takvimden değil kullanım kaydından okunur.
- 5Kaldırmayı duyur
Araç listeden çıktıktan sonra gelen çağrı, şema reddi değil açık bir "kaldırıldı" dönüşü alır; aksi hâlde arıza yanlış teşhis edilir.
Sık yapılan hata#
En sık görülen yanılgı, ortak sunucuyu bir güven sınırı sanmaktır. Sunucu araçları toplar; kimin hangi aracı çağırabileceğini kendiliğinden çözmez. İstemcinin kimliği ile son kullanıcının yetkisi ayrı iki şeydir ve araç çağrısı ikincisine göre sınanmalıdır. İkinci yanılgı yüzeyi eksiksiz tutmaya çalışmaktır: her ihtimale karşı eklenen araçlar bağlam maliyetini her adımda ödetir ve seçim hatası olasılığını artırır.
LAB · UYGULAMALI ALIŞTIRMA
Araç yüzeyinizi tek kanonik tanıma indirin
- 1Kullandığınız iki ajan istemcisini (veya aynı ajanın iki kurulumunu) seçin ve her birinin gördüğü araç adlarını yan yana listeleyin.
- 2Aynı işi yapan araçları eşleştirin; şema, zorunlu alan ve hata biçimi farklarını her çift için tek satırda yazın.
- 3Farkları tek bir kanonik tanıma indirin ve her alan için hangi kurulumun davranışını neden seçtiğinizi not edin.
- 4Kanonik listeyi iki rol profiline bölün: yalnızca okuma yapan profil ve yan etkili araçları da içeren profil.
- 5Yan etkili her aracı listede işaretleyip hangi çağrının insan onayı gerektirdiğini yazın.
- 6İki profili aynı görev üzerinde koşturup hiç çağrılmayan araçları sayın ve bunları yüzeyden çıkarmayı gerekçelendirin.
Beklenen çıktı
İki istemcide aynı görünen tek kanonik araç listesi, rol bazlı iki profil ve yüzeyden çıkarılacak araçların gerekçeli listesi.
Sık sorulan sorular
Ortak sunucu tek hata noktası oluşturmaz mı?
Oluşturur; bu, merkezîleşmenin bilinen bedeli. Karşılığında tanım ayrışmasından doğan sessiz farklar ortadan kalkar. Karar ölçütü şudur: araç yüzeyinin tutarsızlığı mı yoksa sunucunun erişilebilirliği mi sizde daha pahalıya çıkıyor? Tek istemcili ve tek ekipli bir kurulumda merkezîleşme çoğunlukla erken bir yatırımdır.
Aynı araçları hem sunucuda hem istemcide tutmak zararlı mı?
İki tanım bir arada durduğu sürece zararlı. Hangi tanımın çalıştığı koşuma göre değişir, arıza kaydından hangi şemanın uygulandığı anlaşılmaz ve düzeltme bir tarafa yazılıp diğerinde unutulur. Geçiş dönemi gerekiyorsa istemci içindeki tanım kaldırılana kadar yalnızca okuma araçlarıyla sınırlandırılır.
Araç sayısı arttıkça seçim neden bozulur?
Model aracı, listedeki ad ve açıklamaları karşılaştırarak seçer. Liste büyüdükçe birbirine yakın tanımlar çoğalır, ayırt edici bilgi seyrekleşir ve liste her adımda bağlamda yer tutar. Sorun modelin kapasitesi değil yüzeyin ayırt ediciliğidir: iki araç aynı cümleyle açıklanabiliyorsa listede birlikte durmaları için bir neden yoktur.
LEARN
Ajan Sistemleri Mühendisi rotasına devam et
Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.
