AI ajanları deneysel prototiplerden gerçek dünya uygulamalarına geçerken, davranışlarını anlamak, performanslarını izlemek ve çıktıları sistematik olarak değerlendirmek önem kazanmaktadır.
Bu dersi tamamladıktan sonra şunları bilecek/anlayacaksınız:
Amaç, “kutu karası” ajanlarınızı şeffaf, yönetilebilir ve güvenilir sistemlere dönüştürme bilgisi ile donatmaktır.
Not: Güvenli ve güvenilir AI ajanları dağıtmak önemlidir. Ayrıca Güvenilir AI Ajanları Oluşturma dersine de göz atın.
Langfuse veya Microsoft Foundry gibi izlenebilirlik araçları genellikle ajan çalıştırmalarını izler (trace) ve aralıklar (span) olarak temsil eder.
İzlenebilirlik olmadan, bir AI ajanı “kara kutu” gibi olabilir - iç durumu ve mantığı opak olup, sorunları teşhis etmek veya performansı optimize etmek zorlaşır. İzlenebilirlikle ajanlar “cam kutular” haline gelir, bu da güven inşa etmek ve istenildiği gibi çalıştıklarından emin olmak için hayati şeffaflık sağlar.
AI ajanlarını üretim ortamlarına geçirmek yeni zorluklar ve gereksinimler getirir. İzlenebilirlik artık “iyi olur” değil, kritik bir yetenektir:
Ajan davranışını izlemek ve anlamak için çeşitli metrikler ve sinyaller takip edilmelidir. Spesifik metrikler ajanın amacına göre değişebilir, ancak bazıları evrensel olarak önemlidir.
İşte izlenebilirlik araçlarının takip ettiği en yaygın metriklerden bazıları:
Gecikme (Latency): Ajan ne kadar hızlı yanıt veriyor? Uzun bekleme süreleri kullanıcı deneyimini olumsuz etkiler. Görevler ve bireysel adımlar için gecikme sürelerini izleyerek ajan çalıştırmalarını takip etmelisiniz. Örneğin, tüm model çağrıları 20 saniye süren bir ajan daha hızlı bir model kullanarak veya model çağrılarını paralel yaparak hızlandırılabilir.
Maliyetler: Ajan çalıştırması başına ne kadar harcama oluyor? AI ajanları token başına ücretlendirilen LLM çağrılarına veya dış API’lere dayanır. Sık araç kullanımı veya çoklu istemler maliyetleri hızla artırabilir. Örneğin, küçük kalite artışı için bir ajan birkaç kez LLM çağırıyorsa, maliyetin haklı olup olmadığı ve çağrı sayısının azaltılıp azaltılamayacağı değerlendirilmelidir. Gerçek zamanlı izleme beklenmedik artışları (ör. aşırı API döngüleri oluşturan hatalar) tespit etmeye de yardımcı olur.
İstek Hataları: Ajan kaç istek yaparken başarısız oldu? Bu API hatalarını veya başarısız araç çağrılarını içerebilir. Üretimde ajanınızı bunlara karşı daha dayanıklı yapmak için yedekleme veya deneme mekanizmaları kurabilirsiniz. Örneğin, LLM sağlayıcı A kapalıysa, yedek olarak LLM sağlayıcı B’ye geçersiniz.
Kullanıcı Geri Bildirimi: Doğrudan kullanıcı değerlendirmeleri değerli içgörüler sağlar. Bu açık derecelendirmeler (👍beğeni/👎beğenmeme, ⭐1-5 yıldız) veya metin yorumları içerebilir. Sürekli olumsuz geri bildirim, ajanın beklenen şekilde çalışmadığının göstergesidir.
Dolaylı Kullanıcı Geri Bildirimi: Kullanıcı davranışları açık derecelendirme olmadan da dolaylı geri bildirim sağlar. Bu, hemen sorunun yeniden formüle edilmesi, tekrar eden sorgular veya yeniden dene düğmesine tıklanması gibi durumları içerir. Örneğin, kullanıcıların aynı soruyu tekrar tekrar sorması, ajanın beklenen şekilde çalışmadığının işaretidir.
Doğruluk: Ajan ne sıklıkla doğru veya istenilen çıktı üretir? Doğruluk tanımları değişir (örneğin, problem çözme doğruluğu, bilgi alma doğruluğu, kullanıcı memnuniyeti). İlk adım, ajanın başarısının neye benzediğini tanımlamaktır. Doğruluğu otomatik kontroller, değerlendirme puanları veya görev tamamlanma etiketleri ile takip edebilirsiniz. Örneğin, izleri “başarılı” veya “başarısız” olarak işaretlemek.
Otomatik Değerlendirme Metrixleri: Ayrıca otomatik değerlendirmeler kurabilirsiniz. Örneğin, bir LLM’yi ajanın çıktısını puanlamak için kullanabilirsiniz; yardımcı, doğru veya değil gibi. Ayrıca, ajanların farklı yönlerini puanlamanıza yardımcı olan çeşitli açık kaynak kütüphaneler vardır. Örneğin, RAG ajanları için RAGAS veya zararlı dil ve istem enjeksiyonunu tespit etmek için LLM Guard.
Pratikte, bu metriklerin kombinasyonu bir AI ajanın sağlığının en iyi kapsamını sağlar. Bu bölümün örnek not defterinde bu metriklerin gerçek örneklerde nasıl göründüğünü göstereceğiz, ancak önce tipik bir değerlendirme iş akışının nasıl olduğunu öğreneceğiz.
İzleme verisi toplamak için kodunuzu enstrüman etmeniz gerekir. Amaç, ajan kodunu izler ve metrikler yayacak şekilde enstrüman etmektir; böylece bunlar bir izlenebilirlik platformu tarafından yakalanabilir, işlenebilir ve görselleştirilebilir.
OpenTelemetry (OTel): OpenTelemetry LLM izlenebilirliği için sektör standardı olarak ortaya çıkmıştır. Telemetri verisi üretmek, toplamak ve dışa aktarmak için API’ler, SDK’lar ve araçlar seti sağlar.
OpenTelemetry aralıklarını izlenebilirlik aracına kolayca dışa aktarmak için var olan ajan çerçevelerini saran birçok enstrüman kütüphanesi vardır. Microsoft Agent Framework OpenTelemetry ile yerel olarak entegredir. Aşağıda bir MAF ajanını enstrüman etme örneği bulunmaktadır:
from agent_framework.observability import get_tracer, get_meter
tracer = get_tracer()
meter = get_meter()
with tracer.start_as_current_span("agent_run"):
# Ajan yürütmesi otomatik olarak izlenir
pass
Bu bölümdeki örnek not defteri MAF ajanın nasıl enstrüman edileceğini gösterecek.
Manuel Aralık Oluşturma: Enstrüman kütüphaneleri iyi bir temel sağlar, ancak daha detaylı veya özel bilgi gerektiği durumlar olur. Özel uygulama mantığı eklemek için manuel olarak aralıklar oluşturabilirsiniz. Daha önemlisi, otomatik veya manuel oluşturulan aralıklar özel niteliklerle (etiketler veya meta veri olarak da bilinir) zenginleştirilebilir. Bu nitelikler işe özgü veriler, ara hesaplamalar veya hata ayıklama ve analiz için faydalı olabilecek bağlamlar içerebilir; örneğin user_id, session_id veya model_version.
Langfuse Python SDK ile manuel olarak izler ve aralıklar oluşturma örneği:
from langfuse import get_client
langfuse = get_client()
span = langfuse.start_span(name="my-span")
span.end()
İzlenebilirlik bize metrikler sağlar, ancak değerlendirme o verileri analiz etme (ve test yapma) sürecidir, AI ajanın ne kadar iyi performans gösterdiğini ve nasıl geliştirilebileceğini belirlemek için. Başka bir deyişle, izler ve metrikler elinizde olduğunda, bunları ajanı nasıl yargılamak ve karar vermek için kullanırsınız?
Düzenli değerlendirme önemlidir çünkü AI ajanları sıklıkla belirli olmaktan uzaktır ve evrilebilir (güncellemeler veya model davranışının kayması yoluyla) – değerlendirme olmadan, “akıllı ajanınızın” işini iyi yapıp yapmadığını veya gerilediğini bilemezsiniz.
AI ajanları için iki değerlendirme kategorisi vardır: çevrimiçi değerlendirme ve çevrimdışı değerlendirme. Her ikisi değerlidir ve birbirini tamamlar. Genellikle herhangi bir ajan dağıtmadan önce minimum gerekli adım olan çevrimdışı değerlendirme ile başlarız.

Bu, ajanı kontrollü bir ortamda, genellikle canlı kullanıcı sorguları yerine test veri kümeleri kullanarak değerlendirmeyi içerir. Beklenen çıktı veya doğru davranışı bildiğiniz özenle hazırlanmış veri kümeleri kullanılır ve ajanın bunlar üzerinde çalıştırılır.
Örneğin, bir matematik kelime problemleri ajanı oluşturduysanız, bilinen cevapları olan 100 problemsel test veri kümeniz olabilir. Çevrimdışı değerlendirme genellikle geliştirme sırasında (ve CI/CD hatlarının bir parçası olabilir) iyileştirmeler kontrolü veya gerilemeleri engellemek için yapılır. Faydası tekrarlanabilir olması ve temel gerçek bilginizin olduğu durumlarda net doğruluk metrikleri alabilmenizdir. Ayrıca kullanıcı sorgularını simüle edip ajanın yanıtlarını ideal cevaplara karşı ölçebilir veya yukarıda açıklandığı gibi otomatik metrikler kullanabilirsiniz.
Çevrimdışı değerlendirmenin temel zorluğu test veri kümenizin kapsamlı ve güncel kalmasını sağlamaktır – ajan sabit bir test setinde iyi performans gösterse bile üretimde çok farklı sorgularla karşılaşabilir. Bu nedenle, gerçek dünya senaryolarını yansıtan yeni uç durumlar ve örneklerle test setlerini güncel tutmalısınız. Küçük “duman testi” vakaları ile daha geniş performans metrikleri için büyük değerlendirme setlerinin karışımı yararlıdır: hızlı kontroller için küçük setler ve daha geniş performans için büyük setler.

Bu, ajanın canlı, gerçek dünya ortamında, yani üretimde gerçek kullanım sırasında değerlendirilmesini ifade eder. Çevrimiçi değerlendirme gerçek kullanıcı etkileşimlerinde ajanın performansını izler ve sonuçları sürekli analiz eder.
Örneğin, canlı trafiğe başarı oranları, kullanıcı memnuniyeti puanları veya diğer metrikleri takip edebilirsiniz. Çevrimiçi değerlendirmenin avantajı bir laboratuvar ortamında beklemediğiniz şeyleri yakalayabilmesidir – zamanla modelin kaymasını (ajanın etkinliğinin girdi kalıpları değiştikçe azalması) gözlemleyebilir ve test verilerinizde olmayan beklenmedik sorgular veya durumları yakalayabilirsiniz. Bu, ajanın doğal ortamda nasıl davrandığına gerçek bir bakış sağlar.
Çevrimiçi değerlendirme genellikle dolaylı ve açık kullanıcı geri bildirimleri toplamayı içerir ve mümkünse yeni ajan sürümü eskiyle karşılaştırmak için paralel koşan gölge testleri veya A/B testleri yapılır. Zorluk, canlı etkileşimler için güvenilir etiketler veya puanlar almak olabilir – kullanıcı geri bildirimi veya sonrasında ölçülen metriklere (örneğin, kullanıcının sonucu tıklayıp tıklamadığı) dayanabilirsiniz.
Çevrimiçi ve çevrimdışı değerlendirmeler birbirini dışlamaz; oldukça tamamlayıcıdır. Çevrimiçi izlemeden gelen içgörüler (örneğin, ajanın zayıf performans gösterdiği yeni kullanıcı sorgusu türleri) çevrimdışı test veri kümelerini artırmak ve geliştirmek için kullanılabilir. Tersine, çevrimdışı testlerde iyi performans gösteren ajanlar daha güvenle dağıtılır ve çevrimiçi olarak izlenir.
Aslında birçok ekip şu döngüyü benimser:
çevrimdışı değerlendirme -> dağıtım -> çevrimiçi izleme -> yeni başarısızlık vakaları toplama -> çevrimdışı veri setine ekleme -> ajanı iyileştirme -> tekrarlama.
AI ajanlarını üretime alırken çeşitli zorluklarla karşılaşabilirsiniz. İşte bazı yaygın sorunlar ve olası çözümler:
| Sorun | Olası Çözüm |
|---|---|
| AI Ajanı işleri tutarlı şekilde yapamıyor | - Ajan için verilen istemi netleştirin ve hedefleri açık yapın. - Görevleri alt görevlere bölmek ve bunları birden fazla ajanla halletmek yardımcı olabilir. |
| AI Ajanı sürekli döngülere giriyor | - Ajanın süreci ne zaman durduracağını bilmesi için açık bitirme koşulları oluşturun. - Akıl yürütme ve planlama gerektiren karmaşık görevlerde, bu işleri için özel büyük model kullanın. |
| AI Ajan arac çağrıları iyi performans göstermiyor | - Aracın çıktısını ajan sisteminin dışında test edip doğrulayın. - Tanımlanan parametreleri, istemleri ve araç adlandırmalarını gözden geçirin. |
| Çoklu Ajan sistemi tutarlı çalışmıyor | - Her ajana verilen istemleri özel ve birbirinden farklı olacak şekilde düzenleyin. - Doğru ajanı belirlemek için “yönlendirme” veya kontrol ajanı kullanarak hiyerarşik sistem kurun. |
Bu sorunların çoğu izlenebilirlik sayesinde daha etkili tespit edilebilir. Daha önce bahsettiğimiz izler ve metrikler, ajan iş akışında sorunların nerede olduğunu tam olarak bulmaya yardımcı olarak hata ayıklamayı ve optimizasyonu çok daha verimli kılar.
AI ajanlarını üretime dağıtmanın maliyetlerini yönetmek için bazı stratejiler şunlardır:
Daha Küçük Modeller Kullanmak: Küçük Dil Modelleri (SLM’ler) belirli ajan kullanım durumlarında iyi performans gösterebilir ve maliyetleri önemli ölçüde düşürür. Daha önce de belirtildiği gibi, bir değerlendirme sistemi kurmak ve performansı daha büyük modellerle karşılaştırmak, bir SLM’nin kullanım durumunuzda ne kadar iyi performans göstereceğini anlamanın en iyi yoludur. Basit görevler için örneğin niyet sınıflandırması veya parametre çıkarımı gibi, SLM’leri kullanmayı düşünün; karmaşık muhakeme için ise daha büyük modelleri ayırın.
Yönlendirici Model Kullanmak: Benzer bir strateji, çeşitli model ve boyutlar kullanmaktır. LLM/SLM veya sunucusuz fonksiyonlar kullanarak, karmaşıklığa göre isteği en uygun modellere yönlendirebilirsiniz. Bu, maliyetleri azaltmaya yardımcı olurken doğru görevlerde performansı da sağlar. Örneğin, basit sorguları daha küçük, hızlı modellere yönlendirin ve yalnızca karmaşık muhakeme görevleri için pahalı büyük modelleri kullanın.
Yanıtları Önbelleğe Alma: Ortak istek ve görevleri tanımlayıp, yanıtları ajanik sisteminizden geçmeden önce sağlamak, benzer istek hacmini azaltmanın iyi bir yoludur. Daha temel AI modelleri kullanarak bir isteğin önbelleğe alınmış isteklere ne kadar benzediğini belirlemek için bir akış bile uygulayabilirsiniz. Bu strateji, sık sorulan sorular veya yaygın işler için maliyetleri önemli ölçüde azaltabilir.
Bu bölümün örnek not defterinde, ajanımızı izlemek ve değerlendirmek için gözlemlenebilirlik araçlarını nasıl kullanabileceğimize dair örnekler göreceğiz.
Diğer öğrenenlerle tanışmak, çalışma saatlerine katılmak ve AI Ajanları sorularınıza yanıt almak için Microsoft Foundry Discord topluluğuna katılın.
Feragatname: Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayınız. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlamalardan veya yanlış yorumlamalardan sorumlu değiliz.