AI Agents – Extensions Kullanımı

By | January 4, 2025

Agent sistemlerinin gerçek dünyadaki hizmetlerle etkileşim kurabilmesi için yalnızca reasoning kabiliyetine sahip olması yetmez; aynı zamanda API’lerle doğru, esnek ve hataya dayanıklı şekilde çalışabilmesi gerekir. Bu noktada devreye Extensions girer.

Extension Nedir?

Extension’ları anlamanın en kolay yolu, onları bir agent ile API arasında standart bir köprü olarak düşünmektir. Bu yapı sayesinde, agent’lar bir API’yi altta yatan implementasyondan bağımsız olarak doğru şekilde çağırabilir, gerekli parametreleri anlayabilir ve ihtiyaca göre API’yi uygun biçimde kullanabilir.

Klasik Yaklaşımın Sınırları

Geleneksel yöntemde, geliştiriciler kullanıcıdan gelen sorguları analiz eden özel kodlar yazar. Örneğin:

Kullanıcı: “Austin’den Zürih’e uçuş rezervasyonu yapmak istiyorum.”

Bu senaryoda geliştiricinin kodu, “Austin” ve “Zürih” gibi yer bilgilerini kullanıcı sorgusundan ayıklamalı ve ardından uçuş rezervasyon API’sine bu verilerle istek göndermelidir. Ancak:

Kullanıcı: “Zürih’e uçuş rezervasyonu yapmak istiyorum.”
(Kalkış noktası belirtilmemiş.)

Bu durumda, gerekli bilgi eksik olduğu için API çağrısı başarısız olur. Böyle bir hata senaryosunu önlemek için kodun daha da karmaşık hale gelmesi gerekir. Bu yaklaşım, ölçeklenebilirlikten uzak ve her yeni varyasyonda kırılmaya açık bir yapıdır.

Extension ile Daha Dayanıklı Bir Yapı

Extension yapısı, bu problemlere karşı daha dirençli ve ölçeklenebilir bir çözüm sunar. Nasıl mı?

  1. Agent’a, bir API endpoint’ini nasıl kullanacağını örnekler üzerinden öğretir.
  2. Başarılı bir API çağrısı için hangi parametrelerin gerektiğini agent’a bildirir.

Bu yaklaşımda agent, çalışma zamanında (runtime) modeli ve örnekleri kullanarak, hangi Extension’ın kullanıcı sorgusunu çözmek için uygun olduğunu belirler. Bu da Extensions’ın en büyük avantajlarından biri olan dinamik seçim yeteneğini öne çıkarır.

Geliştirici Mantığıyla Paralele Düşünmek

Extension kullanımını, bir yazılım geliştiricinin API seçimi yapmasına benzetebiliriz. Örneğin:

  • Uçuş rezervasyonu için geliştirici Google Flights API’sini kullanabilir.
  • En yakın kahve dükkanını bulmak için Google Maps API’si tercih edilebilir.

Aynı şekilde, bir agent da elindeki tanımlı Extension’lar arasından en uygun olanı seçer. Örneğin, Google Flights Extension aktifse ve kullanıcı “Show me flights from Austin to Zurich leaving next Friday” dediğinde, agent bu Extension’ı çağırarak doğru sonuçlar üretir.

Bu senaryoyu Gemini uygulamasında deneyimlemek mümkündür:
Settings > Extensions bölümünden Google Flights Extension’ı aktif hale getirip, yukarıdaki gibi bir sorgu göndererek gerçek zamanlı kullanımını gözlemleyebilirsiniz.

Sonuç

Extensions, agent’ların gerçek dünyadaki API’lerle esnek ve doğru şekilde etkileşim kurabilmesini sağlayan kritik bir bileşendir. Sadece API çağrısı yapmayı değil, hangi parametrelerin gerektiğini, nasıl yanıt alınacağını ve hatalı durumlarla nasıl başa çıkılacağını agent’a öğreterek, sistemi çok daha dayanıklı ve ölçeklenebilir hale getirir. Bu yapı, klasik yazılım geliştirme mantığıyla büyük benzerlik taşırken, aynı zamanda agent’ların otonom ve adaptif çalışmasına olanak tanır.

Kaynak: AI Agent Books – Authors: Julia Wiesinger, Patrick Marlow and Vladimir Vuskovic

Leave a Reply

Your email address will not be published. Required fields are marked *