Prompt Engineering

Agentic Araç Kullanımı: Harici API'ler ve RAG ile Çok Adımlı AI İş Akışları Oluşturma

Yapay zeka, statik sohbet arayüzlerinin ötesine geçti. Günümüzde LLM geliştirme alanındaki sınır Agentic İş Akışları'nda yatıyor. Modelin doğrudan yanıt verdiği geleneksel promptlama yaklaşımından farklı olarak, agentic sistemler harici araçlar kullanarak akıl yürütür, plan yapar ve eylemleri gerçekleştirir. Bu paradigm değişimi, AI'nın veritabanlarıyla etkileşime girmesine, REST API'lerini çağırmasına ve basit metin üretiminin ötesine geçen karmaşık çok adımlı akıl yürütme görevlerini yerine getirmesine olanak tanır.

Sohbet Botlarından Ajantlara Evrim

Standart bir sohbet botu kurulumunda LLM tek doğruluk kaynağıdır. Apple'ın güncel hisse senedi fiyatını kontrol etmeniz gerekirse, model halüsinasyonlar üretebilir veya güncel olmayan bilgiler verebilir. Agentic bir iş akışında model, araçları kontrol eden bir beyin gibi davranır. Harici veriye ihtiyaç duyulduğunu fark eder, uygun aracı (örneğin bir finans API'si) seçer, çağrıyı gerçekleştirir, sonucu yorumlar ve nihai yanıtı sentezler.

Bu mimari üç temel bileşene dayanır:

  • Planlama: Karmaşık kullanıcı isteklerini yönetilebilir adımlara ayırma.
  • Araç Kullanımı: Modelin fonksiyon çağırmasına olanak tanıyan arayüz tanımları (şemalar).
  • Geri Bildirim Döngüleri: Bir aracın çıktısını, zincirdeki sonraki adımı bilgilendirmek için kullanma.

Temellendirilmiş Akıl Yürütme İçin RAG Entegrasyonu

Araç kullanımı, Geri Alım-Artırılmış Üretim (RAG) ile birleştirildiğinde önemli ölçüde daha güçlü hale gelir. Geleneksel RAG, vektör veritabanından statik metinleri getirirken, agentic RAG belirli veri noktalarını getirebilir ve ardından bunları dinamik API'leri sorgulamak için kullanabilir. Örneğin, bir destek ajanı bir müşterinin bilet geçmişini (RAG) getirebilir ve ardından getirilen bağlama dayanarak durumu değiştirmek için bir bilet-güncelleme aracını kullanabilir.

Bunu uygulamak için geliştiricilerin, araç şemasını açıkça tanımlayacak şekilde promptlarını yapılandırmaları gerekir. Bu, modelin giriş ve çıkış türlerini anlamasını sağlar, ayrıştırma hatalarını azaltır ve güvenilirliği artırır.

Kodda Araç Tanımlarının Uygulanması

Aşağıda, Python ve kavramsal bir ajan çerçevesi kullanılarak hazırlanmış pratik bir örnek bulunmaktadır. LLM'nin hava durumu verilerini çekmek için kullanabileceği bir araç şeması tanımlayarak, JSON şemalarının modelin fonksiyon çağırma yeteneklerini nasıl yönlendirdiğini gösteriyoruz.


def get_weather(location: str, unit: str = "fahrenheit") -> dict:
    """
    Belirli bir konum için mevcut hava durumunu getirir.
    
    Args:
        location (str): Şehir ve eyalet, örn. 'San Francisco, CA'
        unit (str): Sıcaklık birimi, 'fahrenheit' veya 'celsius'
    
    Returns:
        dict: Sıcaklık ve koşulları içeren bir sözlük
    """
    # Simüle edilmiş API çağrısı
    return {
        "location": location,
        "temperature": 72,
        "unit": unit,
        "description": "Güneşli"
    }

# LLM için araç yapısını tanımla
tool_definition = {
    "name": "get_weather",
    "description": "Bir konumdaki mevcut hava durumunu getirir",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "Şehir ve eyalet, örn. San Francisco, CA"
            },
            "unit": {
                "type": "string",
                "enum": ["celsius", "fahrenheit"],
                "description": "Sıcaklık birimi"
            }
        },
        "required": ["location"]
    }
}

Çok Adımlı Zincirlerin Orkestrasyonu

Agentic iş akışlarının gerçek gücü, çok adımlı zincirlerde ortaya çıkar. Bir seyahat asistanı ajanını düşünün. Kullanıcı "Beni Londra'ya uçacak şekilde bilet ayarla ve oradaki yerel hava durumunu özetle" der. Ajan önce bir uçuş rezervasyonu API'sini çağırmalı, ardından onay detaylarını ayrıştırmalı ve nihayet Londra için bir hava durumu API'sini çağırmalıdır. Ardından her iki çıktıyı da tutarlı bir yanıtta sentezler.

Bunu başarmak için geliştiricilerin, ajan mantıkları içinde döngüler uygulamaları gerekir. Ajan "düşünce" belirteçlerini kontrol eder, araçları yürütür, "gözlem" belirteçlerini alır ve nihai yanıt hazır olana kadar işlemi tekrarlar. Bu yinelemeli süreç, insan problem çözme biçimini taklit eder ve her iddiayı doğrulanmış harici verilerle temellendirerek halüsinasyon oranlarını önemli ölçüde azaltır.

Sonuç

Agentic uygulamalar oluşturmak, prompt odaklı tasarımdan sistem odaklı tasarıma bir zihniyet değişikliği gerektirir. Tarihsel bağlam için RAG'ı, gerçek zamanlı veri için harici API'leri ve sağlam araç-kullanım şemalarını birleştirerek geliştiriciler, yalnızca konuşma amaçlı değil, gerçekten üretken AI asistanları oluşturabilir. Ekosistem olgunlaştıkça, bu karmaşık iş akışlarını daha geniş bir mühendis kitlesi için erişilebilir hale getirecek daha standart çerçeveler ortaya çıkacaktır.

Share: