Bizimle iletişime geçin

Düşünce Liderleri

API Çağrı Aracılarını Anlama, Oluşturma ve Optimize Etme Kılavuzu

mm

Yapay Zeka'nın teknoloji şirketlerindeki rolü hızla gelişiyor; AI kullanım örnekleri pasif bilgi işlemeden görevleri yerine getirebilen proaktif aracılara dönüştü. Mart 2025'te küresel AI benimsemesi üzerine yapılan bir ankete göre Gürcü ve NewtonXBüyüme aşamasındaki ve kurumsal şirketlerdeki teknik yöneticilerin %91'inin aracı yapay zekayı kullandığı veya kullanmayı planladığı bildiriliyor.

API çağıran aracılar, bu aracılara geçişin birincil örneğidir. API çağıran aracılar, Uygulama Programlama Arayüzleri (API'ler) aracılığıyla yazılım sistemleriyle etkileşim kurmak için Büyük Dil Modelleri'nden (LLM'ler) yararlanır.

Örneğin, doğal dil komutlarını hassas API çağrılarına çevirerek, aracılar gerçek zamanlı verileri alabilir, rutin görevleri otomatikleştirebilir veya hatta diğer yazılım sistemlerini kontrol edebilir. Bu yetenek, AI aracılarını insan niyeti ve yazılım işlevselliği arasında yararlı aracılara dönüştürür.

Şirketler şu anda aşağıdakiler de dahil olmak üzere çeşitli alanlarda API çağıran aracıları kullanıyor:

  • Tüketici Uygulamaları: Apple'ın Siri'si veya Amazon'un Alexa'sı gibi asistanlar, akıllı ev cihazlarını kontrol etme ve rezervasyon yapma gibi günlük görevleri basitleştirmek için tasarlanmıştır.
  • Kurumsal İş Akışları: Kuruluşlar, CRM'lerden veri alma, rapor oluşturma veya dahili sistemlerden bilgi birleştirme gibi tekrarlayan görevleri otomatikleştirmek için API aracıları dağıttı.
  • Veri Alma ve Analizi: İşletmeler, içgörüler üretmek amacıyla tescilli veri kümelerine, abonelik tabanlı kaynaklara ve genel API'lere erişimi kolaylaştırmak için API aracılarını kullanıyor.

Bu makalede API çağıran ajanları anlamak, oluşturmak ve optimize etmek için mühendislik merkezli bir yaklaşım kullanacağım. Bu makaledeki materyal kısmen Georgian'ın AI Lab tarafından yürütülen pratik araştırma ve geliştirmeye dayanmaktadır. AI Lab'ın API çağıran ajanlar alanındaki araştırmalarının çoğunun motivasyon sorusu şu olmuştur: "Bir kuruluşun bir API'si varsa, doğal dil kullanarak bu API ile arayüz oluşturabilen bir ajan oluşturmanın en etkili yolu nedir?"

API çağıran ajanların nasıl çalıştığını ve bu ajanların performans için nasıl başarılı bir şekilde tasarlanıp tasarlanacağını açıklayacağım. Son olarak, mühendislik ekiplerinin API çağıran ajanları uygulamak için kullanabileceği sistematik bir iş akışı sağlayacağım.

I. Temel Tanımlar:

  • API veya Uygulama Programlama Arayüzü : Farklı yazılım uygulamalarının iletişim kurmasını ve bilgi alışverişinde bulunmasını sağlayan kurallar ve protokoller kümesi.
  • Ajan: Çevresini algılayıp, kararlar alıp, belirli hedeflere ulaşmak için eylemlerde bulunabilen yapay zeka sistemi.
  • API Çağrı Aracısı: Doğal dil talimatlarını hassas API çağrılarına çeviren özel bir yapay zeka aracısı.
  • Kod Üreten Ajan: Kod yazarak, değiştirerek ve hata ayıklayarak yazılım geliştirmeye yardımcı olan bir AI sistemi. İlgili olsa da, buradaki odak noktam öncelikle çağrı API'ler, yapay zeka da yardımcı olabilir inşa etmek bu ajanlar.
  • MCP (Model Bağlam Protokolü): Özellikle bir protokol Anthropic tarafından geliştirildiLLM'lerin harici araçlara ve veri kaynaklarına nasıl bağlanabileceğini ve bunları nasıl kullanabileceğini tanımlayan bir bölümdür.

II. Temel Görev: Doğal Dili API Eylemlerine Çevirmek

Bir API çağıran aracının temel işlevi, bir kullanıcının doğal dil isteğini yorumlamak ve bunu bir veya daha fazla hassas API çağrısına dönüştürmektir. Bu süreç genellikle şunları içerir:

  1. Niyet Tanıma: Kullanıcının amacını, belirsiz bir şekilde ifade edilse bile, anlamak.
  2. Araç Seçimi: Mevcut seçenekler arasından amacı karşılayabilecek uygun API uç noktalarını veya "araçlarını" belirlemek.
  3. Parametre Çıkarımı: Kullanıcının sorgusundan seçilen API çağrısı(ları) için gerekli parametrelerin belirlenmesi ve çıkarılması.
  4. Uygulama ve Yanıt Oluşturma: API çağrısını yapmak, yanıtı almak ve ardından bu bilgiyi tutarlı bir yanıta sentezlemek veya sonraki eylemi gerçekleştirmek.

"Hey Siri, bugün hava nasıl?" gibi bir isteği düşünün. Aracı, bir hava durumu API'sini çağırma ihtiyacını belirlemeli, kullanıcının mevcut konumunu belirlemeli (veya bir konumun belirtilmesine izin vermeli) ve ardından hava durumu bilgilerini almak için API çağrısını formüle etmelidir.

"Hey Siri, bugün hava nasıl?" isteği için örnek bir API çağrısı şöyle görünebilir:

GET /v1/weather?location=New%20York&units=metric

Bu çeviri sürecinde başlangıçta karşılaşılan yüksek seviyeli zorluklar arasında doğal dilin belirsizliği ve aracının çok adımlı etkileşimler boyunca bağlamı koruma gereksinimi yer alır.

Örneğin, aracının mevcut eylemleri bilgilendirmek için bir konuşmanın önceki bölümlerini veya daha önceki API çağrı sonuçlarını sıklıkla "hatırlaması" gerekir. Bağlam kaybı, açıkça yönetilmezse yaygın bir arıza modudur.

III. Çözümün Mimarisi: Temel Bileşenler ve Protokoller

Etkili API çağıran aracılar oluşturmak, yapılandırılmış bir mimari yaklaşım gerektirir.

1. Aracı için “Araçları” Tanımlama

Bir LLM öğrencisinin bir API kullanabilmesi için, o API'nin yeteneklerinin ona anlayabileceği bir şekilde açıklanması gerekir. Her API uç noktası veya işlevi genellikle bir "araç" olarak temsil edilir. Sağlam bir araç tanımı şunları içerir:

  • Aracın amacı ve işlevselliğinin açık ve doğal bir dille açıklaması.
  • Giriş parametrelerinin kesin bir tanımı (adı, türü, gerekli mi yoksa isteğe bağlı mı olduğu ve açıklaması).
  • Aracın döndürdüğü çıktının veya verinin açıklaması.

2. Model Bağlam Protokolünün (MCP) Rolü

MCP, LLM'ler tarafından daha standart ve sağlam araç kullanımı için kritik bir kolaylaştırıcıdır. Modellerin harici araçlara ve veri kaynaklarına nasıl bağlanabileceğini tanımlamak için yapılandırılmış bir format sağlar.

MCP standardizasyonu, çeşitli araçların daha kolay entegre edilmesine olanak sağladığı, farklı ajanlar veya modeller arasında araç tanımlarının yeniden kullanılabilirliğini desteklediği için faydalıdır. Ayrıca, OpenAPI spesifikasyonu gibi iyi tanımlanmış API spesifikasyonlarıyla başlayarak mühendislik ekipleri için en iyi uygulamadır. Stainless.ai gibi araçlar, bu OpenAPI spesifikasyonlarını MCP yapılandırmalarına dönüştürmeye yardımcı olmak ve API'leri "ajana hazır" hale getirme sürecini kolaylaştırmak için tasarlanmıştır.

3. Aracı Çerçeveleri ve Uygulama Seçimleri

Birkaç çerçeve, ajanın kendisini oluşturmaya yardımcı olabilir. Bunlar şunları içerir:

  • Pydantik: Yalnızca bir aracı çerçevesi olmasa da Pydantic, veri yapılarını tanımlamak ve güvenilirlik için önemli olan araç girdileri ve çıktıları için tür güvenliğini sağlamak için kullanışlıdır. Birçok özel aracı uygulaması bu yapısal bütünlük için Pydantic'ten yararlanır.
  • LastMile'ın mcp_agent'ı: Bu çerçeve, özellikle MCP'lerle çalışmak üzere tasarlanmıştır ve Anthropic gibi yerlerdeki araştırmalarda açıklandığı gibi etkili aracılar oluşturmaya yönelik uygulamalarla uyumlu, daha fazla görüşe dayalı bir yapı sunar.
  • İç Çerçeve: Ayrıca, aracı, araçları ve çevreleyen mantık için standart kodu yazmaya yardımcı olmak üzere yapay zeka kod üreten aracıların (Cursor veya Cline gibi araçlar kullanarak) kullanımı giderek yaygınlaşıyor. Georgian'ın şirketlerle aracı uygulamaları üzerinde çalışma deneyimi, bunun çok minimal, özel çerçeveler oluşturmak için harika olabileceğini gösteriyor.

IV. Güvenilirlik ve Performans için Mühendislik

Bir aracının API çağrılarını güvenilir bir şekilde yapmasını ve iyi performans göstermesini sağlamak, odaklanmış mühendislik çabası gerektirir. Bunu yapmanın iki yolu (1) veri kümesi oluşturma ve doğrulama ve (2) hızlı mühendislik ve optimizasyondur.

1. Veri Kümesi Oluşturma ve Doğrulama

Bir aracı eğitmek (uygulanabilirse), test etmek ve optimize etmek yüksek kaliteli bir veri kümesi gerektirir. Bu veri kümesi temsili doğal dil sorgularından ve bunlara karşılık gelen istenen API çağrı dizilerinden veya sonuçlarından oluşmalıdır.

  • Manuel Oluşturma: Bir veri setini manuel olarak düzenlemek yüksek hassasiyet ve alaka düzeyini garanti eder ancak emek yoğun olabilir.
  • Sentetik Üretim: Programatik olarak veri üretmek veya LLM'ler kullanmak veri kümesi oluşturmayı ölçeklendirebilir, ancak bu yaklaşım önemli zorluklar sunar. Georgian AI Lab'ın araştırması, sentetik olarak üretilen API çağrılarının ve sorgularının doğruluğunu ve gerçekçi karmaşıklığını sağlamanın çok zor olduğunu buldu. Genellikle, üretilen sorular ya çok önemsiz ya da imkansız derecede karmaşıktı ve bu da nüanslı aracı performansını ölçmeyi zorlaştırıyordu. Sentetik verilerin dikkatli bir şekilde doğrulanması kesinlikle kritik öneme sahiptir.

Kritik değerlendirme için, daha küçük, yüksek kaliteli, elle doğrulanmış bir veri kümesi, büyük ve gürültülü bir sentetik veri kümesinden genellikle daha güvenilir bilgiler sağlar.

2. Hızlı Mühendislik ve Optimizasyon

LLM tabanlı bir aracının performansı, akıl yürütmesini ve araç seçimini yönlendirmek için kullanılan istemlerden büyük ölçüde etkilenir.

  • Etkili bir yönlendirme, aracının görevini açıkça tanımlamayı, mevcut araçların açıklamalarını sağlamayı ve doğru parametre çıkarımını teşvik etmek için yönlendirmeyi yapılandırmayı içerir.
  • Aşağıdaki gibi çerçeveleri kullanarak sistematik optimizasyon: DSPy Performansı önemli ölçüde artırabilir. DSPy, aracınızın bileşenlerini (örneğin, düşünce üretimi modülleri, araç seçimi, parametre biçimlendirme) tanımlamanıza olanak tanır ve ardından veri kümenizden birkaç çekim örneğiyle derleyici benzeri bir yaklaşım kullanarak bu bileşenler için optimize edilmiş istemleri veya yapılandırmaları bulur.

V. Etkili API Aracılarına Giden Önerilen Yol

Sağlam API çağıran AI ajanları geliştirmek yinelemeli bir mühendislik disiplinidir. Georgian AI Lab'ın araştırma bulgularına dayanarak, aşağıdaki gibi sistematik bir iş akışı kullanılarak sonuçlar önemli ölçüde iyileştirilebilir:

  1. Net API Tanımlarıyla Başlayın: İyi yapılandırılmış bir şekilde başlayın OpenAPI Özellikleri Aracınızın etkileşime gireceği API'ler için.
  2. Araç Erişimini Standartlaştırın: OpenAPI özelliklerinizi şu şekilde dönüştürün: MCP Gibi araçlar Paslanmaz.ai Bunu kolaylaştırabilir, aracınızın API'lerinizi anlamasını ve kullanmasını sağlayacak standart bir yol yaratabilirsiniz.
  3. Aracıyı Uygula: Uygun bir çerçeve veya yaklaşım seçin. Bu, şunları kullanmayı içerebilir: pidantik özel bir aracı yapısı içinde veri modellemesi için veya benzeri bir çerçeveden yararlanmak için LastMile'ın mcp_agent'ı MCP etrafında inşa edilen.
    • Bunu yapmadan önce, MCP'yi Claude Desktop veya Cline gibi bir araca bağlamayı ve bu arayüzü manuel olarak kullanarak genel bir aracının onu ne kadar iyi kullanabileceğini, MCP'yi doğru şekilde kullanmak için genellikle kaç yineleme gerektiğini ve uygulama sırasında size zaman kazandırabilecek diğer ayrıntıları hissetmeyi düşünün.
  4. Kaliteli Değerlendirme Veri Setini Düzenleyin: Sorguların ve beklenen API etkileşimlerinin bir veri kümesini manuel olarak oluşturun veya titizlikle doğrulayın. Bu, güvenilir test ve optimizasyon için kritik öneme sahiptir.
  5. Aracı İstemlerini ve Mantığını Optimize Edin: Şu gibi çerçeveleri kullanın: DSPy Temsilcinizin istemlerini ve dahili mantığını iyileştirmek, doğruluk ve güvenilirlikte iyileştirmeler sağlamak için veri kümenizi kullanın.

VI. İş Akışının Açıklayıcı Bir Örneği

API çağıran bir aracı oluşturmak için önerilen iş akışını gösteren basitleştirilmiş bir örnek aşağıda verilmiştir:

Adım 1: Net API Tanımlarıyla Başlayın

OpenAPI'de tanımlanmış basit bir Yapılacaklar listesini yönetmek için bir API hayal edin:

openapi: 3.0.0

bilgi:

başlık: Yapılacaklar Listesi API'si

versiyon: 1.0.0

yollar:

/görevler:

yayın:

özet: Yeni bir görev ekle

istekGövdesi:

gerekli: doğru

içerik:

uygulama/json:

şema:

tür: nesne

özellikleri:

açıklaması:

tür: dize

tepkiler:

'201':

açıklama: Görev başarıyla oluşturuldu

almak:

özet: Tüm görevleri al

tepkiler:

'200':

açıklama: Görev listesi

Adım 2: Araç Erişimini Standartlaştırın

OpenAPI spesifikasyonunu Model Context Protocol (MCP) yapılandırmalarına dönüştürün. Stainless.ai gibi bir araç kullanarak, bu şunları sağlayabilir:

Araç Adı Açıklama Girdi Parametreleri Çıktı Açıklaması
Görev ekle Yapılacaklar listesine yeni bir görev ekler. `description` (dize, gerekli): Görevin açıklaması. Görev oluşturma onayı.
Görevleri Al Yapılacaklar listesindeki tüm görevleri alır. Hayır Açıklamalarıyla birlikte görevlerin listesi.

Adım 3: Aracıyı Uygula

Veri modelleme için Pydantic'i kullanarak, MCP araçlarına karşılık gelen işlevler oluşturun. Ardından, doğal dil sorgularını yorumlamak ve uygun aracı ve parametreleri seçmek için bir LLM kullanın.

Adım 4: Kaliteli Değerlendirme Veri Setini Düzenleyin

Bir veri kümesi oluşturun:

Sorgu Beklenen API Çağrısı Beklenen sonuç
"'Market alışverişi'ni listeme ekle." `Görev Ekle` ile `description` = “Market alışverişi yap” Görev oluşturma onayı
"Listemde neler var?" `Görevleri Al` "Market alışverişi" de dahil olmak üzere görev listesi

Adım 5: Aracı İstemlerini ve Mantığını Optimize Edin

Değerlendirme ve iyileştirme için düzenlenmiş veri setini kullanarak net talimatlara, araç seçimine ve parametre çıkarımına odaklanarak istemleri iyileştirmek için DSPy'yi kullanın.

Yapılandırılmış API tanımlarından ve standartlaştırılmış araç protokollerinden titiz veri uygulamalarına ve sistematik optimizasyona kadar bu yapı taşlarını entegre ederek, mühendislik ekipleri daha yetenekli, güvenilir ve sürdürülebilir API çağıran yapay zeka aracıları oluşturabilir.

Rodrigo Ceballos Lentini Yapay Zeka Teknoloji Lideridir Gürcü AI Laboratuvarı, portföy şirketlerinin üretken ve aracı AI projelerinden somut sonuçlar elde etmelerine yardımcı olduğu yer. Rodrigo, ETH Zürich'ten Bilgisayar Görüntüsü odaklı Sinir Sistemleri ve Hesaplama alanında Yüksek Lisans derecesine sahiptir.