Agent Frameworks

OpenAI Agents SDK ile Üretim Hazır AI Ajanları Oluşturma

Yapay zeka, basit sohbet arayüzlerinden çok adımlı iş akışlarını yürütebilen karmaşık, otonom sistemlere hızla evrildi. Geliştiriciler için asıl meydan okuma artık sadece metin üretmek değil, akıl yürütebilen, araçları kullanabilen ve işbirliği yapabilen ajanları koordine etmektir. OpenAI Agents SDK'ya hoş geldiniz; bu, deneysel AI prototipleri ile sağlam, üretim seviyesinde uygulamalar arasındaki boşluğu doldurmak üzere tasarlanmış özel bir çerçevedir. Genellikle ağır boilerplate kod gerektiren genel amaçlı ajan çerçevelerinin aksine, OpenAI Agents SDK, Chat Completions API'nin yerel yeteneklerinden yararlanarak akıllı ajanlar oluşturmak için akıcı ve sezgisel bir deneyim sunar.

Neden OpenAI Agents SDK Öne Çıkıyor?

OpenAI Agents SDK, OpenAI API'nin en son özellikleri olan parallel_tool_calls ve yapılandırılmış çıktılar ile sıkı bir entegrasyona sahip olduğu için benzersizdir. Diğer LLM sağlayıcılarının etrafında bir sarmalayıcı değildir; OpenAI modelleri için görüşlü bir araç setidir. Bu sıkı bağlantı, bağlam veya kontrolü kaybetmeden birincil bir ajanın belirli görevleri uzmanlaşmış alt ajanlara devretmesini sağlayan ajanlar arası devretme gibi gelişmiş özelliklere olanak tanır. Orta seviye geliştiriciler için bu, karmaşık durum makinelerini hata ayıklamak yerine iş mantığına odaklanabileceğiniz anlamına gelir.

Temel özellikler şunları içerir:

  • Yerel Araç Kullanımı: Araç çağrılarının otomatik serileştirilmesi ve serileştirilmemesi.
  • Çoklu Ajan Koordinasyonu: Ajanların diğer ajanları çağırması için yerel destek.
  • Hata Yönetimi: Sağlam yeniden deneme mekanizmaları ve bağlam kurtarma.
  • Python-Öncelikli Tasarım: Modern geliştiriciler için doğal hissettiren, Python'a özgü kod.

Çevrenizi Kurma

Koda dalmadan önce, gerekli paketin yüklü olduğundan emin olun. SDK'yı pip kullanarak kolayca yükleyebilirsiniz:

pip install openai-agents

OPENAI_API_KEY'nin ortam değişkenlerinde ayarlandığından emin olun. SDK, standart OpenAI istemci yapılandırmasını kullanır ve bu da mevcut kurulumunuzla uyumlu olmasını sağlar.

Basit Bir Araç Kullanan Ajan Oluşturma

Hadi pratik bir örnekle başlayalım: hava durumunu kontrol edebilen bir ajan oluşturma. OpenAI Agents SDK'da araçlar, standart Python fonksiyonları olarak tanımlanır. SDK, fonksiyon imzasını otomatik olarak çıkarır ve LLM için gerekli JSON şemasını oluşturur.

import asyncio
from agents import Agent, function_tool, Runner

# Bir aracı standart bir Python fonksiyonu olarak tanımlayın
@function_tool
def get_weather(location: str) -> str:
    """Belirli bir konum için mevcut hava durumunu alın."""
    # Gerçek bir uygulamada burada bir API çağrısı yapardınız
    return f"{location} konumunda hava güneşli ve 22°C."

# Aracı araca sahip bir ajan oluşturun
weather_agent = Agent(
    name="Hava Durumu Ajanı",
    instructions="Sen yardımcı bir hava durumu asistanısın.",
    tools=[get_weather],
)

async def main():
    # Ajanı çalıştır
    result = await Runner.run(weather_agent, "London'da hava nasıl?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

Bu örnek, SDK'nın sadeliğini göstermektedir. Bir fonksiyonu @function_tool ile süsleyerek, onu LLM için anında kullanılabilir hale getirmiş olursunuz. Runner.run yöntemi, LLM'nin yanıtını ayrıştırmak ve gerekirse aracı yürütmek dahil olmak üzere etkileşim döngüsünü yönetir.

Gelişmiş: Çoklu Ajan Devretileri

En güçlü özelliklerden biri, ajanların görevleri diğer ajanlara devredebilmesidir. Genel bir alım ajanının karmaşık fatura sorunlarını uzmanlaşmış bir finans ajanına yönlendirmesi gereken bir müşteri desteği senaryosunu hayal edin. OpenAI Agents SDK bunu sorunsuz hale getirir.

from agents import Agent, Handoff

# Uzmanlaşmış bir ajan tanımlayın
billing_agent = Agent(
    name="Fatura Uzmanı",
    instructions="Tüm fatura sorgularını sen yönetirsin.",
    # Diğer ajanların tetikleyebileceği bir devretme tanımlayabilirsiniz
    handoffs=[Handoff(
        agent=billing_agent,
        tool_name="transfer_to_billing",
        tool_description="Kullanıcıyı fatura uzmanına yönlendir.",
    )],
)

# Alım ajanı, devretmeyi kullanacak şekilde yapılandırılabilir
intake_agent = Agent(
    name="Alım Ajanı",
    instructions="Kullanıcılara yardımcı ol ve gerekirse faturaya yönlendir.",
    # Fatura ajanına devretilmeleri etkinleştir
    handoffs=[billing_agent],
)

intake_agent bir devretmenin uygun olduğuna karar verdiğinde, SDK'nın işlediği özel bir sonuç döndürür ve bu da etkili bir şekilde bağlamı billing_agent üzerine değiştirir. Bu, ajanların belirli alanlarına odaklı kaldığı modüler bir mimari oluşturur.

Sonuç

OpenAI Agents SDK, AI uygulama geliştirmeyi erişilebilir ve verimli hale getirmede önemli bir adımdır. Araç çağırma, durum yönetimi ve çoklu ajan koordinasyonunun karmaşıklıklarını soyutlayarak geliştiricilerin minimal kodla sofistike AI sistemleri oluşturmalarına olanak tanır. Basit bir araç kullanan asistan mı yoksa karmaşık bir çoklu ajan ağı mı oluşturduğunuzu fark etmeksizin, SDK üretim ortamları için gereken sağlam temeli sağlar. AI manzarası gelişmeye devam ettikçe, bu tür araçlar büyük dil modellerinin gerçek dünya uygulamalarındaki tam potansiyelinden yararlanmak için hayati önem taşıyacaktır.

Share: