Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önceki sayfada, bir LLM'yi bir aracıya sarmalamanın size kalıcı bir kimlik, yönergeler ve oturum yönetimi sağladığı gösterildi. Ancak tüm bunlara rağmen aracı yalnızca içerik (metin, resim vb.) oluşturabilir; bugünün hisse senedi fiyatını arayamaz, e-posta gönderemez veya veritabanınızı sorgulayamaz. Eğitim sırasında hangi bilgilerin işlendiğine ve bilgi isteminde sağladığınız bağlama göre yanıt verir.
Araçlar bu boşluğu kapatacak. Aracıya , eğitim verilerinin ötesine ulaşma ve gerçek dünyayla etkileşim kurma becerisi verir. Araç eklemek, aracıyı gerçekten yararlı hale getirmek için atabileceğiniz en etkili tek adımdır.
Bunu kullanmanız gereken durum
Temsilcinize şu durumlarda araçlar ekleyin:
- Temsilcinin modelin eğitiminde bulunmayan dış veya gerçek zamanlı verilere — canlı fiyatlar, hava durumu, veritabanı kayıtları, arama sonuçları — erişmesi gerekir.
- Temsilcinin yalnızca içerik üretmek yerine e-posta gönderme, bilet oluşturma, API'leri çağırma, dosya yazma gibi eylemler yapması gerekir.
Değerlendirmeler
| Değerlendirme | Ayrıntılar |
|---|---|
| Gecikme süresi | Her araç çağrısı bir gidiş dönüş ekler; model bir araç isteği oluşturur, kodunuz bunu yürütür ve sonuç model devam etmeden önce geri gönderilir. Çoklu araç bunu bileşik hale dönüştürür. |
| Belirteç ek yükü | Araç tanımları (adlar, açıklamalar, parametre şemaları) her istemde yer alır. Daha fazla araç, konuşma geçmişi ve modelin yanıtı için daha az belirteç olduğu anlamına gelir. |
| Hata ayıklama karmaşıklığı | Bir sorun olduğunda, bunun nedeni modelin araç seçiminde, seçtiği bağımsız değişkenlerde veya aracın yürütülmesinde olabilir. Mantıksal çözümleme ve kod hatalarını birlikte ayıklıyorsunuz. |
| Güvenilirlik | Model araçları yanlış şekilde çağırabilir, geçersiz parametreler kullanabilir veya gereksiz yere bir aracı çalıştırabilir. İyi açıklamalar ve araç onayı bunu azaltır, ancak ortadan kaldırmaz. |
Aracıların neden araçlara gereksinimleri vardır?
LLM Ile İlgili Temel Bilgiler bölümünde ele alındığı gibi, bir LLM, bir araç çağrısını temsil eden özel bir yapılandırılmış biçim de dahil olmak üzere belirteçler üretmek üzere eğitilmiştir. Ancak modelin kendisi hiçbir şeyi yürütmez. Modelin çıkışını ayrıştıran, gerçek işlevi çalıştıran ve sonucu geri besleyen uygulamanızdır (veya Agent Framework).
Bu, araçların modelin ne olduğunu değiştirmeyeceği, ancak aracınızın neler yapabileceğini değiştireceği anlamına gelir. Araçlar olmadan, bir ajan bir sohbetçidir. Araçlarla bir operatör haline gelir.
Bir seyahat rezervasyonu acentası düşünün. Araçlar olmadan, uçuşlar hakkında konuşabilir ve genel bilgilere dayalı olarak güzergah önerilerinde bulunabilir. Araçlarla şunları yapabilir:
- Gerçek zamanlı kullanılabilirlik ve fiyatlandırma için uçuş API'sinde arama yapın
- Kullanıcı adına bir uçuş rezervasyonu
Bu eylemlerin her biri, aracının dış dünyayla etkileşime geçmek için çağırabileceği bir kod parçası olan bir araç gerektirir.
Araç çağırma döngüsü nasıl çalışır?
Aracı araçları verdiğinizde, Agent Framework bir araç çağırma döngüsünü otomatik olarak yönetir:
┌──────────────────────────────────────────────────────┐
│ User: "What's the weather in Seattle?" │
└──────────────┬───────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────┐
│ Agent sends messages + tool definitions to LLM │
└──────────────┬───────────────────────────────────────┘
▼
┌───────────────┐
│ LLM responds │
└───┬───────┬───┘
│ │
Tool call? No ──────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ Agent Framework executes │ │ Final response: │
│ the tool (e.g., │ │ "It's cloudy in Seattle │
│ get_weather("Seattle")) │ │ with a high of 15°C." │
└──────────────┬──────────────┘ └─────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Agent sends tool result │
│ back to the LLM │
└──────────────┬──────────────┘
│
└──────► (back to "LLM responds")
Önemli noktalar:
- Döngü yazmanız gerekmez. Agent Framework modelin yanıtında araç çağrılarını algılamayı, araçları yürütmeyi ve sonuçları geri beslemeyi işler. Araçları siz tanımlarsınız; gerisini çerçeve düzenler.
- Dönüş başına birden çok araç çağrısı. Model, son yanıtı oluşturmadan önce çeşitli araçları (potansiyel olarak paralel olarak) çağırabilir veya bir aracın çıktısının bir sonrakini bilgilendirdiği zincirleme aracı çağrıları yapabilir.
- Araçları ne zaman çağıracaklarına model karar verir. Model, kullanıcının isteğine ve sağladığınız araç açıklamalarına göre bir aracın gerekli olup olmadığını belirler. İyi araç açıklamaları daha iyi araç seçimine yol açar.
Tavsiye
İlk aracınızı eklemek ve bu döngünün nasıl çalıştığını görmek için Başlarken öğreticideki 2. Adım: Araç Ekleme bölümüne bakın.
Araç türleri
Agent Framework çeşitli araç kategorilerini destekler. Doğru seçimi yapmak, ajanın hangi görevi yerine getirmesi gerektiğine ve yeteneğin nerede bulunduğuna bağlıdır.
İşlev araçları
İşlev araçları , aracıya yazdığınız ve kaydettiğiniz özel işlevlerdir. Bunlar işleminizde çalıştırılarak mantık, güvenlik sınırları ve hata işleme üzerinde tam denetim sağlar.
Aşağıdaki durumlarda işlev araçlarını kullanın:
- Ajanınızın çağırması gereken özel iş mantığınız var (veritabanında sorgulama, dahili bir API çağırma, bir hesaplama yapma)
- Aracı, kaynaklarınıza erişimle ortamınızda çalıştırmanız gerekiyor.
- Derleme zamanı türü güvenliği ve test edilebilirliği istiyorsunuz
İşlev araçları en yaygın ve esnek araç türüdür. Çoğu ajan burada başlar.
MCP araçları (Model Bağlam Protokolü)
MCP , uygulamaların LLM'lere nasıl araç sağladığını tanımlayan açık bir standarttır. Araç mantığını kendiniz yazmak yerine, REST API'nin uç noktaları kullanıma sunma şekline benzer şekilde standart bir protokol üzerinden bir dizi aracı kullanıma sunan bir MCP sunucusuna bağlanırsınız.
Agent Framework iki çeşidi destekler:
| Lezzet | Nedir? | Kullanılması gereken durumlar |
|---|---|---|
| Barındırılan MCP araçları | Microsoft Foundry veya diğer sağlayıcılar tarafından barındırılan ve yönetilen MCP sunucuları | Altyapıyı yönetmeden ortak özelliklere (örneğin, dosya arama, kod yürütme) anahtar teslimi erişim istiyorsunuz |
| Yerel MCP araçları | Kendiniz çalıştırdığınız veya herhangi bir sağlayıcıdan bağlandığınız MCP sunucuları | Özel veya üçüncü taraf bir MCP sunucunuz var veya kendi ortamınızda çalışan araçlara ihtiyacınız var |
Aşağıdaki durumlarda MCP araçlarını kullanın:
- Önceden oluşturulmuş bir MCP sunucusu zaten ihtiyacınız olan özelliği sağlar
- Paylaşılan sunucu aracılığıyla birden çok aracı veya uygulamada araçları yeniden kullanmak istiyorsunuz
- Üçüncü taraf bir hizmetin etkinleştirdiği bir MCP uç noktası ile tümleştirme yapıyorsunuz.
Sağlayıcı tarafından barındırılan araçlar
Bazı sağlayıcılar, sağlayıcının altyapısında çalışan yerleşik araçlar sunar; yerel kod gerekmez. Bunlar şunları içerir:
| Tool | Ne yapar? |
|---|---|
| Kod Yorumlayıcısı | Sağlayıcının altyapısında korumalı bir ortamda kod yürütür |
| Dosya Arama | Sağlayıcıya yüklediğiniz dosyaları arar |
| Web Araması | Web'de gerçek zamanlı bilgi arar |
Aşağıdaki durumlarda sağlayıcı tarafından barındırılan araçları kullanın:
- Aracı kendiniz oluşturmadan veya barındırmadan kod yürütme veya web araması gibi özelliklere ihtiyacınız vardır
- Sağlayıcı zaten gereksinimlerinizi karşılayan bir yönetilen sürüm sunuyor
Uyarı
Sağlayıcı tarafından barındırılan araç kullanılabilirliği sağlayıcıya göre değişir. Tam sağlayıcı destek matrisi için Araçlara Genel Bakış bölümüne bakın.
Uyarı
Bazı LLM sağlayıcıları, çıkarım sırasında OpenAI'in Yanıtlar API'si gibi altyapılarında barındırılan araçları çalıştırabilir. Bu çıkarım hizmetlerini, çıkarım ile araç yürütmeyi birleştiren yarı aracılı hizmetler olarak düşünün. Temel alınan modelin çalışma şeklini değiştirmez, ancak hizmetin yanıt oluşturma sürecinin bir parçası olarak araç yürütmenin gerçekleşebileceği anlamına gelir. Bu hizmetler, kendi altyapınızda çalıştırılması gereken yerel araçları yürütemez.
Doğru araç türünü seçme
| Question | Tavsiye |
|---|---|
| Özel iş mantığım var mı? | İşlev araçları — kendi işlevlerinizi yazma ve kaydetme |
| İhtiyacım olanı zaten yerine getiren bir MCP sunucusu var mı? | |
| Kod yürütme, dosya arama veya web araması gerekiyor mu? | Sağlayıcı tarafından barındırılan araçlar — sağlayıcınızın bunları destekleyip desteklemediğini denetleyin |
| Birden çok kategoriden araçlara ihtiyacım var mı? | Bunları karıştırın ; aracılar işlev araçlarını, MCP araçlarını ve sağlayıcı tarafından barındırılan araçları aynı anda kullanabilir |
Araç açıklamaları önemlidir
Model, adları ve açıklamaları temelinde araçları seçer. Belirsiz bir açıklama kötü araç seçimine yol açar, çünkü model yanlış aracı çağırabilir, kullanması gereken bir aracı atlayabilir veya yanlış bağımsız değişkenler iletebilir.
Araç açıklamaları, BIR API belgesi yazdığınız gibi yazılır: aracın ne yaptığını, her parametrenin ne anlama geldiğini ve ne döndüreceğini söyleyin. Açıklama ne kadar net olursa modelin kararı o kadar iyi olur.
Tavsiye
Araç tanımları (adlar, açıklamalar, parametre şemaları) istemine eklenir ve bağlam penceresinde belirteçleri kullanır. Birçok araç kaydederseniz ek yük önemli olabilir. Yalnızca aracının gerçekten ihtiyaç duyduğu araçları kaydedin.
Araç onayı: döngüde insan
Bazı eylemler hassastır; para aktarımı, kayıtları silme, e-posta gönderme. Ajanın bu araçları otonom olarak yürütmesini istemeyebilirsiniz. Araç onayı , bir araç yürütülmeden önce insan onayına ihtiyaç duymanızı sağlar.
Bir araç onay gerektiriyor olarak işaretlendiğinde, aracıyı çalıştırmadan önce ajan duraklar ve onayın gerekli olduğunu belirten bir yanıt döndürür. Uygulamanız bunu kullanıcıya sunmak ve kararını geri geçirmekten sorumludur.
Bu desen genellikle döngüde insan olarak adlandırılır ve sonuç eylemlerini işleyen güvenilir aracılar oluşturmak için gereklidir.
Yaygın tuzaklar
| Gizli tehlike | Kılavuz |
|---|---|
| Çok fazla araç | Her araç tanımı belirteçleri tüketir. Yalnızca temsilcinin amacıyla ilgili araçları kaydedin. |
| Belirsiz açıklamalar | "Verilerle iş yapar" ifadesi modele yardımcı olmaz. Detaylandırın: "Ürün kullanılabilirliğini SKU aracılığıyla sorgulamak için envanter veritabanını kontrol eder." |
| Hata işleme yok | Araçlar başarısız olabilir (ağ hataları, geçersiz giriş). Modelin neyin yanlış gittiğini anlayıp yeniden deneyebilmesi veya kullanıcıyı bilgilendirmesi için net hata iletileri döndürebilirsiniz. |
| Aşırı izinli araçlar | "Herhangi bir SQL sorgusunu çalıştırabilen" bir araç güvenlik riskidir. Araçları belirli, iyi tanımlanmış işlemlerin kapsamına ekleyin. |
| Hassas eylemlerde eksik onay | Bir araç geri alınamaz değişiklikler yapabilirse, insanı sürecin içinde tutmak için alet onayı ekleyin. |
Özel Not: Kod Yorumlayıcı Aracı
LLM TemelLeri'nde açıklandığı gibi, LLM'ler hassas hesaplamalarda ve resmi mantıkta hatalar yapabilir. Bunun nedeni, LLM'lerin desen eşleştirmeyle yanıtları belirteç bazında oluşturmalarıdır; aslında hesaplamazlar. Büyük iki sayıyı çarpması istenen bir LLM, aritmetik işlem yapmaz; eğitildiği verilere göre yanıtın "nasıl göründüğünü" tahmin eder. Bu, şaşırtıcı derecede sık çalışır, ancak uç durumlarda tahmin edilemez şekilde başarısız olur.
Kod Yorumlayıcı , aracının korumalı bir ortamda kod yazmasına ve yürütmesine izin vererek bu sorunu çözer. Model, yanıtı tahmin etmek yerine tam olarak hesaplayan, çalıştıran ve yanıtında doğrulanmış sonucu kullanan bir Python betiği yazar.
Uyarı
Model her aynı sorunu çözmesi istenildiğinde biraz farklı bir betik yazabilir, ancak sonuçlar çoğunlukla tutarlı olmalıdır.
Uyarı
Kod Yorumlayıcı, insan açısından dikkatli bir şekilde mantık yürütmenin yerini almaz. Her zaman aracının çalışmasını denetleyin ve gerektiğinde sonuçları bağımsız olarak doğrulayın.
Ajanınıza Kod Yorumlayıcı gerektiğinde verin.
- Yaklaşık "en iyi tahmin"in kabul edilebilir olmadığı hassas hesaplamalar (finansal modelleme, istatistiksel analiz, birim dönüştürmeleri) gerçekleştirin.
- Verileri dönüştürme veya analiz etme — CSV'leri ayrıştırma, satırları toplama, grafik oluşturma veya yapılandırılmış verileri yeniden şekillendirme.
- Dosyaları işleme — karşıya yüklenen belgeleri okuyun, içeriği ayıklayın, biçimleri dönüştürün veya yeni dosyalar oluşturun.
- Kendi nedenini doğrulayın : Kullanıcıya sunmadan önce mantıksal talebi doğrulamak için test kodu yazın.
Tavsiye
Code Interpreter, sağlayıcı tarafından barındırılan bir araç olabilir; kod, ortamınızda değil, bir korumalı alanda, sağlayıcının altyapısında çalışır. Bu, sunucularınızda rastgele kod yürütme konusunda endişelenmeden kullanımı güvenli hale getirir. Kurulum ayrıntıları için Kod Yorumlayıcı başvurusuna bakın.
Sonraki Adımlar
Temsilcinizin araçları olduktan sonraki adım, aracılara ihtiyaç duyduklarında yükleyebilecekleri alan uzmanlığı sağlayan yönergeler, başvuru materyalleri ve betikleri içeren taşınabilir paketler olan beceriler hakkında bilgi edinmektir.
Daha derine gidin:
- Araçlara Genel Bakış — tüm araç türleri ve sağlayıcı destek matrisi
- İşlev Araçları — ayrıntılı işlev aracı başvurusu
- Hosted MCP Araçları — Microsoft Foundry MCP sunucuları veya diğer sağlayıcılar
- Yerel MCP Araçları — özel MCP sunucuları
- Araç Onayı — araçlar için insan etkileşimi
- 2. Adım: Araç Ekleme — uygulamalı öğretici