C# ile Yapay Zeka Ajanları Kullanarak Araç Nasıl Oluşturulur?

Son Güncelleme: 05/21/2026
  • C# ile geliştirilen yapay zeka ajanları, tek seferlik komutlara yanıt vermek yerine, yapılandırılmış iş akışları içinde hedeflere ulaşmak için LLM mantığını, araç kullanımını ve bağlamı bir araya getiriyor.
  • .NET geliştiricileri, sağlam ve test edilebilir ajanlar oluşturmak için OpenAI / Azure OpenAI asistanlarından, Microsoft.Extensions.AI'dan, vektör verilerinden ve Agent Framework'ten yararlanabilirler.
  • Üretime hazır ajanlar, güçlü araç tasarımı, iş akışı düzenlemesi, gözlemlenebilirlik, maliyet kontrolü ve veri ve eylemler etrafında güvenlik önlemleri gerektirir.
  • Modern bulut araçları ve konteyner tabanlı dağıtımlar, C# ile yazılmış yapay zeka ajanlarının kurumsal uygulamalar ve analiz süreçleri genelinde ölçeklendirilmesini pratik hale getiriyor.

CSharp'ta yapay zeka ajanları

C# araçlarıyla yapay zeka ajanları oluşturmak artık niş bir deney olmaktan çıktı; gerçek iş akışlarını otomatikleştirmek, kurumsal verileri bağlamak ve akıllı asistanları uygulamalarınız genelinde ölçeklendirmek için hızla pratik bir yöntem haline geliyor. Modern büyük dil modellerini (LLM'ler) sağlam .NET mühendisliğiyle birleştirdiğinizde, temel bir sohbet robotundan dosya okuyabilen, kod çalıştırabilen, API'leri çağırabilen ve yapılandırılmış iş akışları içinde işbirliği yapabilen, güçlü, araç kullanan ajanlara geçebilirsiniz.

Bu kılavuz, araçları ve harici verileri güvenli ve verimli bir şekilde kullanan yapay zekâ ajanları oluşturmak için ihtiyaç duyacağınız temel kavramları, mimari kalıplarını, .NET yapı taşlarını ve somut C# örneklerini size adım adım anlatmaktadır. OpenAI/Azure OpenAI asistanları, Microsoft'un .NET ajan ekosistemi, orkestrasyon kalıpları ve gözlemlenebilirlik, güvenlik ve üretim dağıtımı gibi gerçek dünya sorunları arasındaki bağlantıları kuracağız.

C# ile Yapay Zeka Ajanlarını ve Önemlerini Anlamak

Özünde, yapay zekâ ajanları yalnızca tekil soruları yanıtlamak yerine hedeflere ulaşmak için tasarlanmış sistemlerdir. Bir ajan, bir görevi düşünür, onu adımlara ayırır, hangi araçları kullanacağına karar verir ve hedef sonuca ulaşmak için ortamda harekete geçer. C#'ta bu, genellikle kullanıcılarla konuşabilen, API'leri çağırabilen, veritabanlarına erişebilen ve hedefe ulaşana kadar yineleme yapabilen bir servisin içine yerleştirilmiş bir ajan anlamına gelir.

Modern ajanlar güçlerinin büyük kısmını üç yetenekten alırlar: akıl yürütme, araç kullanımı ve bağlam farkındalığı. Akıl yürütme genellikle LLM'ler veya diğer karar verme algoritmalarıyla desteklenir, araçlar kod yürütmeden HTTP API'lerine ve dosya aramaya kadar her şeyi kapsar ve bağlam sohbet geçmişi, kurumsal veriler, vektör depoları veya bilgi grafiklerinden oluşur. Bu üç bileşen bir araya getirildiğinde, C# uygulamanız sadece "giriş istemi / çıktı metni" olmaktan çıkar ve yarı özerk bir çalışan gibi davranmaya başlar.

Görevler daha karmaşık hale geldikçe, ajanlar genellikle bağımsız hareket etmek yerine iş akışları içinde koordine edilirler. Örneğin, kurumsal bir web sitesinde bir özelliğin lansmanı, gereksinim toplama, tasarım, uygulama, test ve dağıtım aşamalarından geçebilir. Bu aşamaların her biri, kullanıcıyla sadece sohbet etmek yerine, iş birliği yapan, işleri devreden ve yapılandırılmış sonuçları bir sonraki adıma aktaran aracılar tarafından desteklenebilir veya kısmen otomatikleştirilebilir.

İş akışı düşüncesi, özellikle aracıların mevcut hizmetlere, günlük kaydına, güvenlik politikalarına ve dağıtım süreçlerine entegre olması gereken .NET arka uçlarında son derece önemlidir. Bir ajanı sihirli bir kara kutu gibi ele almak yerine, onu mimarinizin başka bir bileşeni olarak ele alırsınız: girdileri alır, araçları çağırır, çıktılar üretir ve telemetri, doğrulama ve iş mantığıyla sarmalanır.

.NET'te Yapay Zeka Asistanlarının ve Ajanlarının Temel Bileşenleri

C# dilinde OpenAI veya Azure OpenAI SDK'larını kullanarak yapay zeka asistanları oluşturduğunuzda, ajan kavramlarına güzel bir şekilde karşılık gelen az sayıda temel bileşenle çalışırsınız. Bu unsurları anlamak, rastgele yazılmış komut dosyaları yerine sağlam ajanlar tasarlamanıza yardımcı olacaktır.

Asistan, model yapılandırmasını, sistem talimatlarını ve araç tanımlarını kapsayan ana yapay zeka istemci nesnesidir. Hangi LLM'yi çağıracağını (örneğin, Azure OpenAI üzerinden gpt-4o), nasıl davranması gerektiğini ve dosya arama yetenekleri veya veri analizi için bir kod yorumlayıcı ortamı gibi hangi araçları çağırmasına izin verildiğini bilir.

Bir ileti dizisi, kullanıcı ile asistan arasındaki bir konuşma oturumunu temsil eder. Bu ileti dizisi, mesajların kronolojik listesini saklar, bağlamı izler ve konuşma modelin bağlam penceresi için çok büyük hale geldiğinde otomatik olarak kısaltma işlemini gerçekleştirir. Uygulamada, ajanın zaman içinde tutarlı bir durumu koruyabilmesi için her kullanıcı veya her kullanım durumu için bir ileti dizisi oluşturursunuz.

Mesajlar, kullanıcı veya asistan tarafından yazılan konuşmadaki bireysel dönüşlerdir. Her mesaj düz metin, resim ve diğer dosyaları içerebilir. İş verileriyle çalışan temsilciler için mesajlar, yüklenen belgelere referanslar, araçlar tarafından oluşturulan resimler veya depolama alanınızdaki dosyalara işaret eden alıntılar içerebilir.

Çalıştırma, asistanın belirli bir iş parçacığı durumu üzerinde fiili olarak yürütülmesidir. Bir çalıştırmayı tetiklediğinizde, yardımcı program iş parçacığı mesajlarını okur, gerekirse araçları seçer, modeli çağırır ve sonuçları içeren yeni mesajlar ekler. Çalıştırmalar, sonlanma durumuna ulaşana kadar gözlemlenebilir ve sorgulanabilir; bu, yanıt döndürmesi veya aşağı yönlü eylemleri tetiklemesi gereken .NET hizmetlerine aracıları entegre ederken çok önemlidir.

Çalıştırma adımları, ajanın bir çalıştırma sırasında neler yaptığının ayrıntılı kaydıdır. Bu, her araç çağrısını, her ara mesajı ve aracının kullanıcı isteğinden nihai çıktıya kadar nasıl ilerlediğini içerir. Çalıştırma adımlarını incelemek, özellikle düzenlemeye tabi veya yüksek etkili ortamlarda, hata ayıklama, denetim ve aracının neden belirli kararlar aldığını anlamak için çok önemlidir.

Bu temel unsurların yanı sıra, yardımcılar görevleri daha etkili bir şekilde tamamlamak için birden fazla aracı paralel olarak kullanacak şekilde yapılandırılabilir. Yaygın örnekler arasında, analiz veya görselleştirme için kod parçacıklarını yürüten bir kod yorumlayıcı, model kararlarını kendi C# yöntemlerinize eşleyen fonksiyon çağrısı ve aracının yanıtları özel belgelerinize veya satış verilerinize dayandırmasına olanak tanıyan vektör depoları üzerinde dosya arama yer almaktadır.

C# Yapay Zeka Ajanlarının Mimarisinin Tasarlanması

Mimari açıdan bakıldığında, yapay zeka yığınınızı iki katman olarak düşünmek akıllıca olacaktır: model sağlayıcısının üzerinde bir sohbet istemcisi soyutlaması ve bağlamı ve araçları yöneten bir dizi aracı. Sohbet katmanı, hangi modeli kullandığınızı (OpenAI, Azure OpenAI veya başka bir sağlayıcı) gizlerken, aracı katmanı ise veri alma, yazma veya harici sistemlerle entegrasyon gibi işletmeye özgü becerileri içerir.

Pratik bir yaklaşım, ajanları tek bir monolitik süper ajan yerine uzmanlaşmış bileşenler olarak yapılandırmaktır. Bir ajanı arama ve doğrulama işlemlerine, bir diğerini içerik taslağı hazırlamaya veya yeniden yazmaya, üçüncüsünü ise harici API'leri veya veritabanlarını çağırmaya odaklayabilirsiniz. Her ajanın test edilmesi, dağıtılması ve güvenliğinin sağlanması daha kolay hale gelir ve kaynak sınırlarını veya token bütçelerini bağımsız olarak atayabilirsiniz.

Durum ve bellek yönetimi, sonradan akla gelen bir şey olarak değil, büyüyen bir kaynak olarak ele alınmalıdır. Konuşmalar ve iş akışı kayıtları hızla birikir; bu nedenle, eski mesajların periyodik olarak özetlenmesi, kullanıcı veya senaryo başına ayrı ileti dizileri ve anlamsal olarak önemli içeriğe öncelik veren politikalar gibi stratejilere ihtiyacınız vardır. Bir .NET ortamında bu, denetlenebilirlik ve kurtarma için bellek içi bağlamı kalıcı bir depolama alanıyla birleştirmek anlamına gelir.

Araç geliştirme, temsilcilerin sadece gelişmiş sohbet robotları olmaktan çıkıp somut iş değeri sunmaya başladığı aşamadır. Yerel C# fonksiyonlarını araç olarak kullanıma sunarak, modelin "bu veritabanını sorgula", "grafik oluştur" veya "bu harici REST API'yi çağır" gibi eylemler talep etmesine olanak tanırsınız. Her araç, LLM'nin ne zaman ve nasıl çağrılacağına karar verebilmesi için açık meta veriler ve argüman şemalarıyla belgelenmelidir.

Sağlam bir araç yürütmesi, sıkı güvenlik önlemleri gerektirir; çünkü bir araçtaki herhangi bir arıza, kontrol edilmeden bırakılırsa kullanıcı deneyimini bozabilir veya sistemlere zarar verebilir. Pratikte, araçlarınız etrafında zaman aşımı süreleri, güçlü girdi doğrulama, savunma amaçlı istisna işleme ve hız sınırlaması uygularsınız. Ardından ajan, hatalar hakkında akıl yürütebilir, güvenli bir şekilde yeniden deneyebilir veya altyapınız korunurken sorunsuz bir şekilde performansını düşürebilir.

Karmaşık iş görevlerinde, tüm sorumlulukları tek bir ajana yüklemek yerine, çoklu ajan koordinasyonu genellikle daha etkilidir. Bilgi toplayan bir "araştırma" ajanı, hesaplamalar yapan veya sentezleyen bir "analist" ajanı ve gerekli formatta nihai çıktıları üreten bir "yazıcı" ajanı oluşturabilirsiniz. Bu ajanlar, yapılandırılmış mesajlar ve paylaşılan bir çalışma alanı aracılığıyla iletişim kurarak hem uzmanlaşmayı hem de denetimler veya incelemeler için izlenebilirliği artırır.

C# ile Araçlar Kullanarak Minimalist Bir Asistan Oluşturma

Bu fikirlerin gerçek kodda nasıl göründüğünü görmek için, satış veri setinde arama yapabilen ve görselleştirmeler oluşturabilen bir yapay zeka asistanı yaratan minimal bir .NET konsol uygulamasını ele alalım. OpenAI veya Azure OpenAI SDK'yı kullanarak istemcilerinizi kurar, bir dosya yükler, araçları yapılandırır ve bir konuşma dizisi çalıştırırsınız.

Öncelikle, aracınızın güveneceği OpenAI istemcilerini oluşturmanız gerekir. Bir istemci temel modeller ve yardımcı API'siyle iletişim kurarken, isteğe bağlı olarak Azure'a özgü bir istemci, kimlik doğrulama için Azure Identity kullanarak Azure OpenAI uç noktanıza işaret eder. Buradan, yardımcıları yönetmek için bir AssistantClient ve dosyaları yüklemek ve almak için bir FileClient türetirsiniz.

Ardından, örnek verileri bellekte hazırlarsınız ve asistanın dosya araması yoluyla kullanacağı bir dosya olarak yüklersiniz. Örneğin, farklı ürün kimlikleri için aylık satışları açıklayan bir JSON verisi oluşturabilir, bunu bir akışa dönüştürebilir ve amacı asistanlar olarak ayarlanmış şekilde OpenAI dosya uç noktasına gönderebilirsiniz. Döndürülen dosya tanımlayıcısı daha sonra vektör deposu yapılandırmanızın bir parçası haline gelir.

Veriler yerleştirildikten sonra, dosya arama ve kod yorumlayıcıyı etkinleştirmek için yardımcı seçeneklerini yapılandırırsınız. Asistana insan tarafından okunabilir bir isim veriyorsunuz, "Kullanıcılar grafik istediğinde satış verilerini analiz edip görselleştirmeler oluşturuyorsunuz" gibi net talimatlar yazıyorsunuz ve dosya arama ve kod yürütme için araç tanımları ekliyorsunuz. Ek olarak, ajanın veri alma destekli üretim yapabilmesi için yüklenen satış dosyasıyla doldurulmuş yeni bir vektör deposu oluşturan araç kaynakları kuruyorsunuz.

Asistan yapılandırıldıktan sonra, asistan örneğini oluşturursunuz ve ilk kullanıcı sorusuyla bir konuşma dizisi başlatırsınız. İsteme, belirli bir ürünün Şubat ayındaki satış performansını sorabilir ve zaman içindeki trendinin grafiğini isteyebilir. Hem iş parçacığını oluşturan hem de çalıştırmayı başlatan bir işlem çağırırsınız, ardından ajanın mantıksal çıkarımını ve araç çağrılarını tamamladığını yansıtan son noktaya ulaşana kadar zamanlanmış bir döngüde çalıştırma durumunu sorgularsınız.

Çalıştırma tamamlandıktan sonra, iş parçacığındaki tüm mesajları alırsınız ve sonuçları görüntülemek ve oluşturulan dosyaları işlemek için bunlar üzerinde yineleme yaparsınız. Her mesaj için, rolü (kullanıcı veya asistan) ve giriş veya çıkış dosyalarına atıfta bulunan açıklamalar da dahil olmak üzere tüm metin içeriğini yazdırırsınız. Asistan bir resim dosyası (örneğin, kod yorumlayıcısı tarafından oluşturulan bir grafik) ürettiyse, dosya istemcisi aracılığıyla meta verilerini ve baytlarını alırsınız, diske PNG olarak kaydedersiniz ve dosya adını konsola yazdırırsınız.

Bu minimal senaryo, araçları kullanan bir ajanın tüm yaşam döngüsünü göstermektedir: bir soruyu okur, vektörleştirilmiş bir veri kümesinde arama yapar, bir görselleştirme oluşturmak için kod çalıştırır ve kullanıcıya hem metin hem de görüntüler döndürür. Buradan yola çıkarak, tercih ettiğiniz .NET yığınını kullanarak aynı modeli web API'lerine, masaüstü uygulamalarına veya arka plan hizmetlerine entegre edebilirsiniz.

.NET Yapı Taşları: Microsoft.Extensions.AI, Vektör Verileri ve Agent Framework

Microsoft, ham SDK çağrılarının ötesinde, yapay zeka ajanlarını daha birleştirilebilir ve test edilebilir hale getiren katmanlı bir .NET kütüphaneleri kümesine yatırım yapıyor. Microsoft.Extensions.AI ve Microsoft.Extensions.VectorData olmak üzere iki temel paket, daha üst düzey bir Microsoft Agent Framework'ün temelini oluşturmaktadır.

Microsoft.Extensions.AI, model erişimini, araçları ve yapay zeka ile ilgili işlem hatlarını, diğer .NET uzantılarıyla tutarlı görünen arayüzlerin arkasına gizlemeye odaklanmaktadır. Bu paket sayesinde, uygulamanızın geri kalanını değiştirmeden model sağlayıcılarını değiştirebilir, bağımlılık enjeksiyonu ile yapay zeka hizmetlerini entegre edebilir ve günlük kaydı, önbellekleme veya güvenlik filtreleri gibi davranışları tanıdık bir şekilde birbirine bağlayabilirsiniz.

Microsoft.Extensions.VectorData, vektör veritabanlarıyla çalışmak ve bunları tutarlı, sağlayıcıdan bağımsız bir şekilde almak için temel öğeler sağlar. Bu özellik, belgelerin nasıl indeksleneceğini, gömülü verilerin nasıl saklanacağını ve benzerlik araması için nasıl sorgulanacağını tanımlamanıza olanak tanır; bu da, aracılarınızın tahmin yürütmek yerine yanıtlarını dahili belgelere, politikalara veya işlem kayıtlarına dayandırması gerektiği durumlarda kritik öneme sahiptir.

Bu temellerin üzerinde, ajanlar oluşturmak, iş akışlarını tanımlamak ve çoklu ajan sistemlerini yönetmek için yapılandırılmış kalıplar sunan Microsoft Agent Framework yer almaktadır. Ayrıntılar gelişmeye devam ederken, temel fikir, .NET'te aracıları ve iş akışlarını birinci sınıf vatandaşlar olarak ele almaktır: hedefleri tanımlarsınız, araçları takarsınız, bağlam sağlayıcılarını bağlarsınız ve çerçeve, orkestrasyon modları ve durum ilerlemesi gibi yaygın endişeleri ele alır.

Bu yapı taşları, yapılandırma, bağımlılık enjeksiyonu, günlük kaydı ve ara katman yazılımı kalıplarının zaten tanıdık olduğu standart .NET geliştirme modeline doğal olarak uyum sağlar. Yapay zekâ için tamamen yeni bir teknoloji yığını icat etmek yerine, kurumsal yönetişime, DevOps uygulamalarına ve kod kalitesi standartlarına saygı duyarak mevcut hizmetlerinizi yapay zekâ yetenekleriyle genişletebilirsiniz.

Yapay Zeka Ajanları için İş Akışı Orkestrasyon Kalıpları

Gerçek dünyadaki ajanlar nadiren bir modele yapılan tek ve doğrusal bir çağrı şeklinde çalışırlar; görevlerin başlangıçtan bitişe nasıl ilerleyeceğini tanımlayan, düzenlenmiş iş akışlarına katılırlar. Farklı orkestrasyon modelleri farklı iş ihtiyaçlarına uygundur ve bunları anlamak, daha öngörülebilir sistemler tasarlamanıza yardımcı olur.

Sıralı iş akışları en basit olanlardır; burada aracılar görevleri birbiri ardına işler ve çıktıları aşağıya doğru iletir. Bu, bir belgeden verileri yapılandıran bir veri çıkarma aracı, ardından bir doğrulama aracı ve son olarak bir raporlama aracı kadar basit olabilir. Her aşama, çalıştırılmadan önce bir önceki aşamanın tamamlanmasını bekler.

Eş zamanlı iş akışları, bağımlılıklar izin verdiğinde birden fazla aracının veya alt görevin paralel olarak çalışmasına olanak tanır. Örneğin, bir temsilci satış performansını analiz ederken diğeri müşteri geri bildirimlerini özetleyebilir; her ikisi de aynı veri kümesi üzerinde çalışır. İşleri bittiğinde, bir sentez temsilcisi bulgularını tek bir raporda birleştirir. Bu model, karmaşık süreçler için genel gecikmeyi önemli ölçüde azaltabilir.

Devir teslim iş akışları, koşullara veya sonuçlara bağlı olarak sorumluluğu temsilciler arasında kaydırır. İlk aşamada bir önceliklendirme ajanı bir talebi kategorize edebilir; eğer bir faturalandırma sorunu tespit ederse, bağlamı finans konusunda uzmanlaşmış bir ajana iletir, teknik sorunlar ise bir destek ajanına yönlendirilir. Devir teslimler, C# orkestrasyon kodunuzda açıkça veya bir sonraki adımı kimin atacağına karar veren bir denetleyici ajan aracılığıyla dolaylı olarak uygulanabilir.

Grup sohbeti iş akışları, birden fazla temsilciyi gerçek zamanlı olarak bilgi alışverişinde bulundukları ortak bir konuşmaya dahil eder. Bu kurulumda, temsilciler kullanıcıya nihai bir yanıt sunmadan önce tartışabilir, birbirlerinin yanıtlarını eleştirebilir veya verileri çapraz kontrol edebilirler. Orkestrasyon katmanı, sıra alma sürecini kontrol eder ve konuşmaların sınırlı ve gözlemlenebilir kalmasını sağlar.

Manyetik iş akışları, altında yer alan bir dizi uzmanlaşmış ajanı koordine eden birincil bir "denetleyici" ajanı tanıtır. Ana ajan hedefi analiz eder, hangi alt ajanların dahil edileceğine karar verir, çıktılarını bir araya getirir ve yeniden denemeleri veya hata yönetimini gerçekleştirir. Bu yapı, özellikle arka planda özel amaçlı ajanlardan yararlanırken tek bir giriş noktası istediğiniz kurumsal sistemlerde kullanışlıdır.

Araçlar, Fonksiyon Çağrıları ve C# Koduyla Entegrasyon

Ajanları genişletmenin en güçlü yollarından biri, LLM'nin çalışma zamanında talep edebileceği, kesin tipli C# fonksiyonları olarak uygulanan araçlardır. Modelin serbest biçimli kontrolüne izin vermek yerine, ajanın gerektiğinde çağırabileceği yapılandırılmış girdi ve çıktılara sahip güvenli işlemlerden oluşan bir katalog sunarsınız.

Fonksiyon çağrısı, her bir aracın amacını, parametrelerini ve beklenen yanıt biçimini tanımlayarak çalışır; böylece model, hangi aracın uygun olduğuna karar verebilir. Örneğin, zorunlu bir customerId parametresi ve kayıt tabanlı bir sonuç içeren bir GetCustomerById aracı tanımlayabilirsiniz. Modelin görevi, bu aracı ne zaman ve hangi argümanlarla çağıracağını seçmektir.

.NET tarafında ise her bir araç, üretime hazır hale gelmesini sağlayacak güvenlik önlemleriyle donatılmalıdır. Bu, istisnaların kullanıcıya ulaşmasına izin vermek yerine yakalanmasını, zaman aşımı veya iptal belirteçlerinin uygulanmasını, kullanıcı tarafından sağlanan argümanların doğrulanmasını ve yan etkilerin sınırlandırılmasını içerir. Bu, özellikle araçlar veritabanlarına yazarken, harici iş akışlarını tetiklerken veya üçüncü taraf hizmetlerini çağırırken kritik öneme sahiptir.

Analitik veya veri işleme ile ilgilenen ajanlarda, kod yorumlayıcı bir araç, dönüştürme ve görselleştirme için korumalı alanda kod çalıştırmak amacıyla kullanılabilir. Aracı, toplama işlemleri hesaplamak veya grafikler oluşturmak için Python veya C# kod parçacıkları üretebilir, bunları güvenli bir ortamda çalıştırabilir ve sonuçları resim veya veri tabloları olarak döndürebilir. C# ana uygulamanız, güvenilmeyen kodun dışarı çıkmasını veya hassas kaynaklara erişmesini engelleyecek şekilde sanal ortamı kontrol eder.

Dosya arama araçları, ajana belgelere ve bilgi tabanlarına yapılandırılmış erişim sağlayarak fonksiyon çağrısını tamamlar. Yüklenen dosyalar, aracının anlamsal olarak ilgili pasajları alabilmesi ve yanıtlarını doğrulanabilir kaynaklara dayandırabilmesi için bir vektör deposunda indekslenir. C#'ta, bu dosyaların yüklenmesini, indekslenmesini ve yaşam döngüsünü siz yönetirken, aracı doğru parçaları istemeye odaklanır.

Test, Gözlemlenebilirlik ve Maliyet Yönetimi

Yapay zekâ ajanlarını titiz testler ve gözlemleme yapılmadan üretime sokmak, öngörülemeyen davranışlara ve hızla artan maliyetlere yol açmanın en hızlı yoludur. Temsilciler araçları çağırabildiği, iş akışlarında döngüler oluşturabildiği ve uzun konuşmalar başlatabildiği için hem düşük seviyeli hem de uçtan uca test stratejilerine ihtiyacınız vardır.

Birim testleri, modelin kendisinden ziyade araçlara ve orkestrasyon koduna odaklanır. LLM yanıtlarını taklit edebilir, araç çağrılarını simüle edebilir ve C# mantığınızın başarıyı, kısmi başarısızlığı ve tam başarısızlığı doğru şekilde ele aldığını doğrulayabilirsiniz. Ayrıca, araçları diğer kritik hizmet bağımlılıkları gibi ele alarak girdi doğrulamasını, zaman aşımını ve yeniden deneme politikalarını burada test edebilirsiniz.

Senaryo veya diyalog testleri, temsili sorular ve beklentilerle tüm iş akışlarını uygulamaya koyar. Örneğin, bir dizi kullanıcı mesajını kaydedebilir ve ajanın doğru araçları seçtiğini, iş kurallarına uyduğunu ve kabul edilebilir aralıklarda çıktılar ürettiğini doğrulayabilirsiniz. Bu testler, modelleri, araçları veya yönlendirme stratejilerini yükseltirken ortaya çıkan hataları yakalamak için faydalıdır.

Gözlemlenebilirlik, gecikme süresi, belirteç kullanımı, araç kullanımı ve yol başına başarı oranlarına ilişkin ölçütleri içermelidir. Her bir ajan çalıştırmasının ne kadar sürdüğünü, kaç token tüketildiğini, hangi araçların en sık çağrıldığını ve hataların nerede yoğunlaştığını bilmek istiyorsunuz. Standart .NET günlük kaydı çerçeveleri ve izleme araçları burada iyi bir şekilde entegre olur ve yapay zekaya özgü telemetrinin mevcut uygulama metriklerinizin yanında yer almasına olanak tanır.

Konuşma süresi ve bellek politikaları hem maliyeti hem de performansı doğrudan etkiler. Uzun ileti dizileri daha yüksek belirteç sayısına ve daha yavaş yanıt sürelerine yol açar; bu nedenle akıllı kısaltma ve özetleme uygulamak çok önemlidir. Aracılar, eski bağlamı periyodik olarak daha kısa biçimlere özetleyebilir veya ayrıntılı geçmişi harici depolamada saklayarak her çalıştırma için yalnızca ilgili dilimi yükleyebilir.

Finansal açıdan bakıldığında, token kullanımını kiracı bazında, özellik bazında veya iş akışı bazında izlemek ve bütçeler veya kotalar uygulamak genellikle faydalıdır. Bu durum, özellikle .NET üzerine kurulu çok kullanıcılı SaaS ürünlerinde önemlidir; çünkü yanlış yapılandırılmış tek bir aracı, kontrol edilmediği takdirde beklenmedik faturalara yol açabilir.

Güvenlik, Uyumluluk ve Kurumsal Hazırlık

Ajanlar hassas kurumsal veriler üzerinde işlem yaptığında veya üretim sistemlerinde gerçek eylemler gerçekleştirdiğinde, güvenlik ve uyumluluk en başından itibaren tasarımın içine entegre edilmelidir. Bir temsilci sadece bir sohbet arkadaşı değildir; altyapınıza erişim sağlayan potansiyel bir kontrol yüzeyidir.

Verilere erişim, .NET hizmetlerinizin geri kalanına uyguladığınız ilkelerle aynı şekilde yönetilmelidir. Rol tabanlı erişim kontrolü, en düşük ayrıcalık izinleri ve kiracı izolasyonu, aracının erişebileceği herhangi bir araç veya veri kaynağına genişletilmelidir. Bir kullanıcının bir veri kümesini doğrudan görüntülemesine izin verilmiyorsa, aracı da o veri kümesini onun adına görüntüleyememelidir.

Denetim amacıyla, parametreler, çağıranın kimliği ve sonuçlar da dahil olmak üzere her araç çağrısı kaydedilmelidir. Bu kayıtlar, bir sorun oluştuğunda adli bir iz bırakmanızı sağlar ve hangi veriye kimin, ne zaman ve neden eriştiğini göstermeniz gerektiğinde mevzuat uyumluluğuna yardımcı olur. Kuruluşunuzdaki merkezi kayıt işlem hatları, yapay zeka aracı izlerini başka bir akış olarak içerebilir.

Gizli bilgiler ve kimlik bilgileri asla aracılara veya komut istemlerine sabit kod olarak yazılmamalıdır. Bunun yerine, güvenli yapılandırma depolarında, ortam değişkenlerinde veya yönetilen kimlik sistemlerinde bulunurlar ve C# kodunuz bunları çalışma zamanında alır. Aracının kendisi yalnızca opak tanıtıcıları görmelidir, ham bağlantı dizelerini veya API anahtarlarını değil.

Üçüncü taraf hizmetlere yapılan tüm giden iletişimler, hassas verileri temizleyen ve politikaları uygulayan veri temizleme katmanlarından geçmelidir. Ajanlar bazen gerekenden daha fazla bağlam göndermeye çalışabilir; bu nedenle entegrasyon kodunuz, veriler ortamınızdan ayrılmadan önce verileri filtreleyebilir, maskeleyebilir veya birleştirebilir. Bu, kaz accidental veri sızıntılarını önlemeye yardımcı olur ve gizlilik taahhütlerinize uygun kalmanızı sağlar.

Düzenlemeye tabi sektörlerde faaliyet gösteren kuruluşlar için, temsilci davranışlarının, onaylanmış araçların ve yetki sınırlarının açık bir şekilde belgelendirilmesi de önemlidir. Temsilcileri tıpkı insan rolleri gibi ele alın: Neler yapmalarına izin verildiğini, neleri asla yapmamaları gerektiğini ve istisnaların nasıl ele alınacağını tanımlayın. Bu, zaman içinde risk değerlendirmesini ve yönetimi çok daha kolay hale getirir.

Dağıtım, Ölçeklendirme ve Geliştirici Araçlarıyla Entegrasyon

C# ile geliştirilen bir prototip aşamasından üretim kalitesinde yapay zeka ajanlarına geçiş, dağıtım topolojisine ve ölçeklendirme stratejilerine dikkatli bir şekilde yaklaşmayı gerektirir. Ajanların yük altında dayanıklı, kolayca güncellenebilir ve platform mimarinizin geri kalanıyla uyumlu olmasını istersiniz.

Faydalı bir yöntem, kontrol düzlemini çıkarım düzleminden ayırmaktır. Kontrol düzlemi, aracıları, modelleri, araçları ve iş akışlarını yapılandırdığınız yerdir; çıkarım düzlemi ise canlı istekleri işleyen ve modelleri çağıran durumsuz hizmetlerden oluşur. Bu ayrım, trafiğe göre çıkarım örneklerini bağımsız olarak ölçeklendirme esnekliği sağlar.

Kubernetes gibi konteyner tabanlı orkestrasyon, ani artışlar gösterebilen veya uzun süreli işlemler içeren ajan iş yükleriyle doğal bir uyum sağlar. C# ajan servislerinizi konteynerlerde çalıştırabilir, ölçümlere göre otomatik ölçeklendirme yapabilir ve uygulayabilirsiniz. Dağıtılmış aramada yük dengelemeAyrıca, çok adımlı iş akışları veya büyük belge işleme gibi uzun süren işlemleri eş zamanlı kullanıcı etkileşimlerinden ayırmak için iş kuyrukları kullanılır.

Kuyruklar ve arka plan çalışanları, özellikle birden fazla araç çağrısı veya yoğun hesaplama gerektiren ajan görevleri için oldukça kullanışlıdır. API'niz bir isteği kabul edebilir, hedefi açıklayan bir işi sıraya alabilir ve bir çalışanın iş akışını işleyerek durum ve sonuçları paylaşılan bir depoda güncellemesini sağlayabilir. Kullanıcılar daha sonra tek bir uzun HTTP çağrısını beklemek yerine güncellemeleri sorgulayabilir veya abone olabilirler.

Kurumsal ortamlarda, ajan çıktılarının BI panolarına ve analitik platformlarına aktarılması yaygın bir uygulamadır. Örneğin, sonuçlar Power BI veya benzeri araçlara aktarılarak otomatik analiz ve karar verme arasındaki döngü tamamlanabilir. C# servisleriniz, yapay zeka katmanı ile geleneksel raporlama sistemleri arasında köprü görevi görür.

Azure AI Foundry ve Visual Studio Code için yapay zeka ile ilgili eklentiler gibi geliştirici odaklı araçlar, modellerin ve ajanların yaşam döngüsünü kolaylaştırır. VS Code içerisinde model kataloglarına göz atabilir, GitHub'da barındırılan veya yerel modelleri (örneğin Ollama aracılığıyla) dağıtabilir, birden fazla modelin çıktılarını yan yana karşılaştırabilir ve performans farklılıklarını anlamak için değerlendirmeler yapabilirsiniz.

Bu araçlar ayrıca, aracıları görsel olarak oluşturmayı ve iyileştirmeyi, ardından yapılandırmaları deponuzda bulunan YAML veya koda senkronize etmeyi kolaylaştırır. Bing arama motoru veya kod yorumlayıcı gibi araçlar ekleyebilir, bunları bir aracı tasarımına entegre edebilir, Azure entegrasyonu için C# kod parçacıkları oluşturabilir ve tüm uygulamanızı sürekli yeniden oluşturmak zorunda kalmadan istemler ve aracı davranışları üzerinde çok daha hızlı yineleme yapabilirsiniz.

Güçlü .NET kütüphaneleri, bulut yapay zeka platformları ve modern araçların birleşimi, C# araçlarıyla desteklenen yapay zeka ajanlarının oluşturulması, işletilmesi ve geliştirilmesi için güçlü bir ekosistem oluşturmaktadır. Ajanları hedef odaklı sistemler olarak modelleyerek, onları iş akışlarına dayandırarak, gözlemlenebilirlik için donatarak ve sıkı güvenlik sınırları uygulayarak, şeffaf olmayan kara kutular gibi davranmak yerine, kuruluşunuzun yeteneklerini gerçekten artıran yardımcılar oluşturabilirsiniz.

otobüs dağıtımında kargo dengesi
İlgili makale:
Toplu dağıtımda kargo dengesi: tam ve pratik kılavuz
İlgili Mesajlar: