Tüm yazılar
Matematik21 Mayıs 2025

Function Calling: LLM'ye Araç Vermek

Bir LLM'in "Python çalıştır", "API çağır", "veri tabanına bağlan" yapabilmesi, modern agentic AI'ın temel mekaniği.

Matematik Karavanı 6 dk okuma 5 soru
Çekiç ve aletler — LLM'in araç kullanımı metaforu

"Hesap makinesi" sorunu

GPT-4'e sor: "729 × 1247 = ?"

Model belki 909.063 der ama belki 908.963. Yanlış olabilir. Çünkü LLM'in iç çarpma yeteneği sayısal değil, kalıp tahmin.

Çözüm: model kendi yapmasın, hesap makinesini çağırsın. Bu function calling (ya da tool use).

Akış

Function calling üç adımdan oluşur:

  1. LLM'e tanım ver: Model hangi araçları çağırabileceğini bilsin.
  2. Model karar verir: Soruyu cevaplamak için bir araca ihtiyacı var mı?
  3. Araç çalışır, sonuç döner: Model sonucu görür ve cevabı oluşturur.

Örnek JSON tanımı:

{
  "name": "calculator",
  "description": "Aritmetik işlem yapar",
  "parameters": {
    "expression": { "type": "string" }
  }
}

Kullanıcı sorar: "729 × 1247?"

Model cevap olarak normal metin değil, structured çağrı verir:

{ "tool": "calculator", "input": { "expression": "729 * 1247" } }

İstemci bu çağrıyı çalıştırır, sonuç dönen:

{ "tool": "calculator", "result": "909063" }

Model son cevabı üretir: "729 × 1247 = 909063."

Mekanik — model nasıl öğrenir

LLM'in tool kullanımı eğitim sırasında öğretilir. Eğitim verisi:

Kullanıcı: Bugün hava nasıl?
Asistan: <tool>get_weather(city="Istanbul")</tool>
<tool_result>15°C, yağışlı</tool_result>
Istanbul'da hava şu an 15°C ve yağışlı.

Model bu kalıbı yakalar. Yeni sorularda benzer kalıplı çağrılar üretir. Bu format ve karar öğrenmesi.

ReAct — Reasoning + Acting (2022)

Yao ve ark. (Princeton/Google) ReAct çerçevesini önerdi: model akıl yürütme ile eylem dönüşümlü yapsın.

Örnek:

Düşünce: Soru "Brazilya başkenti nedir?" — bilgi kontrolüne ihtiyaç var
Eylem: search("Brazilya başkenti")
Sonuç: Brasília
Düşünce: Şimdi cevabı verebilirim.
Cevap: Brazilya'nın başkenti Brasília.

Bu kalıp, modern agent'ların temel motoru. CoT (düşünme) + tool use (eylem) birlikte.

Endüstri standardı — OpenAI Functions (2023)

Haziran 2023'te OpenAI function calling'i resmi API özelliği olarak açtı. Bir geliştirici JSON şemasıyla araçları tanımlar, GPT-4 doğrudan structured çağrı verir.

Bu duyuru endüstrinin agentic AI çağına resmi geçişiydi. Sonra:

  • Anthropic Tool Use (2024): Claude için aynı paradigma.
  • Google Gemini Function Calling: Aynı.
  • LangChain, LlamaIndex: Araç çağırma sarmalayıcıları.

Tüm büyük LLM sağlayıcısının standart özelliği.

MCP — Model Context Protocol (2024)

Kasım 2024'te Anthropic MCP'yi açtı. Tez: her LLM her aracı kullanabilsin. Bunun için standart protokol gerek.

MCP yapısı:

  • MCP Server: Bir araç sağlar (örn. Slack, Google Drive, GitHub).
  • MCP Client: LLM uygulaması (Claude, Cursor).
  • Protokol: İkisi arası standart iletişim.

Bu USB-C'nin AI dünyasındaki karşılığı: bir kez fiş tasarla, her cihazda çalışsın.

Hızla yaygınlaştı: 2025 başında 1000+ MCP server. Slack, GitHub, Notion, Linear, Stripe — hepsi için.

Karmaşık örnek — agent loop

Modern agent örneği:

Kullanıcı: GitHub repo'mun son 5 PR'ını özetle.

Adım 1: list_pull_requests(repo="user/repo", limit=5)
  → 5 PR meta verisi döner

Adım 2: Her biri için get_pr_diff(pr_id=N)
  → Diff metinleri

Adım 3: Düşün ve özet üret

Bu 3-7 araç çağrısı içeren akış. Modern AI uygulamalarının çoğu böyle.

Sınırlamalar

Function calling güçlü ama sorunlu:

  1. Hayalet çağrı: Model olmayan bir aracı çağırabilir. Halüsinasyon.
  2. Yanlış argüman: "İstanbul" yerine "istanbul-tr-Turkey" yazabilir. Format hataları.
  3. Sonsuz döngü: Model aynı aracı tekrar tekrar çağırıp sonuca varamayabilir.
  4. Güvenlik: Model "rm -rf /" gibi tehlikeli komutlar yazabilir. Sandbox gerek.

Bu yüzden production agentic sistemler whitelist + rate limit + retry budget ile yönetilir.

Klasik benzetme

Bir öğrenciye sınav verirken iki seçenek:

  • Closed book: Sadece bildiklerinle yaz. Sınırlı ama hatasız.
  • Open book + araç: Hesap makinesi, sözlük, internet kullan. Daha geniş ama yanlış kaynak kullanma riski var.

Function calling LLM'i "open book + araç" moda alır. Doğru kullanıldığında çok daha güçlü; yanlış kullanıldığında risk artar.

Sade ders

Function calling hikâyesinden iki şey:

  1. LLM her şeyi yapmamalıdır. Çarpma için hesap makinesi, arama için web, dosya için filesystem. Modelin kendi sınırlarını bilmesi ve araç çağırması daha etkili.
  2. Standart protokol ekosistem kurar. MCP gibi standartlar, yapılan işin birleştirilmesini sağlar. USB-C, HTTP, MCP — hepsi aynı disiplinin örnekleri.

Bağlam

Agentic AI için: [[ai-ajanlar-modern-llm-uretkenligi]] (varsa). ReAct ve CoT için: [[chain-of-thought-llm-leri-akil-yurutmeye-zorlamak]]. Anthropic'in MCP için: [[dario-amodei-anthropic-in-kurucusu]] (varsa). Modern LLM API için: [[transformer-attention-is-all-you-need]]. Otonom akıl yürütme için: [[grpo-deepseek-in-akil-yurutme-icin-rl-algoritmasi]].

Etiketler

function callingtool useagentLLMMCP

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Function calling ne yapar?

2. ReAct nedir?

3. MCP nedir?

4. Function calling'in en büyük güvenlik riski nedir?

5. OpenAI Functions ne zaman açıldı?