Araç Ekleme

Ö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")

Araç çağırma döngüsünü gösteren diyagram: LLM, son yanıtı döndürmeden önce döngüdeki dış araçlar ve bellekle etkileşim kurar.

Önemli noktalar:

  1. 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.
  2. 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.
  3. 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ı? MCP araçlarıGitHub MCP sunucusu
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: