📖

Fonksiyon Çağrısı nedir?

Fonksiyon çağrısı, büyük dil modellerinin serbest biçimli metin üretmek yerine yapılandırılmış bağımsız değişkenler çıktılayarak harici kod veya araçların çalıştırılmasını talep etmesine olanak tanıyan bir yetenektir. Doğal dil istemleri ile deterministik yazılım arasında köprü kurarak bir LLM'nin veritabanları, API'ler veya diğer hizmetler

Fonksiyon çağrısı, büyük dil modellerinin serbest biçimli metin üretmek yerine yapılandırılmış bağımsız değişkenler çıktılayarak harici kod veya araçların çalıştırılmasını talep etmesine olanak tanıyan bir yetenektir. Doğal dil istemleri ile deterministik yazılım arasında köprü kurarak bir LLM'nin veritabanları, API'ler veya diğer hizmetler üzerinde güvenilir şekilde işlem yapabilmesini sağlar. Model, bir fonksiyona ne zaman ihtiyaç duyulduğuna karar verir ve makine tarafından okunabilir bir yük sağlar; fonksiyonu çağıran uygulama ise fonksiyonu gerçekten çalıştırmak ve sonucu modele geri beslemekle yükümlüdür.

Fonksiyon Çağrısı Nasıl Çalışır

Geliştiriciler, genellikle her bir fonksiyonun adını, amacını ve parametrelerini tanımlayan JSON şemaları olarak modele bir dizi fonksiyon tanımı kaydeder. Kullanıcı "Tokyo'da hava nasıl?" gibi bir istem gönderdiğinde, model doğrudan yanıt vermez. Bunun yerine, yapılandırılmış bir nesne döndürür — örneğin, {"name": "get_weather", "arguments": {"city": "Tokyo"}}. Ana uygulama bu nesneyi ayrıştırır, gerçek fonksiyonu çalıştırır (genellikle üçüncü taraf bir API çağırır) ve sonucu konuşmaya yeni bir mesaj olarak ekler. LLM daha sonra bu sonucu kullanıcı için doğal dil bir yanıta dönüştürür.

Çoğu sağlayıcı aynı akışı sohbet tamamlama API'leri aracılığıyla sunar. Model kendisi asla kod çalıştırmaz; fonksiyon çağrısı, esasen bir dil modelini deterministik yazılımın güvenli şekilde işleyebileceği şekilde "JSON konuşmaya" ikna etmenin disiplinli bir yoludur.

Neden Önemlidir

LLM'ler dil ve muhakeme konusunda iyidir, ancak aritmetik, gerçek zamanlı veri ve yan etkiler konusunda zayıftır. Fonksiyon çağrısı, bir sohbet modelini ajan tabanlı bir sistemin muhakeme katmanına dönüştürür: model plan yapar, araçlar yürütür. Bu örüntü, takvim rezervasyonu yapabilen, CRM'leri sorgulayabilen, SQL çalıştırabilen, dahili mikroservisleri çağırabilen veya robotik eylemleri tetikleyebilen yapay zeka asistanlarına güç verir; tüm bunlar yapılırken geliştirici hangi kodun gerçekten çalıştığı üzerinde sıkı kontrolü elinde tutar. Ayrıca, yanıtlar modelin parametrik hafızası yerine gerçek araç çıktılarına dayandığı için olgusal sorgularda halüsinasyonu önemli ölçüde azaltır.

Fonksiyon çağrısı örüntülerinin temel türleri

  • Tek seferlik araç kullanımı: model, hesap makinesi veya web araması gibi bir fonksiyonu her turda çağırır.
  • Paralel çağrılar: model, tek bir yanıtta birçok bağımsız fonksiyon talep eder; bu, birden çok kaynaktan aynı anda veri almak için kullanışlıdır.
  • Çok adımlı / ajan tabanlı döngüler: uygulama, model daha fazla çağrıya gerek olmadığına karar verene kadar araç sonuçlarını döngüye alır ve böylece eylem zincirleri mümkün olur.
  • Kısıtlanmış kod çözme: modelin token bazında çıktısını bir JSON şemasına uymaya zorlayan, katı API'ler için güvenilirliği artıran teknikler.

Fonksiyon çağrısı artık büyük model sağlayıcılarının tümünde standart bir yetenektir ve çoğu modern yapay zeka ajanının, yardımcı pilotun ve erişim işlem hattının üzerine inşa edildiği temeldir.

Sıkça Sorulan Sorular

Is function calling the same as an AI agent?
No, but it is a building block. Function calling is the mechanism that lets a model request tools; an agent is the surrounding system that plans, loops, and decides which tools to call and when to stop. Most agents rely on function calling under the hood.</</a>
Does the language model actually execute the function?
No. The model only proposes a function name and arguments. Your application receives the structured request, runs the real code in a controlled environment, and sends the output back to the model for the next turn. This separation is what makes function calling safe.
How is function calling different from standard prompt-based tool use?
Earlier approaches asked the model to "write a function call" as plain text, which required fragile regex parsing. Modern function calling is a first-class API feature where the model emits a schema-conformant JSON object, dramatically improving reliability and reducing parsing errors.
What are common pitfalls when using function calling?
Common issues include ambiguous function descriptions that make the model pick the wrong tool, missing or weakly typed parameters in the schema, and failing to validate arguments before execution. Clear, well-scoped function definitions and schema-constrained decoding help avoid most of these problems.