Tool Calling: Bir Yapay Zeka Ajanı Dış Araçları Nasıl Çağırır

Tool calling, yani araç çağırma, bir yapay zeka modelinin yalnızca metinle yanıt vermek yerine, kesin argümanlarla kesin bir işlevin yürütülmesini talep edebilme becerisini tanımlar.

Atako ajanları tarafından yazıldı · İnceleyip onaylayan Romain Laodicina · Atako CTO'su

Kısa tanım

Tool calling (araç çağırma, function calling olarak da bilinir), bir dil modelinin bir isteğin bir veritabanını okumak ya da bir mesaj göndermek gibi harici bir eylem gerektirdiğini fark edip argümanlarıyla birlikte yapılandırılmış bir çağrı talebi üretme becerisidir. Bir uygulama daha sonra bu çağrıyı yürütür ve sonucu modele geri iletir.

Tool calling olmadan bir dil modeli yalnızca tek bir şey yapabilir: metinden metin üretmek. Ne güncel bir veritabanına danışabilir, ne bir mesaj gönderebilir, ne de üçüncü taraf bir yazılımda bir eylemi tetikleyebilir. Tool calling, bir modeli dış bir sisteme bağlayan köprüdür. Sohbet eden bir modeli, işlem yapabilen bir yapay zeka ajanına dönüştüren şey budur; her otonom ajanın arkasındaki temel yapı taşı.

Ayrıntılı Tanım

Tool calling, function calling olarak da adlandırılır, bir dil modelinin bir isteğe yalnızca metinle değil, önceden tanımlanmış bir şemaya göre doldurulmuş argümanlarla kesin bir işlevin yürütülmesine ilişkin yapılandırılmış bir talep ile yanıt verme becerisini tanımlar. Anthropic'in belgeleri ilkeyi şöyle anlatıyor: model, isteğe ve aracın tanımına göre bir aracı çağırıp çağırmayacağına karar verir, ardından uygulamanın (istemci tarafında) ya da sağlayıcının kendisinin (bazı yerleşik araçlar için sunucu tarafında) yürüttüğü yapılandırılmış bir çağrı döndürür. 2023'te function calling terimini yaygınlaştıran OpenAI'nin belgeleri de aynı mekanizmayı anlatıyor: model, serbest metin yerine makine tarafından okunabilir bir işlev çağrısıyla yanıt verir, bunu yürütmek uygulamaya düşer.

İki referans sağlayıcı da temel tanımda birleşiyor: bir işlev, bir isim, doğal dilde bir açıklama ve beklenen parametrelerini listeleyen bir JSON şeması ile tanımlanır. Model, bir aracı çağırıp çağırmayacağına ve argümanlarını nasıl dolduracağına karar vermek için yalnızca bu üç unsura dayanır. Bu temel ilke üzerinde iki yaklaşım arasında önemli bir ayrışma yok; farklar uygulama ayrıntılarında (paralel çağrı formatları, sağlayıcı tarafından yerleşik olarak sunulan araçlar, hata yönetimi).

Tool calling, basit bir chatbot ile gerçek dünya üzerinde işlem yapabilen bir sistemi birbirinden ayıran şeydir: bir veritabanına danışmak, webde arama yapmak, bir dosyaya yazmak, bir mesaj göndermek, bir ödemeyi tetiklemek. Aynı zamanda, araçların bir modele nasıl tanımlanıp sunulacağını standartlaştırmak için tasarlanmış MCP protokolünü mümkün kılan temel yapı taşıdır.

Nasıl Çalışır

Bir araç çağrısının işleyişi her zaman aynı çok adımlı şemayı izler. Öncelikle uygulama, model için kullanılabilir bir araç listesi tanımlar; her biri kendi ismi, açıklaması ve argüman şemasıyla. Ardından model, bu araç listesiyle birlikte kullanıcının isteğini alır ve bağlama göre doğrudan metinle yanıt vermesi mi yoksa bir aracın yürütülmesini talep etmesi mi gerektiğine karar verir.

Bir aracı çağırmayı seçerse, model kendisi hiçbir şey yürütmeden, aracın adını ve argümanlarının değerlerini içeren yapılandırılmış bir yanıt döndürür. Bu talebi alan, gerçek eylemi (bir API'yi çağırmak, bir tabanı okumak, bir dosya yazmak) gerçekten yürüten ve sonucu modelin okuyabileceği bir biçimde geri ileten uygulamadır. Model daha sonra bu sonuca dayanarak yanıtına devam eder ve görev gerektiriyorsa birden fazla araç çağrısını art arda gerçekleştirebilir.

Bu ayrım güvenlik açısından önemlidir: model hiçbir zaman kodu kendisi çalıştırmaz, yalnızca bir çağrı önerir. Gerçekte neyin yürütüleceği üzerinde kontrolü elinde tutan ve koşullar sağlanmadığında bir çağrıyı reddedebilen uygulamadır.

Atako'dan Somut Bir Örnek

Atako'da tool calling, bir ajanın işleyişinin tam merkezinde yer alır. Bağlı her entegrasyon (Slack, Notion, GitHub, HubSpot ve kırka yakın diğerleri), ajanın görevin gerektirdiğine karar verdiğinde çağırabileceği, Slack'te post_message ya da GitHub'da create_issue gibi kesin eylemler kümesi sunar.

Ama Atako'da bir araç çağrısı hiçbir zaman doğrudan yürütülmez. Önce bir izin kontrolünden geçer: platform, bu ajan ve bu kesin bağlantı için bir "grant"in var olduğunu, talep edilen eylemin bu grant'in yetkili eylem listesinde gerçekten yer aldığını ve verilen kapsamın (salt okunur ya da okuma-yazma) söz konusu eylemi gerçekten kapsadığını doğrular. Bu koşullardan biri sağlanmazsa, çağrı reddedilir ve başarısızlık kayıt altına alınır. Bu karar yolu, önce öneren ajan sonra yürütmeden önce doğrulayan platform, tam olarak tool calling'in sağladığı güvenlik mantığıdır: model önerir, altyapı karar verir.

Sık Yapılan Hatalar

Sık yapılan bir hata, modelin çağırdığı aracı kendisinin yürüttüğüne inanmaktır. Bu asla böyle değildir: model yapılandırılmış bir talep üretir, gerçek eylemi her zaman bir uygulama ya da platform yürütür ve bunu her an reddedebilir.

İkinci hata: bir modele bir araca erişim vermenin, o hizmete tam ve sınırsız bir erişim vermekle aynı şey olduğunu düşünmek. İyi tasarlanmış bir tool calling sistemi, genel bir "ya hep ya hiç" erişim yerine, eylem başına ve kapsam başına izinlerle mevcut eylemleri kesin olarak sınırlar.

Üçüncü hata: aracın açıklamasının önemini hafife almak. Model, bir aracı ne zaman ve nasıl çağıracağına karar vermek için yalnızca adına, açıklamasına ve argüman şemasına sahiptir. Belirsiz ya da muğlak bir açıklama, güçlü bir modelle bile yanlış seçilmiş çağrılara ya da hatalı argümanlara yol açar.

Son olarak, bazıları tool calling ile MCP'yi karıştırıyor. Tool calling, büyük model sağlayıcılarında 2023'ten beri var olan temel mekanizmadır. MCP ise daha yeni bir protokoldür ve araçların bir modele nasıl tanımlanıp bağlanacağını standartlaştırır; her araç ve her sağlayıcı için farklı bir entegrasyonu yeniden geliştirmekten kaçınmak amacıyla.

İlgili terimler

Sık sorulan sorular

Yapay zekada tool calling nedir?

Tool calling, yani araç çağırma, bir dil modelinin bir isteğe metinle değil, tanımlı argümanlarla kesin bir işlevin yürütülmesine ilişkin yapılandırılmış bir talep ile yanıt verme becerisini tanımlar. Harici bir uygulama daha sonra bu işlevi yürütür ve sonucu modele geri iletir; model de bu sonuçtan yola çıkarak yanıtına devam eder.

Tool calling ile function calling arasındaki fark nedir?

Bunlar aynı mekanizmanın iki farklı adıdır. OpenAI, 2023'te function calling terimini yaygınlaştırdı; Anthropic ve diğer sağlayıcılar ise daha çok tool use veya tool calling'den söz ediyor. İlke aynı kalır: model bir araç seçer, argümanlarını doldurur ve bir uygulama gerçek çağrıyı yürütür.

Bir yapay zeka ajanı hiçbir kontrol olmadan istediği aracı çağırabilir mi?

Hayır, ciddi bir platformda her araç çağrısı, ajanın bu kesin aracı hangi erişim kapsamıyla kullanma hakkına sahip olduğunu doğrulayan bir izin katmanından geçer. Model çağrıyı önerir, ama onu yürütmeye ya da reddetmeye karar veren uygulamadır.

Tool calling her dil modeliyle çalışır mı?

Hayır, bu yapılandırılmış çıktı formatını üretmek için özel olarak eğitilmiş bir model gerekir. Büyük sağlayıcıların (OpenAI, Anthropic, diğerleri) son modellerinin çoğu bunu doğal olarak destekliyor, ama daha eski ya da daha küçük bir model güvenilir bir araç çağrısı üretmeyi bilmeyebilir.

Sırada ne okumalı

Kaynaklar

Romain Laodicina

Atako CTO'su

Bu içerik Atako'nun yapay zeka ajanları tarafından yazılmış, ardından Atako CTO'su Romain Laodicina tarafından gözden geçirilmiş, düzeltilmiş ve onaylanmıştır.

İlk AI ajanlarınızı dağıtın

Hesabınızı ücretsiz oluşturun ve kod yazmadan birkaç dakikada bir ajan başlatın.

AI'nin bir adım önünde kalın.

Ürün yeniliklerini, yeni ajanları ve AI analizlerimizi doğrudan e-posta kutunuzda alın. Spam yok, istediğiniz zaman abonelikten çıkın.