Yapay zeka modelleri ve platformları

Otonom Ajanlarla AgentOps: Gözlemlenebilirlik, İzlenebilirlik ve Ötesi için AI Uygulamanız

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

Otonom ajanların foundation modelleri (FM) gibi Büyük Dil Modelleri (LLM) tarafından büyümesi, karmaşık, çok adımlı sorunların çözümü şeklini değiştirdi. Bu ajanlar, müşteri destekinden yazılım mühendisliğine kadar çeşitli görevleri gerçekleştirir ve akıl yürütme, araç kullanımı ve bellek birleşimini içeren karmaşık iş akışlarını gezinir.

Ancak, bu sistemler yetenek ve karmaşıklık açısından büyüdükçe, gözlemlenebilirlik, güvenilirlik ve uyumluluk konularında zorluklar ortaya çıkar.

Bu noktada AgentOps devreye girer; DevOps ve MLOps’tan esinlenen ancak FM tabanlı ajanların yaşam döngüsünü yönetmek için uyarlanmış bir kavram.

AgentOps’un temelini ve FM tabanlı otonom ajanlar için gözlemlenebilirlik ve izlenebilirlik sağlama konusundaki kritik rolünü anlamak için, Liming Dong, Qinghua Lu ve Liming Zhu’nun AgentOps için Foundation Model Tabanlı Ajanların Gözlemlenebilirliği Sağlamak İçin Bir Taksonomi adlı recent makalesinden elde edilen bilgilerden yararlandım. Makale, AgentOps’u kapsamlı bir şekilde ele alır ve gözlemlenebilirlik platformları için ana özellikler önerir ve karar karmaşıklığı ve düzenleyici uyumluluk gibi zorlukları ele alır.

AgentOps (araç) önemli bir traction kazanmıştır ve AI ajanlarını (örneğin autogen, crew ai) izlemek, hata ayıklamak ve optimize etmek için kullanılan önde gelen araçlardan biridir. Ancak bu makale, daha geniş AI Operasyonları (Ops) kavramına odaklanmaktadır.

AgentOps (araç), geliştiricilere ajan iş akışlarına ilişkin içgörüler sunar ve features gibi session replays, LLM maliyet izleme ve uyumluluk izleme sağlar. AI’de en popüler Ops araçlarından biri olarak, daha sonra bu makalede işlevselliği ile bir öğretici sunacağız.

Nedir AgentOps?

AgentOps, üretim için FM tabanlı otonom ajanları tasarlamak, dağıtmak, izlemek ve optimize etmek için gereken uçtan uca süreçleri, araçları ve çerçeveleri ifade eder. Hedefleri:

  • Gözlemlenebilirlik: Ajanın yürütme ve karar verme süreçlerine tam görünürlük sağlamak.
  • İzlenebilirlik: Ajanın yaşam döngüsü boyunca ayrıntılı artifacts yakalamak için hata ayıklama, optimizasyon ve uyumluluk.
  • Güvenilirlik: İzleme ve güçlü iş akışları yoluyla tutarlı ve güvenilir çıktılar sağlamak.

Temelde, AgentOps geleneksel MLOps’ın ötesine geçer ve yinelemeli, çok adımlı iş akışları, araç entegrasyonu ve uyarlanabilir belleği vurgular ve aynı zamanda katı izleme ve izleme sağlar.

AgentOps Tarafından Ele Alınan Ana Zorluklar

1. Agentic Sistemlerin Karmaşıklığı

Otonom ajanlar, her adımda kararlar gerektiren geniş bir eylem alanını işler. Bu karmaşıklık, sofistike planlama ve izleme mekanizmaları gerektirir.

2. Gözlemlenebilirlik Gereksinimleri

Yüksek riskli kullanım örnekleri – tıbbi teşhis veya yasal analiz gibi – granüler izlenebilirlik gerektirir. EU AI Yasası gibi düzenlemelere uyumluluk da güçlü gözlemlenebilirlik çerçevelerinin nécessitéini vurgular.

3. Hata Ayıklama ve Optimizasyon

Çok adımlı iş akışlarında hataları tanımlamak veya ara çıktıları değerlendirmek, ajanın eylemlerinin ayrıntılı izlerini olmadan zorluştur.

4. Ölçeklenebilirlik ve Maliyet Yönetimi

Üretimde ajanları ölçeklemek, gecikme, token kullanımı ve operasyonel maliyetler gibi metriklere ilişkin izleme gerektirir ve kaliteden ödün vermeden verimliliği sağlar.

AgentOps Platformlarının Temel Özellikleri

1. Ajan Oluşturma ve Özelleştirme

Geliştiriciler, bir bileşen kayıt defterini kullanarak ajanları yapılandırabilir:

  • Roller: Sorumlulukları tanımlar (örneğin, araştırmacı, planlayıcı).
  • Guardrails: Etik ve güvenilir davranış için kısıtlamalar ayarlar.
  • Toolkits: API’ler, veritabanları veya bilgi grafikleri ile entegrasyonu sağlar.

Ajanlar, belirli veri kümeleri, araçlar ve promt’lar ile etkileşime girerken, önceden tanımlanmış kurallara uyumluluk sağlar.

2. Gözlemlenebilirlik ve İzleme

AgentOps, ayrıntılı yürütme günlüklerini yakalar:

  • İzler: Ajanın iş akışındaki her adımdan kayıt tutar, LLM çağrılarından araç kullanımına kadar.
  • Spans: İzleri granüler adımlara ayırır, örneğin algoritma çağrıları, gömme oluşturma veya araç çağrıları.
  • Artifacts: Ara çıktıları, bellek durumlarını ve promt şablonlarını hata ayıklama amacıyla izler.

Gözlemlenebilirlik araçları gibi Langfuse veya Arize, bu izleri görselleştiren paneller sağlar ve thus darboğazları veya hataları tanımlamaya yardımcı olur.

3. Promt Yönetimi

Promt mühendisliği, ajan davranışının oluşmasında önemli bir rol oynar. Ana özellikler şunları içerir:

  • Sürümleme: Performans karşılaştırması için promt’ların sürümlerini izler.
  • Enjeksiyon Tespiti: Promt’lardaki kötü amaçlı kod veya girdi hatalarını tanımlar.
  • Optimizasyon: Zincir Düşünce (CoT) veya Ağaç Düşünce gibi teknikler akıl yürütme yeteneklerini geliştirir.

4. Geri Bildirim Entegrasyonu

İnsan geri bildirimi, yinelemeli iyileştirmeler için kritiktir:

  • Açık Geri Bildirim: Kullanıcılar çıktıları değerlendirir veya yorumlar.
  • İmplied Geri Bildirim: Zaman içinde görev veya tıklama oranları gibi metriklere dayalı etkinliği analiz eder.

Bu geri bildirim döngüsü, hem ajanın performansı hem de test için kullanılan değerlendirme standartlarını iyileştirir.

5. Değerlendirme ve Test

AgentOps platformları, aşağıdaki konularda kapsamlı testleri kolaylaştırır:

  • Benchmark’lar: Ajan performansı endüstri standartlarına karşılaştırır.
  • Adım Adım Değerlendirmeler: İş akışındaki ara adımların doğruluğunu değerlendirir.
  • Yol Değerlendirmesi: Ajanın aldığı karar yolunu doğrular.

6. Bellek ve Bilgi Entegrasyonu

Ajanlar, kısa süreli belleği (örneğin, sohbet geçmişi) ve uzun süreli belleği (örneğin, geçmiş görevlerden elde edilen bilgiler) kullanır. Bu, ajanların dinamik olarak uyum sağlarken zaman içinde tutarlılık sağlamalarına olanak tanır.

7. İzleme ve Metriklar

Kapsamlı izleme, aşağıdaki konuları takip eder:

  • Gecikme: Optimizasyon için yanıt sürelerini ölçer.
  • Token Kullanımı: Kaynak tüketimini kontrol etmek için token kullanımını izler.
  • Kalite Metrikları: Alaka, doğruluk ve zehirli içerik gibi faktörleri değerlendirir.

Bu metriklere, kullanıcı oturumları, promt’lar ve iş akışları gibi boyutlar üzerinden bakılarak gerçek zamanlı müdahaleler ermöglicht.

İzlenebilir Artifact’lerin Taksonomisi

Makale, AgentOps gözlemlenebilirliği temel alan bir artifact taksonomisini sunar:

  • Ajan Oluşturma Artifact’leri: Roller, hedefler ve kısıtlamalar hakkında meta veri.
  • Yürütme Artifact’leri: Araç çağrıları, alt görev kuyrukları ve akıl yürütme adımlarının günlükleri.
  • Değerlendirme Artifact’leri: Benchmark’lar, geri bildirim döngüleri ve puanlama metrikları.
  • İzleme Artifact’leri: Oturum kimlikleri, iz kimlikleri ve spans için granüler izleme.

Bu taksonomi, ajan yaşam döngüsü boyunca tutarlılık ve açıklık sağlar ve hata ayıklama ve uyumluluk daha yönetilebilir hale gelir.

AgentOps (Araç) Öğretici

Bu, AgentOps’u kurma ve AI ajanlarınızı izleme ve optimize etme konusunda size rehberlik edecektir.

Adım 1: AgentOps SDK’yı Kurun

AgentOps’u tercih ettiğiniz Python paket yöneticisi ile kurun:

pip install agentops

Adım 2: AgentOps’u Başlatın

İlk olarak, AgentOps’u API anahtarınızla başlatın. API anahtarını güvenlik için bir .env dosyasında saklayın:

# AgentOps'u API Anahtarınızla Başlatın
import agentops
import os
from dotenv import load_dotenv

<p># Çevre değişkenlerini yükleyin
load_dotenv()
AGENTOPS_API_KEY = os.getenv(&quot;AGENTOPS_API_KEY&quot;)</p>

<p># AgentOps istemcisini başlatın
agentops.init(api_key=AGENTOPS_API_KEY, default_tags=[&quot;my-first-agent&quot;])</p>

Bu adım, uygulamanızdaki tüm LLM etkileşimlerine gözlemlenebilirlik sağlar.

Adım 3: Eylemleri Dekoratörlerle Kaydedin

Belirli fonksiyonları @record_action dekoratörü ile enstrümanlayabilirsiniz. Bu, parametrelerini, yürütme süresini ve çıktısını izler. İşte bir örnek:

from agentops import record_action

<p>@record_action(&quot;custom-action-tracker&quot;)
def is_prime(number):
&quot;&quot;&quot;Bir sayının asal olup olmadığını kontrol edin.&quot;&quot;&quot;
if number &amp;lt; 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True</p>

Bu fonksiyon artık AgentOps panosunda günlüğe kaydedilecek ve yürütme süresi ve girdi-çıktı izleme için metriklere sahip olacaktır.

Adım 4: Adlı Ajanları İzleyin

Eğer adlandırılmış ajanlar kullanıyorsanız, @track_agent dekoratörünü kullanarak tüm eylemleri ve olayları belirli ajanlara bağlayabilirsiniz.

from agentops import track_agent

<p>@track_agent(name=&quot;math-agent&quot;)
class MathAgent:
def __init__(self, name):
self.name = name</p>

<p>def factorial(self, n):
&quot;&quot;&quot;Faktöriyeli hesaplar.&quot;&quot;&quot;
return 1 if n == 0 else n * self.factorial(n - 1)</p>

Bu ajan içindeki tüm eylemler veya LLM çağrıları artık "math-agent" etiketiyle ilişkilendirilir.

Adım 5: Çoklu Ajan Desteği

Birden fazla ajan kullanan sistemler için, daha iyi gözlemlenebilirlik için ajanlar arasında olayları izleyebilirsiniz. İşte bir örnek:

@track_agent(name=&quot;qa-agent&quot;)
class QAAgent:
def generate_response(self, prompt):
return f&quot;Cevap veriyorum: {prompt}&quot;

<p>@track_agent(name=&quot;developer-agent&quot;)
class DeveloperAgent:
def generate_code(self, task_description):
return f&quot;# {task_description} için kod&quot;</p>

<p>qa_agent = QAAgent()
developer_agent = DeveloperAgent()</p>

<p>response = qa_agent.generate_response(&quot;AI gözlemlenebilirliğini açıklar mısınız?&quot;)
code = developer_agent.generate_code(&quot;Fibonacci dizisini hesapla&quot;)</p>

Her çağrı, AgentOps panosunda ilgili ajanın izinde görünecektir.

Adım 6: Oturumu Sonlandır

Bir oturumun sonunu sinyallemek için end_session metodunu kullanın. İsteğe bağlı olarak, oturum durumunu (Success veya Fail) ve bir neden belirtin.

# Oturumu Sonlandır
agentops.end_session(state=&quot;Success&quot;, reason=&quot;İş akışı tamamlandı&quot;)

Bu, tüm verilerin günlüğe kaydedilip AgentOps panosunda erişilebilir olmasını sağlar.

Adım 7: AgentOps Panosunda Görselleştir

AgentOps Panosu‘nu ziyaret edin ve aşağıdaki özellikleri keşfedin:

  • Oturum Tekrarları: Adım adım yürütme izleri.
  • Analitik: LLM maliyeti, token kullanımı ve gecikme metrikları.
  • Hata Tespiti: Hataları veya yinelemeli döngüleri tanımlayın ve hata ayıklayın.

Gelişmiş Örnek: Yinelemeli Düşünce Tespiti

AgentOps, ajan iş akışlarında yinelemeli döngüleri de destekler. Önceki örneği yinelemeli tespitle genişletelim:

@track_agent(name=&quot;recursive-agent&quot;)
class RecursiveAgent:
def solve(self, task, depth=0, max_depth=5):
&quot;&quot;&quot;Yinelemeli görev çözme, derinlik kontrolü ile.&quot;&quot;&quot;
if depth &gt;= max_depth:
return f&quot;Maksimum yineleme derinliği {task} için erreicht&quot;
return self.solve(task, depth + 1)

<p>recursive_agent = RecursiveAgent()
output = recursive_agent.solve(&quot;Veritabanı sorgularını optimize et&quot;)
print(output)</p>

AgentOps, bu yinelemeyi oturumun bir parçası olarak günlüğe kaydedecek ve böylece sonsuz döngüleri veya aşırı derinliği tanımlamanıza yardımcı olacaktır.

SONUÇ

Foundation modelleri gibi LLM’ler tarafından güçlendirilen otonom AI ajanları, endüstriler boyunca karmaşık, çok adımlı sorunların çözümünü yeniden tanımladı. Ancak, bu ajanların sofistike olması, gözlemlenebilirlik, izlenebilirlik ve güvenilirlik konularında benzersiz zorluklar getirir. İşte bu noktada AgentOps, AI ajanlarının yaşam döngüsü boyunca gözlemlenebilirlik, güvenilirlik ve uyumluluk sağlamak için gerekli bir çerçeve olarak ortaya çıkar.

Son beş yıldır Makine Öğrenimi ve Derin Öğrenme dünyasına kendimi adamış bulunuyorum. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla çeşitli yazılım mühendisliği projesine katkıda bulunmama yol açtı. Süregelen meraklılığım da beni Doğal Dil İşleme alanına yöneltti, bu alana daha da derinlemesine girmeye hevesliyim.