Kısa cevap: Pratikte çalışan bir yapay zeka ajanı oluşturmak için, onu kontrollü bir döngü olarak ele alın: girdi alın, bir sonraki eyleme karar verin, dar kapsamlı bir aracı çağırın, sonucu gözlemleyin ve net bir "tamamlandı" kontrolü geçene kadar tekrarlayın. Görev çok adımlı ve araç odaklı olduğunda işe yarar; tek bir komutla çözülüyorsa, ajanı atlayın. Araçlar başarısız olduğunda veya girdiler belirsiz olduğunda, ajanın döngüye girmek yerine bir üst seviyeye geçmesi için katı araç şemaları, adım sınırları, günlük kaydı ve bir doğrulayıcı/eleştirici ekleyin.
Önemli noktalar:
Kontrol döngüsü : Giriş→hareket→gözlem tekrarını, açık durdurma koşulları ve maksimum adımlarla uygulayın.
Araç tasarımı : "Her şeyi yapabilen" karmaşayı önlemek için araçları dar kapsamlı, tip tanımlı, izinli ve doğrulanmış tutun.
Bellek hijyeni : Kısa süreli hafızayı ve uzun süreli hatırlamayı bir arada kullanın; tam metin dökümlerini atmaktan kaçının.
Kötüye kullanım direnci : Riskli işlemler için izin listeleri, hız sınırlamaları, tekrarlanabilirlik ve "deneme çalıştırması" ekleyin.
Test Edilebilirlik : Bir senaryo paketi (hatalar, belirsizlik, enjeksiyonlar) oluşturun ve her değişiklikte yeniden çalıştırın.

🔗 Yapay zeka performansı nasıl ölçülür?
Hız, doğruluk ve güvenilirliği ölçmek için pratik yöntemler öğrenin.
🔗 Yapay zeka ile nasıl konuşulur
Daha iyi yanıtlar almak için ipuçlarından, bağlamdan ve takip sorularından yararlanın.
🔗 Yapay zeka modelleri nasıl değerlendirilir?
Modelleri testler, değerlendirme kriterleri ve gerçek dünya görev sonuçlarını kullanarak karşılaştırın.
🔗 Yapay zeka modelleri nasıl optimize edilir?
Ayarlama, budama ve izleme ile kaliteyi ve maliyeti iyileştirin.
1) Yapay zekâ ajanı, sıradan bir insanın anlayabileceği şekilde nedir? 🧠
Bir yapay zeka ajanı bir döngüdür. LangChain "Ajanlar" belgeleri
İşte bu kadar. Ortasında beyin bulunan bir döngü.
Girdi → düşün → hareket et → gözlemle → tekrarla . ReAct makalesi (akıl yürütme + hareket)
Nerede:
-
Giriş, kullanıcı isteği veya bir olaydır (yeni e-posta, destek talebi, sensör sinyali).
-
Düşünmek, bir sonraki adımı düşünmeyi amaçlayan bir dil modelidir.
-
Eylem, bir aracı çağırıyor (dahili dokümanlarda arama, kod çalıştırma, bilet oluşturma, yanıt taslağı hazırlama). OpenAI Fonksiyon Çağırma Kılavuzu
-
Observe, araç çıktısını okuyor.
-
Tekrarlama , onu "geveze" olmaktan ziyade "etkin" hissettiren kısımdır. LangChain "Ajanlar" belgeleri
Bazı ajanlar temelde akıllı makrolardır. Diğerleri ise görevleri aynı anda yürütebilen ve hatalardan kurtulabilen, daha çok kıdemli olmayan bir operatör gibi davranırlar. Her ikisi de geçerlidir.
Ayrıca, tam özerkliğe de ihtiyacınız yok. Aslında… muhtemelen istemezsiniz de 🙃
2) Ne zaman bir ajan oluşturmalısınız (ve ne zaman oluşturmamalısınız) 🚦
Şu durumlarda bir aracı oluşturun:
-
Çalışma çok aşamalıdır ve aşamalar arasında meydana gelen olaylara bağlı olarak değişir.
-
İş, araç kullanımı (veritabanları, CRM'ler, kod yürütme, dosya oluşturma, tarayıcılar, dahili API'ler). LangChain "Araçlar" dokümanları
-
Tek seferlik çözümler değil, tekrarlanabilir ve güvenlik önlemleri içeren sonuçlar istiyorsunuz
-
"Tamamlandı" ifadesini, bilgisayarın kontrol edebileceği, hatta gevşek bir şekilde bile olsa, bir şekilde tanımlayabilirsiniz.
Aşağıdaki durumlarda ajan oluşturmayın:
-
Basit bir komut + yanıt sorunu çözer (aşırı karmaşıklaştırmayın, sonradan kendinizden nefret edersiniz).
-
Mükemmel bir determinizme ihtiyacınız var (ajanlar kısmen tutarlı olabilir, ancak robotik olmamalıdır).
-
Bağlantı kurmak için herhangi bir aracınız veya veriniz yoksa, her şey çoğunlukla sezgiye dayanır.
Dürüst olalım: "Yapay zeka ajanı projelerinin" yarısı, birkaç dallanma kuralı içeren bir iş akışından ibaret olabilir. Ama neyse, bazen atmosfer de önemlidir 🤷♂️
3) İyi bir yapay zeka ajanı neyi ifade eder? ✅
İşte istediğiniz "İyi bir versiyonu ne oluşturur" bölümü, ancak biraz açık sözlü olacağım:
İyi bir yapay zekâ ajanı değil , şu özelliklere sahip olanıdır:
-
Neler yapmasına izin verildiğini (kapsam sınırlarını)
-
Araçları güvenilir bir şekilde kullanır (yapılandırılmış çağrılar, yeniden denemeler, zaman aşımı) OpenAI Fonksiyon çağırma kılavuzu AWS “Zaman aşımı, yeniden denemeler ve gecikmeli geri çekilme”
-
Durumu temiz tutar (bozulmayan bellek) LangChain “Bellek genel bakışı”
-
Eylemlerini açıklıyor (gizli mantık dökümleri değil, denetim kayıtları) NIST AI RMF 1.0 (güvenilirlik ve şeffaflık)
-
Uygun şekilde durdurur (tamamlama kontrolleri, maksimum adım sayısı, yükseltme) LangChain "Ajanlar" dokümanları
-
Güvenli bir şekilde başarısız olur (yardım ister, otorite yanılsaması yaşamaz) NIST AI RMF 1.0
-
Test edilebilir (hazır senaryolar üzerinde çalıştırıp sonuçları puanlayabilirsiniz).
Eğer ajanınız test edilemiyorsa, temelde çok güven veren bir kumar makinesi gibidir. Partilerde eğlenceli, üretimde ise korkutucu 😬
4) Bir ajanın temel yapı taşları ("anatomisi" 🧩)
En etkili ajanların çoğunda şu parçalar bulunur:
A) Kontrolör döngüsü 🔁
Bu, orkestra şefi:
-
gol atmak
-
Modelden sonraki adımı isteyin
-
çalıştırma aracı
-
gözlemi ekle
-
İşlem tamamlanana kadar tekrarlayın LangChain “Ajanlar” belgeleri
B) Araçlar (diğer adıyla yetenekler) 🧰
Araçlar, bir aracıyı etkili kılan şeydir: LangChain "Araçlar" dokümanları
-
veritabanı sorguları
-
e-posta gönderme
-
Dosyaları çekme
-
çalışan kod
-
dahili API'leri çağırmak
-
Elektronik tablolara veya CRM'lere yazma
C) Hafıza 🗃️
İki tür önemlidir:
-
Kısa süreli hafıza : mevcut çalışma bağlamı, son adımlar, mevcut plan
-
Uzun süreli bellek : kullanıcı tercihleri, proje bağlamı, geri alınan bilgi (genellikle gömme vektörleri + bir vektör deposu aracılığıyla) RAG makalesi
D) Planlama ve karar alma politikası 🧭
Buna "planlama" demeseniz bile, bir yönteme ihtiyacınız var:
-
kontrol listeleri
-
ReAct tarzı “önce düşün, sonra araç kullan” ReAct makalesi
-
görev grafikleri
-
amir-çalışan kalıpları
-
Denetleyici-çalışan kalıpları Microsoft AutoGen (çoklu ajan çerçevesi)
E) Güvenlik önlemleri ve değerlendirme 🧯
-
izinler
-
Güvenli araç şemaları OpenAI Yapılandırılmış Çıktılar
-
çıktı doğrulama
-
adım sınırları
-
kayıt tutma
-
NIST AI RMF 1.0 testleri
Evet, bu daha çok mühendislik işi, yönlendirme değil. Ki bu da... zaten amaç da bu.
5) Karşılaştırma Tablosu: Ajan oluşturmanın popüler yolları 🧾
Aşağıda gerçekçi bir "Karşılaştırma Tablosu" bulunmaktadır - gerçek takımlar tuhaf olduğu için birkaç ufak ayrıntı da içeriyor 😄
| Araç / Çerçeve | Kitle | Fiyat | Neden işe yarıyor? | Notlar (küçük bir karmaşa) | |
|---|---|---|---|---|---|
| Dil Zinciri | Lego tarzı parçaları seven inşaatçılar | Ücretsize yakın + altyapı | Araçlar, bellek ve zincirler için büyük bir ekosistem | Şeyleri açıkça adlandırmazsanız, işler çok hızlı bir şekilde karmaşıklaşabilir | |
| LlamaIndex | RAG ağırlıklı takımlar | Ücretsize yakın + altyapı | güçlü arama kalıpları, indeksleme, bağlayıcılar | Emlakçınızın temelde "arama + harekete geçme" mantığıyla çalıştığı durumlarda harika... ki bu oldukça yaygın bir durum | |
| OpenAI Asistanları tarzı yaklaşım | daha hızlı kurulum isteyen takımlar | kullanım tabanlı | yerleşik araç çağırma kalıpları ve çalışma durumu | Bazı yönlerden daha az esnek, ancak birçok uygulama için temiz | OpenAI API'sini çalıştırıyor, OpenAI Asistanları fonksiyon çağrısı yapıyor. |
| Semantik Çekirdek | Yapılandırılmış orkestrasyon isteyen geliştiriciler | ücretsiz sayılır | Beceriler/işlevler için düzgün bir soyutlama | "Kurumsal düzen" hissi veriyor - bazen bu bir iltifat sayılır 😉 | |
| Otomatik Üretim | çoklu ajan deneycileri | ücretsiz sayılır | ajanlar arası işbirliği modelleri | Konuşmalar birbirinin sözünü kesebilir; katı sonlandırma kuralları belirleyin | |
| CrewAI | “ajan ekipleri” hayranları | ücretsiz sayılır | Roller, görevler ve devir teslimler kolayca ifade edilebilir | Görevler net ve belirgin olduğunda en iyi sonucu verir, belirsiz olduğunda değil | |
| Saman yığını | arama + işlem hatları insanlar | ücretsiz sayılır | katı boru hatları, geri alma, bileşenler | Daha az "menajer tiyatrosu", daha çok "pratik fabrika" | |
| Kendin yap (özel halka) | kontrol manyakları (sevgi dolu) | zamanınız | minimal sihir, maksimum netlik | Genellikle uzun vadede en iyisi... ta ki her şeyi yeniden icat edene kadar 😅 |
Tek bir kazanan yok. En iyi seçim, ajanınızın asıl görevinin veri alma , araç çalıştırma , çoklu ajan koordinasyonu veya iş akışı otomasyonu .
6) Yapay Zeka Ajanı Nasıl Oluşturulur: Adım Adım (Gerçek Tarif) 🍳🤖
Çoğu insan bu kısmı atlıyor, sonra da ajanın neden kilerde bir rakun gibi davrandığını merak ediyor.
Adım 1: İşi tek bir cümleyle tanımlayın 🎯
Örnekler:
-
"Politika ve bilet içeriğini kullanarak bir müşteri yanıtı taslağı hazırlayın, ardından onay isteyin."
-
“Bir hata raporunu inceleyin, hatayı yeniden oluşturun ve bir çözüm önerin.”
-
"Eksik toplantı notlarını görevlere, sorumlulara ve son teslim tarihlerine dönüştürün."
Eğer siz bunu basitçe tanımlayamazsanız, menajeriniz de tanımlayamaz. Yani tanımlayabilir, ama doğaçlama yapacak ve doğaçlama, bütçelerin öldüğü yerdir.
Adım 2: Özerklik seviyesini belirleyin (düşük, orta, yüksek) 🌶️
-
Düşük özerklik : adımlar önerir, insan "onayla" düğmesine tıklar.
-
Orta seviye : araçları çalıştırır, çıktı taslaklarını oluşturur, belirsizlik durumunda üst kademeye bildirir.
-
Yüksek : Uçtan uca çalıştırır, yalnızca istisnalarda insanlara bildirim gönderir.
İstediğinizden daha düşük bir seviyeden başlayın. İstediğiniz zaman daha sonra yükseltebilirsiniz.
3. Adım: Model stratejinizi seçin 🧠
Genellikle şu seçeneklerden birini tercih edersiniz:
-
her şey için tek bir güçlü model (basit)
-
Güçlü bir model + ucuz adımlar için daha küçük bir model (sınıflandırma, yönlendirme)
-
Gerekirse özel modeller (görsel, kod, konuşma)
Ayrıca şunlara da karar verin:
-
maksimum jetonlar
-
sıcaklık
-
Uzun mantıksal işlem izlerine dahili olarak izin verip vermeyeceğiniz (izin verebilirsiniz, ancak ham düşünce zincirini son kullanıcılara ifşa etmeyin)
Adım 4: Araçları katı şemalarla tanımlayın 🔩
Araçlar şunlar olmalıdır:
-
dar
-
yazılı
-
izinli
-
doğrulanmış Yapılandırılmış Çıktılar
do_anything(input: string) adlı bir araç yerine şunu yapın:
-
arama_kb(sorgu: dize) -> sonuçlar[] -
create_ticket(title: string, body: string, priority: enum) -> ticket_id -
send_email(to: string, subject: string, body: string) -> statusOpenAI Fonksiyon çağırma kılavuzu
Eğer bir görevliye motorlu testere verirseniz, çiti de sökerek çalıları budamasına şaşırmayın.
Adım 5: Kontrol döngüsünü oluşturun 🔁
Minimum döngü:
-
Hedef ve başlangıç bağlamıyla başlayın
-
Modelden şu soruyu sorun: "Sıradaki adım?"
-
Araç çağrısı yapılırsa, aracı çalıştırın
-
Gözlemi ekle
-
Durdurma koşulunu kontrol edin
-
LangChain "Agents" belgelerini (maksimum adım sayısıyla) tekrarlayın.
Eklemek:
-
zaman aşımı
-
Yeniden denemeler (dikkatli olun - yeniden denemeler döngüye girebilir) AWS “Zaman aşımı, yeniden denemeler ve gecikmeli geri çekilme”
-
Araç hatası biçimlendirmesi (açık, yapılandırılmış)
Adım 6: Hafızayı dikkatlice ekleyin 🗃️
Kısa vadeli: Her adımda güncellenen, kompakt bir "durum özeti" tutun. LangChain "Bellek genel bakışı"
Uzun vadeli: Kalıcı bilgileri (kullanıcı tercihleri, kuruluş kuralları, kalıcı belgeler) saklayın.
Genel kural:
-
Sık sık değişiyorsa, kısa vadeli tutun
-
Eğer stabil ise, uzun süre saklayın
-
Hassas bir maddeyse, minimum miktarda (veya hiç) saklayın
Adım 7: Doğrulama ve "eleştirmen" geçişi ekleyin 🧪
Ucuz ve pratik bir model:
-
aracı sonuç üretir
-
Doğrulayıcı, yapıyı ve kısıtlamaları kontrol eder
-
Eksik adımlar veya politika ihlalleri için isteğe bağlı eleştirel model incelemeleri NIST AI RMF 1.0
Kusursuz değil, ama şaşırtıcı derecede saçmalığı yakalıyor.
Adım 8: Kaydetmediğiniz için pişman olacağınız her şeyi kaydedin 📜
Kayıt:
-
araç çağrıları + girişler + çıkışlar
-
alınan kararlar
-
hatalar
-
nihai çıktılar
-
tokenlar ve gecikme OpenTelemetry gözlemlenebilirlik kılavuzu
Gelecekteki sen sana teşekkür edecek. Şimdiki sen ise unutacak. Hayat işte böyle 😵💫
7) Ruhunuzu kırmayan alet arama 🧰😵
Araç çağırma, "Yapay Zeka Ajanı Nasıl Oluşturulur" sorusunun gerçek yazılım mühendisliğine dönüştüğü noktadır.
Aletleri güvenilir hale getirin (güvenilir olmak iyidir)
Güvenilir araçlar şunlardır:
-
deterministik
-
dar kapsamlı
-
test etmesi kolay
-
Stripe "İdempotent istekleri" ni yeniden çalıştırmak güvenlidir
Güvenlik önlemlerini yalnızca komut istemlerine değil, araç katmanına da ekleyin
İstemler kibar önerilerdir. Araç doğrulaması kilitli bir kapıdır. OpenAI Yapılandırılmış Çıktılar
Yapmak:
-
izin verilenler listesi (hangi araçların çalıştırılabileceği)
-
giriş doğrulama
-
Kullanıcı/kuruluş bazında izin kontrolleri
-
Riskli eylemler için "deneme çalıştırma modu"
Kısmi arıza için tasarım
Araçlar arızalanıyor. Ağlar sallanıyor. Kimlik doğrulama süresi doluyor. Bir temsilcinin yapması gerekenler:
-
hataları yorumla
-
Uygun olduğunda geri çekilme ile yeniden deneme Google Cloud yeniden deneme stratejisi (geri çekilme + titreşim)
-
alternatif araçları seçin
-
sıkıştığında durumu tırmandır
Sessizce etkili bir yöntem: şu şekilde yapılandırılmış hatalar döndürün:
-
tür: kimlik doğrulama hatası -
tür: bulunamadı -
type: rate_limited
Böylece model paniklemek yerine akıllıca tepki verebilir.
8) Sizi rahatsız etmek yerine size yardımcı olan anılar 👻🗂️
Hafıza güçlüdür, ancak aynı zamanda bir çöplüğe de dönüşebilir.
Kısa süreli hafıza: aklınızda tutun
Kullanmak:
-
son N adım
-
Sürekli güncellenen bir özet (her döngüde güncellenir)
-
mevcut plan
-
mevcut kısıtlamalar (bütçe, zaman, politikalar)
Her şeyi bağlam içine yerleştirirseniz, şunları elde edersiniz:
-
daha yüksek maliyet
-
daha yavaş gecikme
-
Daha fazla kafa karışıklığı (evet, o zaman bile)
Uzun süreli hafıza: "doldurma" yerine "geri çağırma"
Çoğu "uzun süreli hafıza" şuna benzer:
-
gömülü vektörler
-
vektör mağazası
-
Geri alma artırılmış üretim (RAG) RAG makalesi
Ajan ezberlemez. Çalışma zamanında en alakalı parçaları alır. LlamaIndex “RAG'e Giriş”
Pratik hafıza kuralları
-
"Tercihleri" açık gerçekler olarak saklayın: "Kullanıcı madde işaretli özetleri seviyor ve emojilerden nefret ediyor" (lol, ama burada değil 😄)
-
Kararları zaman damgaları veya sürümlerle birlikte saklayın (aksi takdirde çelişkiler birikir)
-
Gerçekten mecbur kalmadıkça sırlarınızı asla saklamayın
İşte kusurlu benzetmem: Hafıza bir buzdolabı gibidir. Eğer hiç temizlemezseniz, sonunda sandviçiniz soğan ve pişmanlık tadında olur.
9) Planlama kalıpları (basitten gösterişliye) 🧭✨
Planlama, kontrollü bir ayrıştırmadan başka bir şey değildir. Onu gizemli bir şeye dönüştürmeyin.
A Modeli: Kontrol listesi planlayıcı ✅
-
Model, adımların bir listesini çıktı olarak verir
-
Adım adım yürütür
-
Güncelleme kontrol listesi durumu
Yeni çalışanların işe alım süreçleri için harika. Basit, test edilebilir.
Desen B: Tepki döngüsü (neden + eylem) 🧠→🧰
-
model bir sonraki araç çağrısına karar verir
-
çıktıyı gözlemler
-
ReAct belgesini tekrarlıyor
Bu, klasik ajan havası.
Model C: Süpervizör-çalışan 👥
-
Yönetici hedefi görevlere ayırır
-
işçiler uzmanlaşmış görevleri yerine getirir
-
, Microsoft AutoGen (çoklu ajan çerçevesi) sonuçlarını birleştirir
Bu, görevlerin paralel olarak yürütülebileceği durumlarda veya aşağıdaki gibi farklı "roller" istediğinizde değerlidir:
-
araştırmacı
-
kodlayıcı
-
editör
-
QA denetleyicisi
D Modeli: Planla, sonra uygula ve yeniden planlama yap 🔄
-
plan oluştur
-
uygulamak
-
Eğer araç sonuçları gerçekliği değiştirirse, yeniden planlayın
Bu, ajanın kötü bir planı inatla takip etmesini engeller. İnsanlar da bunu yapar, ancak yorgun olduklarında kötü planları takip ederler.
10) Güvenlik, güvenilirlik ve işten kovulmamak 🔐😅
Eğer ajanınız eylemde bulunabiliyorsa, güvenlik tasarımına ihtiyacınız var. "İyi olurdu" değil, gerekli. NIST AI RMF 1.0
Sert sınırlar
-
koşu başına maksimum adım sayısı
-
dakikada maksimum araç çağrısı sayısı
-
oturum başına maksimum harcama (token bütçesi)
-
Onay gerektiren kısıtlı araçlar
Veri işleme
-
Kayıt işlemine başlamadan önce hassas girdileri gizleyin
-
ayrı ortamlar (geliştirme ve üretim)
-
en az ayrıcalıklı araç izinleri
Davranışsal kısıtlamalar
-
Temsilciyi, dahili kanıt parçacıklarını (harici bağlantıları değil, yalnızca dahili referansları) alıntılamaya zorlayın
-
Güven düzeyi düşük olduğunda belirsizlik işaretleri gereklidir
-
Girdilerin belirsiz olması durumunda "açıklayıcı soru sorma" gereklidir
Güvenilir bir ajan, en kendine güvenen ajan değildir. Tahmin yürüttüğünü bilen ve bunu dile getiren ajandır.
11) Test ve değerlendirme (herkesin kaçındığı kısım) 🧪📏
Ölçemediğiniz şeyi geliştiremezsiniz. Evet, bu klişe ama sinir bozucu derecede doğru.
Bir senaryo seti oluşturun
30-100 adet test senaryosu oluşturun:
-
mutlu yollar
-
uç durumlar
-
“araç arızaları” durumları
-
belirsiz istekler
-
Düşmanca komut istemleri (komut istemi enjeksiyon girişimleri) OWASP LLM Uygulamaları için En İyi 10 OWASP LLM01 Komut İstemi Enjeksiyonu
Puan sonuçları
Şu gibi ölçütler kullanın:
-
görev başarı oranı
-
tamamlanma süresi
-
araç hatası kurtarma oranı
-
halüsinasyon oranı (kanıtlanmamış iddialar)
-
İnsan onay oranı (denetimli moddaysa)
İstemler ve araçlar için regresyon testleri
Değişiklik yaptığınız her an:
-
araç şeması
-
sistem talimatları
-
alma mantığı
-
Bellek biçimi. Test
paketini tekrar çalıştırın.
Ajanlar hassas canlılardır. Tıpkı saksı bitkileri gibi, ama daha pahalılar.
12) Bütçenizi zorlamayan dağıtım modelleri 💸🔥
Tek bir hizmetle başlayın
-
aracı denetleyici API'si
-
arkasındaki araç hizmetleri
-
OpenTelemetry gözlemlenebilirlik kılavuzu: Kayıt tutma + izleme
Maliyet kontrollerini erkenden ekleyin
-
önbelleğe alma sonuçları
-
konuşma durumunu özetlerle sıkıştırma
-
yönlendirme ve çıkarma için daha küçük modeller kullanmak
-
“Derin düşünme modunu” en zor adımlarla sınırlandırmak
Ortak mimari tercihi
-
Durumsuz denetleyici + harici durum deposu (Veritabanı/Redis)
-
Araç çağrıları mümkün olduğunca idempotenttir (tekrarlanabilir istekler).
-
Uzun süren görevler için kuyruğa alma (böylece bir web isteğini sonsuza kadar açık tutmazsınız)
Ayrıca: bir "acil durdurma düğmesi" yapın. Gerçekten, gerçekten ihtiyacınız olana kadar ona ihtiyacınız olmayacak 😬
13) Kapanış notları - Yapay Zeka Ajanı Nasıl Oluşturulur'un kısa versiyonu 🎁🤖
Başka hiçbir şeyi hatırlamasanız bile, şunu hatırlayın:
-
Yapay Zeka Ajanı Nasıl Oluşturulur, çoğunlukla bir model etrafında güvenli bir döngü oluşturmakla ilgilidir. LangChain "Ajanlar" belgeleri
-
Net bir hedef, düşük özerklik ve katı araçlarla başlayın. OpenAI Yapılandırılmış Çıktılar
-
Belleği, sonsuz bağlam doldurma yoluyla değil, geri alma yoluyla artırın. (RAG makalesi)
-
Planlama basit olabilir; kontrol listeleri ve yeniden planlama çok işe yarar.
-
Günlük kaydı ve testler, ajan karmaşasını gönderilebilir bir şeye dönüştürür. OpenTelemetry gözlemlenebilirlik kılavuzu
-
Güvenlik önlemleri yalnızca komut istemlerinde değil, kodun içinde de yer almalıdır. OWASP LLM Uygulamaları için En İyi 10
Bir ajan sihirli bir şey değil. Sık sık doğru kararlar veren ve değerli olan, ayrıca zarar vermeden önce yenilgiyi kabul eden bir sistemdir... Bir bakıma sessizce rahatlatıcı 😌
Evet, eğer doğru şekilde kurarsanız, hiç uyumayan, ara sıra panikleyen ve evrak işlerini seven minik bir dijital stajyeri işe almış gibi hissedersiniz. Yani, temelde bir stajyer.
SSS
Basitçe anlatmak gerekirse, yapay zeka ajanı nedir?
Bir yapay zeka ajanı temelde tekrarlayan bir döngüdür: girdi al, bir sonraki adımı belirle, bir araç kullan, sonucu oku ve iş bitene kadar tekrarla. "Ajan" kısmı, sadece sohbet etmekten değil, hareket etmekten ve gözlem yapmaktan gelir. Birçok ajan sadece araç erişimine sahip akıllı otomasyondur, diğerleri ise hatalardan kurtulabilen daha çok bir yardımcı operatör gibi davranır.
Komut istemini kullanmak yerine ne zaman yapay zeka ajanı geliştirmeliyim?
İşlem çok adımlı olduğunda, ara sonuçlara göre değiştiğinde ve güvenilir araç kullanımına (API'ler, veritabanları, biletleme, kod yürütme) ihtiyaç duyulduğunda bir aracı oluşturun. Aracılar ayrıca, güvenlik önlemleriyle tekrarlanabilir sonuçlar ve "tamamlandı" kontrolü yapmak istediğinizde de faydalıdır. Basit bir hızlı yanıt yeterliyse, bir aracı genellikle gereksiz bir yük ve ekstra hata modu oluşturur.
Döngülere takılıp kalmayan bir yapay zeka ajanı nasıl oluşturabilirim?
Kesin durdurma koşulları kullanın: maksimum adım sayısı, maksimum araç çağrısı sayısı ve net tamamlama kontrolleri. Yapılandırılmış araç şemaları, zaman aşımı süreleri ve sonsuza dek tekrar denemeyecek yeniden denemeler ekleyin. Kararları ve araç çıktılarını kaydedin, böylece nerede raydan çıktığını görebilirsiniz. Yaygın bir güvenlik önlemi, yükseltmedir: eğer ajan emin değilse veya hataları tekrarlıyorsa, doğaçlama yapmak yerine yardım istemelidir.
Yapay Zeka Ajanı Oluşturmak İçin Minimum Mimari Gereksinimleri Nelerdir?
En azından, modele bir hedef ve bağlam sağlayan, bir sonraki eylemi isteyen, istenirse bir aracı çalıştıran, gözlemi ekleyen ve tekrarlayan bir kontrol döngüsüne ihtiyacınız var. Ayrıca, kesin giriş/çıkış şekillerine ve "tamamlandı" kontrolüne sahip araçlara da ihtiyacınız var. Durumu temiz tutar ve adım sınırlarını uygularsanız, kendi yazdığınız bir döngü bile iyi çalışabilir.
Üretim ortamında güvenilir olması için araç çağırma mekanizmasını nasıl tasarlamalıyım?
Araçları dar kapsamlı, tip tanımlı, izinli ve doğrulanmış tutun; genel bir "her şeyi yapabilen" araçtan kaçının. Aracının girdileri rastgele ele almasını engelleyecek şekilde katı şemaları (yapılandırılmış çıktılar/fonksiyon çağrıları gibi) tercih edin. Araç katmanında izin listeleri, hız sınırları ve kullanıcı/kuruluş izin kontrolleri ekleyin. İdempotans kalıplarını kullanarak, mümkün olduğunca güvenli bir şekilde yeniden çalıştırılabilen araçlar tasarlayın.
Aracı performansını düşürmeden belleği artırmanın en iyi yolu nedir?
Belleği iki bölüm olarak ele alın: kısa vadeli çalışma durumu (son adımlar, mevcut plan, kısıtlamalar) ve uzun vadeli geri çağırma (tercihler, istikrarlı kurallar, ilgili belgeler). Kısa vadeli belleği, tam metinler yerine, çalışma özetleriyle kompakt tutun. Uzun vadeli bellek için, geri çağırma (gömülü vektörler + vektör deposu/RAG kalıpları) genellikle her şeyi bağlama "doldurup" modeli karıştırmaktan daha iyidir.
Hangi planlama modelini kullanmalıyım: kontrol listesi, ReAct veya yönetici-çalışan modeli?
Görevler tahmin edilebilir olduğunda ve test edilmesi kolay bir şey istediğinizde, kontrol listesi planlayıcısı harika bir çözümdür. ReAct tarzı döngüler, araç sonuçları bir sonraki adımınızı değiştirdiğinde öne çıkar. Yönetici-çalışan kalıpları (AutoGen tarzı rol ayrımı gibi), görevler paralelleştirilebildiğinde veya farklı rollerden (araştırmacı, kodlayıcı, kalite kontrol) fayda sağladığında yardımcı olur. Yeniden planlama ile planla-sonra-uygula yaklaşımı, inatçı kötü planlardan kaçınmak için pratik bir orta yoldur.
Gerçek eylemler gerçekleştirebilen bir ajanı nasıl güvenli hale getirebilirim?
En düşük ayrıcalık ilkesine dayalı izinleri kullanın ve riskli araçları onay veya "deneme çalıştırma" modlarının arkasına gizleyin. Bütçeler ve sınırlar ekleyin: maksimum adım sayısı, maksimum harcama ve dakika başına araç çağrı limitleri. Kayıt altına almadan önce hassas verileri gizleyin ve geliştirme ortamlarını üretim ortamlarından ayırın. Girişler belirsiz olduğunda, güvenin kanıtın yerini almasına izin vermek yerine, belirsizlik işaretleri veya açıklayıcı sorular gerektirin.
Bir yapay zekâ ajanının zaman içinde gelişmesi için onu nasıl test edip değerlendirebilirim?
Başarılı senaryolar, uç durumlar, araç hataları, belirsiz istekler ve istem enjeksiyonu girişimleri (OWASP tarzında) içeren bir senaryo paketi oluşturun. Görev başarısı, tamamlanma süresi, araç hatalarından kurtulma ve kanıt olmadan yapılan iddialar gibi sonuçları puanlayın. Araç şemalarını, istemleri, alma işlemlerini veya bellek biçimlendirmesini her değiştirdiğinizde, paketi yeniden çalıştırın. Test edemezseniz, güvenilir bir şekilde piyasaya süremezsiniz.
Gecikmeyi ve maliyetleri artırmadan bir ajanı nasıl devreye alabilirim?
Sık kullanılan bir model, harici bir durum deposuna (veritabanı/Redis) sahip durumsuz bir denetleyici, bunun arkasında araç servisleri ve güçlü günlük kaydı/izleme (genellikle OpenTelemetry) içerir. Alma önbelleklemesi, kompakt durum özetleri, yönlendirme/çıkarma için daha küçük modeller ve "derin düşünmeyi" en zor adımlarla sınırlayarak maliyetleri kontrol edin. Uzun süren görevler için kuyruklar kullanın, böylece web isteklerini açık tutmazsınız. Her zaman bir acil durdurma anahtarı ekleyin.
Referanslar
-
Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) - NIST Yapay Zeka Risk Yönetim Çerçevesi 1.0 (güvenilirlik ve şeffaflık) - nvlpubs.nist.gov
-
OpenAI - Yapılandırılmış Çıktılar - platform.openai.com
-
OpenAI - Fonksiyon çağırma kılavuzu - platform.openai.com
-
OpenAI - Hız sınırlamaları kılavuzu - platform.openai.com
-
OpenAI - API'yi çalıştırır - platform.openai.com
-
OpenAI - Asistanlar fonksiyon çağırma - platform.openai.com
-
LangChain - Ajanlar dokümantasyonu (JavaScript) - docs.langchain.com
-
LangChain - Araçlar dokümantasyonu (Python) - docs.langchain.com
-
LangChain - Bellek genel bakışı - docs.langchain.com
-
arXiv - ReAct makalesi (neden + eylem) - arxiv.org
-
arXiv - RAG makalesi - arxiv.org
-
Amazon Web Services (AWS) Geliştiriciler Kütüphanesi - Zaman aşımı, yeniden deneme ve gecikme ile geri çekilme - aws.amazon.com
-
OpenTelemetry - Gözlemlenebilirlik Temel Bilgileri - opentelemetry.io
-
Stripe - Tekrarlanabilir istekler - docs.stripe.com
-
Google Cloud - Yeniden deneme stratejisi (geri çekilme + titreme) - docs.cloud.google.com
-
OWASP - Büyük Dil Modeli Uygulamaları için En İyi 10 - owasp.org
-
OWASP - LLM01 Hızlı Enjeksiyon - genai.owasp.org
-
LlamaIndex - RAG'e Giriş - developers.llamaindex.ai
-
Microsoft - Anlamsal Çekirdek - learn.microsoft.com
-
Microsoft AutoGen - Çoklu ajan çerçevesi (belgeleme) - microsoft.github.io
-
CrewAI - Ajan Kavramları - docs.crewai.com
-
Haystack (deepset) - Arama motorları dokümantasyonu - docs.haystack.deepset.ai