Yapay Zeka Ajan Mimarisi: Model Yönlendirme ve Araç Keşfi

AIHubMix8 dk okuma
Yapay Zeka Ajan Mimarisi: Model Yönlendirme ve Araç Keşfi

Bir LLM'yi bağlamak, bir uygulamanın metin üretmesini sağlamak için yeterlidir. Ancak, bir yapay zeka ajanının gerçek dünya görevini tamamlaması için yeterli değildir.

Bir modelden, bağlamında zaten bulunan bir belgeyi özetlemesini istediğinizde, model katmanı yeterlidir. Ancak, ona bugünün rakip fiyatlarını karşılaştırmasını, bir şirket kaydını zenginleştirmesini, bir sosyal hesabı kontrol etmesini veya tanıdık olmayan bir iş için en iyi API'yi seçmesini istediğinizde, eksik olan yarı belirgin hale gelir: ajan, dış sistemlere ulaşmanın güvenilir bir yoluna ihtiyaç duyar.

Bu nedenle, bir üretim ajanı iki ayrı karar alır:

  1. Bu adımı hangi model gerçekleştirmeli?
  2. Veri veya eylemi hangi araç veya API sağlamalı?

AIHubMix, ilk kararı birleşik model erişimi ve istek zamanında model yönlendirmesi ile ele alır. Monid, çalışma zamanı araç keşfi, şema incelemesi ve çağrı başına ödeme ile ikinci kararı ele alır. Ürünler, aynı mimarinin farklı katmanlarında yer alır.

Açıklama: Bu makale, Monid ile bir içerik işbirliği kapsamında oluşturulmuştur. AIHubMix, aşağıda tartışılan model platformudur; Monid ise araç platformudur. Her biri bağımsız olarak kullanılabilir.

Bir yapay zeka ajanındaki iki yönlendirme sorunu

Bir ajan çalışması nadiren tek bir homojen model çağrısıdır. Bir araştırma ajanı, bir isteği sınıflandırabilir, güncel bilgileri arayabilir, yapılandırılmış verileri çıkarabilir, sonuçları karşılaştırabilir ve nihai bir cevap yazabilir. Bu adımlar farklı yetenekler gerektirir.

Modelin dışında da aynı durum geçerlidir. Bir şirket araştırma görevi, bugün bir arama API'sine, yarın bir şirket zenginleştirme uç noktasına ve gelecek hafta bir tarayıcı otomasyon aracına ihtiyaç duyabilir. Her model ve araç, inşa zamanında sabit kodlanmışsa, her yeni görev bir entegrasyon projesine dönüşür.

İki katman paraleldir:

Model katmanı Araç katmanı
Temel karar Hangi model yanıt vermeli? Hangi API çağrılmalı?
Seçim zamanı Her istek için Her görev için, çalışma zamanında
Girdi İstek, mod, kalite ve gecikme ihtiyaçları Amaç, gerekli veri veya eylem, şema ve fiyat
Çıktı Bir model tamamlaması Dış veri veya gerçekleştirilen bir eylem
Örnek AIHubMix Monid

Bu ayrım önemlidir. Daha iyi bir model, canlı verilere erişim oluşturamaz ve daha büyük bir araç kataloğu, döndürdüğü veriler üzerinde akıl yürütemez. Ajanın her iki yeteneğe de ihtiyacı vardır ve aralarında net bir sözleşme olmalıdır.

Monid, Bir Yapay Zeka Ajanının Neden İki Entegrasyona İhtiyacı Var başlıklı yazısında tamamlayıcı araç tarafı görünümünü sunar. Model tarafında, mimari dersi aynıdır: model seçim ve araç seçim bağımsız tutulmalı, ardından her katman kendi işi için optimize edilmelidir.

Neden tek bir sabit model, bir ajan döngüsünde pahalı hale gelir

Her yerde tek bir model kullanmak basit görünse de, pratikte her adımı yetenek, gecikme ve fiyat arasında aynı uzlaşmayı kabul etmeye zorlar.

Bir pazar araştırma ajanını düşünün:

  • Niyet sınıflandırması kısa ve mekaniktir.
  • Araç seçimi güvenilir talimat takibi gerektirir.
  • Dönüş yapılan JSON'dan alanları çıkarmak çoğunlukla dönüşümdür.
  • Nihai rapor, daha güçlü akıl yürütme ve daha iyi yazım gerektirebilir.

Tüm dört adımı en yetenekli modele göndermek, rutin işlerde para israfına neden olur. Tüm dört adımı en ucuz modele göndermek, kullanıcının okuduğu tek çıktının kalitesini düşürebilir. Bir ajan döngüsü büyüdükçe, bu uzlaşma her çağrıda tekrarlanır.

AIHubMix, geniş bir model kataloğu boyunca OpenAI uyumlu bir uç nokta sağlar. Mevcut bir OpenAI SDK entegrasyonu, API anahtarını ve base_url'yi değiştirerek AIHubMix'e işaret edebilir:

from openai import OpenAI

client = OpenAI(
    api_key="<AIHUBMIX_API_KEY>",
    base_url="https://aihubmix.com/v1",
)

response = client.chat.completions.create(
    model="auto:balanced",
    messages=[
        {"role": "user", "content": "Bu isteği sınıflandır ve bir sonraki adımı öner."}
    ],
)

model'i auto olarak ayarlamak, model seçim sürecini isteğe taşır. Yönlendirici, görevi analiz eder ve uygun bir modele çözer. Bir politika eki, optimizasyon amacını açık hale getirir:

Yönlendirici değeri Öncelik Tipik ajan adımı
auto Önce maliyet Toplu işler ve rutin dönüşümler
auto:balanced Yetenek, maliyet ve gecikme Genel amaçlı ajan çalışmaları
auto:quality_first Önce yetenek Karmaşık akıl yürütme ve nihai teslimatlar
auto:latency_critical Önce hız Etkin döngüler ve hafif planlama

Yönlendirme, ayrı bir ücret eklemez. İstek, aslında onu yöneten modelin liste fiyatı üzerinden faturalandırılır. Çözülmüş model ve yönlendirme detayları, X-Aihubmix-Router-Resolved-Model başlığı da dahil olmak üzere yanıt içinde görünür, böylece karar gözlemlenebilir kalır ve bir kara kutu haline gelmez.

Tam davranış, desteklenen uç noktalar, politikalar ve mevcut sınırlamalar, AIHubMix LLM Yönlendirici kılavuzu'nda belgelenmiştir.

Model yönlendirmesi, bir ajana canlı veri vermez

Model yönlendirmesi yapılandırıldıktan sonra, ajan her adım için daha iyi bir beyin seçebilir. Ancak, modelin eğitim verilerinden sonra neyin değiştiğini bilemez, özel bir iş sistemine erişemez veya başka bir uygulamada bir eylem gerçekleştiremez; bu yetenek ancak bir araç sağlanırsa mümkündür.

Birçok ajan projesinin burada kırılgan kod biriktirdiği yer burasıdır. Bir ekip bir arama API'sini bağlar, sonra bir scraping API'sini, ardından bir zenginleştirme API'sini bağlar. Her entegrasyon, başka bir hesap, kimlik bilgisi, istek formatı, hata modeli ve faturalama ilişkisi getirir. Araç tanımları genellikle bir sistem istemine kopyalanır ve yavaş yavaş eski hale gelir.

Başarısızlık modu tehlikelidir çünkü başarılı görünür. Bir model, güncel olmayan bir şemaya karşı makul bir çağrı üretebilir, eksik bir yanıt alabilir ve görev başarılıymış gibi devam edebilir. Çalışma zamanı şema incelemesi, modelin bir API sözleşmesini eğitimden veya eski bir istemden hatırlamasını istemekten daha güvenlidir.

Araç katmanı, bu nedenle, yürütmeden önce üç soruyu yanıtlamalıdır:

  1. Bu hedefi karşılayacak hangi araç var?
  2. Şu anda hangi şema ve fiyat geçerlidir?
  3. Çağrı gerçekten hangi sonucu döndürdü?

Araç keşfi, ikinci yönlendirme katmanıdır

Monid, araç erişimini keşfetme, inceleme ve çalıştırma iş akışına dönüştürür. Geliştiricinin bir ajanın ihtiyaç duyabileceği her API'yi tahmin etmesini gerektirmek yerine, ajan doğal dilde bir katalogda arama yapabilir, bir adayın sözleşmesini inceleyebilir ve seçilen uç noktayı çalıştırabilir.

Temel akış şu şekildedir:

# 1. Hedefle eşleşen araçları bul
monid discover -q "bir kamu web sayfasından güncel ürün fiyatlarını bul"

# 2. Seçilen uç noktanın şemasını ve fiyatlandırmasını okuyun
monid inspect -p PROVIDER_SLUG -e ENDPOINT_PATH

# 3. Ajan sözleşmeyi kontrol ettikten sonra yalnızca çalıştırın
monid run -p PROVIDER_SLUG -e ENDPOINT_PATH \
  --query '{"url":"https://example.com/product"}'

Keşif ve inceleme, ajanın herhangi bir harcama yapmadan önce seçenekleri karşılaştırmasına olanak tanır. Yürütme, seçilen uç noktanın fiyatlandırma modeline göre faturalandırılır. Geliştirici, tek bir entegrasyonu korurken, ajan birden fazla sağlayıcı aracılığıyla araçlara erişim kazanır.

Ajan çalışma sürelerinin kurulum talimatlarını okuyabildiği durumlar için, Monid ayrıca makine okunabilir bir beceri yayınlar:

Set up https://monid.ai/SKILL.md

Monid iş akışı belgeleri, katalog, inceleme ve yürütme aşamalarını daha ayrıntılı olarak açıklar.

İki katmanın nasıl birlikte çalıştığı

Model geçidi ve araç katmanı, küçük, açık bir geçişle ayrı bileşenler olarak kalmalıdır:

  1. Ajan bir kullanıcı hedefi alır.
  2. AIHubMix, bir planlama çağrısını uygun bir modele yönlendirir.
  3. Plan, eksik bilgileri veya gerekli bir dış eylemi tanımlar.
  4. Monid, aday araçları keşfeder ve bunların şemalarını ve fiyatlarını açığa çıkarır.
  5. Ajan, izinleri ve bütçesi dahilinde bir aracı seçer ve çalıştırır.
  6. Araç, verileri veya bir eylem sonucunu döndürür.
  7. AIHubMix, gerekli kalite, maliyet veya gecikmeye göre sentez çağrısını yönlendirir.
  8. Ajan, araç sonucuna dayalı bir cevap döndürür.

Basitleştirilmiş Python'da, model tarafındaki çağrılar değişmeden kalabilirken, araç sonucu bağlam olarak eklenir:

from openai import OpenAI

client = OpenAI(
    api_key="<AIHUBMIX_API_KEY>",
    base_url="https://aihubmix.com/v1",
)

# Hafif bir planlama adımı için hızlı bir model yeterlidir.
plan = client.chat.completions.create(
    model="auto:latency_critical",
    messages=[
        {
            "role": "user",
            "content": "Bu ürünlerin güncel fiyatlarını karşılaştırmak için bir plan yap.",
        }
    ],
)

# Ajanınız, Monid'i uygun bir aracı keşfetmek, incelemek ve çalıştırmak için kullanır.
# Bu yer tutucuları, o çağrıdan dönen yapılandırılmış sonuçla değiştirin.
tool_result = {
    "source": "<source-url>",
    "data": "<structured-tool-result>",
}

report = client.chat.completions.create(
    model="auto:quality_first",
    messages=[
        {
            "role": "system",
            "content": (
                "Kısa bir karşılaştırma yazın. Sadece sağlanan araç sonucunu kullanın, "
                "kaynak URL'lerini koruyun ve bir değerin eksik olduğunu belirtin."
            ),
        },
        {"role": "user", "content": str(tool_result)},
    ],
)

Önemli detay, satır sayısı değildir. Ne seçimlerin kalıcı olarak uygulama mantığına gömülmesi gerekmez. Model, istem değiştikçe değişebilir ve araç, görev değiştikçe değişebilir.

Maliyet kontrolleri her iki katmanda da yer almalıdır

Model ve araç maliyetleri farklı birimler kullandığı için ayrı ayrı ölçülmelidir.

Model katmanında, çözülen model token fiyatlandırmasını belirler. AIHubMix, bu kararı izlenebilir hale getirir ve geliştiricilerin bir yönlendirme politikası seçmesine veya bir API anahtarının kullanabileceği modelleri kısıtlamasına olanak tanır. Rutin adımlar maliyet veya gecikmeyi tercih edebilirken, kullanıcıya yönelik çıktılar kaliteyi tercih edebilir.

Araç katmanında, bir uç nokta çağrı başına veya sonuç başına ücretlendirme yapabilir. Monid, yürütmeden önce inceleme sırasında fiyatlandırmayı açığa çıkarır. Bir ajan, bütçesini aşan bir uç noktayı reddedebilir, doğrulanmış bir seçeneği tercih edebilir veya alışılmadık derecede pahalı bir işlemden önce onay isteyebilir.

Faydalı üretim kontrolleri şunları içerir:

  • Her API anahtarı için bir model izin listesi veya fiyat tavanı.
  • Her görev için maksimum araç çağrı bütçesi.
  • Düzenlenmiş veriler için sağlayıcı veya uç nokta izin listeleri.
  • Model yönlendirme kararını araç çağrısı ve nihai cevapla bağlayan günlükler.
  • Geri dönüşü olmayan veya hassas eylemlerden önce açık onay.
  • Araç verilerinin güvensiz girdi olarak ele alınması için çıktı doğrulaması.

Bu ayrım, maliyet hata ayıklamayı da kolaylaştırır. Eğer bir çalışmanın maliyeti artarsa, token günlükleri ajanın fazla akıl yürütüp yürütmediğini gösterirken, araç günlükleri fazla veri çekip çekmediğini gösterir. Çözümler farklıdır ve mimari bu ayrımı korumalıdır.

Güvenilirlik, güncel sözleşmeler ve görünür kararlar gerektirir

Dinamik seçim, öngörülemeyen davranış anlamına gelmemelidir.

Model tarafında, AIHubMix her istek için çözülen modeli ve yönlendirme politikasını raporlar. Oturum tutarlılığı, çoklu dönüşümlü çalışmalarda model tutarlılığını ve istem önbelleği avantajlarını koruyabilirken, geri dönüş davranışı gerektiğinde sağlıksız bir modelden uzaklaşabilir.

Araç tarafında, ajan, ücretli bir çağrı yapmadan önce mevcut uç nokta şemasını inceler. Keşif sonuçları, adayları karşılaştırmak için gereken bilgileri içerir ve gerçek çağrının sonucu, nihai tamamlamaya geçirilen tek dış kanıt haline gelir.

Bunlar birlikte, faydalı bir denetim izi oluşturur:

kullanıcı hedefi
  -> yönlendirme kararı ve çözülen model
  -> keşfedilen araç adayları
  -> incelenen şema ve fiyat
  -> seçilen uç nokta ve sonuç
  -> nihai model kararı ve temellendirilmiş yanıt

Bu iz, birçok modele veya birçok API'ye erişim sağlamaktan daha değerlidir. Ajanın her seçimi neden yaptığı ve yanıtını destekleyen kanıtın ne olduğunu açıklar.

Her iki katmana da ihtiyaç duymadığınız durumlar

Her iş akışı, çalışma zamanı seçiminden fayda sağlamaz.

Eğer bir uygulama, bir sabit istemi bir benchmark modeline gönderiyorsa, o modeli doğrudan belirtmek, yönlendirmeden daha basit ve daha öngörülebilir olabilir. Eğer bir zamanlanmış boru hattı her zaman bir bilinen API'yi çağırıyorsa, o API'yi doğrudan entegre etmek, bir keşif katmanı eklemekten daha net olabilir.

İki katmanlı mimari, çeşitliliğin iş yükünün bir parçası olduğu durumlarda yer kazanır:

  • İstemler yeterince farklıdır ki, en iyi model adım adım değişir.
  • Ajanlar birden fazla model çağrısı yapar ve toplam maliyet veya gecikmeyi kontrol etmeleri gerekir.
  • Gerekli araçlar inşa zamanında tamamen tahmin edilemez.
  • Dış verilerin güncel olması ve kaynağının görünür olması gerekir.
  • Ekip, her biri için yeni bir tedarikçi entegrasyonu eklemeden yetenekler eklemek ister.

Model katmanını, araç katmanını veya her ikisini, uygulamanızın gerçekten ihtiyaç duyduğu kararlar doğrultusunda kullanın.

Ajanı bağımlılıklar değil, kararlar etrafında inşa edin

Bir üretim yapay zeka ajanı, erişebileceği model veya API sayısıyla tanımlanmaz. Mevcut adım için doğru yeteneği seçip seçemediği, bir bütçe içinde çalışıp çalışmadığı ve ne olduğunu açıklayıp açıklayamadığı ile tanımlanır.

AIHubMix, ajana maliyet, kalite ve gecikme öncelikleri arasında birleşik bir model uç noktası ve istek zamanında yönlendirme sağlar. Monid, çalışma zamanı araç keşfi, güncel şemalar, görünür fiyatlandırma ve dış sağlayıcılar arasında yürütme sunar.

Bir katman, ajanın nasıl düşündüğünü belirler. Diğer katman, nasıl bilgi edindiğini ve hareket ettiğini belirler. Bu kararları ayrı tutmak, genişletilmesi, gözlemlenmesi ve kontrol edilmesi daha kolay bir ajan üretir.

Öncelikle AIHubMix hızlı başlangıç ile başlayın, ardından araç tarafını Monid aracılığıyla bağlayın.

SSS

Yapay zeka ajanları için model yönlendirmesi nedir?

Model yönlendirmesi, her isteği görev türü, yetenek, maliyet ve gecikme gibi faktörlere göre bir model seçer. AIHubMix ile model'i auto veya auto:quality_first gibi bir politika olarak ayarlamak, istek zamanında seçim yapılmasını sağlar ve OpenAI uyumlu bir API'yi korur.

Eğer LLM zaten bilgiye sahipse, bir yapay zeka ajanının neden araçlara ihtiyacı var?

Bir LLM, aldığı bağlamdan ve eğitim sırasında öğrendiklerinden yanıtlar üretir. Güncel fiyatları güvenilir bir şekilde bilemez, özel bir veritabanını sorgulayamaz veya bağlı bir araç olmadan dış bir eylem gerçekleştiremez. Araçlar, canlı veri ve yürütme sağlar; model ise sonucu planlar ve yorumlar.

Bir model geçidi, bir MCP sunucusu veya araç platformu ile aynı mıdır?

Hayır. Bir model geçidi, çıkarım isteklerini modellere yönlendirir. MCP sunucuları ve araç platformları, bir ajana dış yetenekler sunar. Tamamlayıcı entegrasyon sorunlarını çözerler ve birlikte kullanılabilirler.

AIHubMix ve Monid bağımsız olarak kullanılabilir mi?

Evet. AIHubMix, dinamik araç gereksinimi olmayan uygulamalar için model çağrılarını yönlendirebilir. Monid, başka bir model sağlayıcısı veya geçidi kullanan ajanslara araç keşfi sağlayabilir. Her iki kullanım da, bir ajanın her iki katmanda da çalışma zamanı seçimine ihtiyaç duyduğu durumlarda faydalıdır.

Otomatik yönlendirmeyi nasıl denetlenebilir tutabilirim?

Her görev için çözülen modeli, yönlendirme politikasını, araç adayını, incelenen fiyatı, seçilen uç noktayı ve döndürülen sonucu kaydedin. AIHubMix, yanıt içinde model yönlendirme detaylarını açığa çıkarırken, Monid, araç kararının ücretli çağrılardan önce kaydedilmesini sağlamak için keşif ve incelemeyi yürütmeden ayırır.