Agent nedir?
- Agent tanımı farklı şekillerde yapılabilir, ancak ikiye ayrılabilir:
- İş akışları (Workflows): LLM ve araçlar önceden tanımlanmış kod yolları üzerinden koordine edilir
- Agent'lar (Agents): LLM, görev yürütmeyi ve araç kullanımını dinamik olarak kontrol eder
- Anthropic, bu ikisini de agentic systems olarak sınıflandırıyor ve esneklik ile özerklik açısından aralarında önemli bir fark koyuyor
Agent ne zaman kullanılmalı?
- Basit bir çözüm mümkünse karmaşıklığı en aza indirmek önemlidir
- İş akışları: Öngörülebilir görevleri işlerken faydalıdır; tutarlılık ve istikrar sağlar
- Agent'lar: Ölçek büyüdüğünde esneklik ve model merkezli karar verme gerektiğinde uygundur
- Çoğu durumda yalnızca LLM çağrılarını optimize etmek veya bağlam içi örneklerden yararlanmak yeterlidir
Framework kullanım rehberi
- Öne çıkan framework'ler:
- Framework'lerin avantajları:
- LLM çağrılarını, araç tanımlarını ve çağrı zincirlerini basitleştirir
- Dezavantajları:
- Ek karmaşıklık getirebilir veya hata ayıklamayı zorlaştırabilir
- Öneri: Doğrudan LLM API ile başlayın; framework kullansanız bile alttaki kodu anlamalısınız
Agent sistemi bileşenleri
Geliştirilmiş LLM (Augmented LLM)
- Özellikler: Arama, araç kullanımı ve bellek işlevleri eklenmiştir
- Uygulama yöntemi:
- Model Context Protocol kullanılarak üçüncü taraf araçlarla entegrasyon sağlanabilir
- Basit ve iyi belgelenmiş bir arayüz sunar
Temel iş akışı kalıpları
- Prompt chaining
- Görevi sabit alt adımlara bölüp sıralı şekilde işler
- Kullanım örnekleri:
- Pazarlama metni üretip ardından çevirme
- Belge taslağı yazıp ardından gözden geçirme
- Routing
- Girdi verisini sınıflandırıp uygun göreve yönlendirir
- Kullanım örnekleri:
- Müşteri destek taleplerini sınıflandırma (genel soru, iade talebi, teknik destek)
- Basit soruları küçük bir modele, karmaşık soruları daha güçlü bir modele yönlendirme
- Parallelization
- Görevleri ayırır veya aynı görevi birden fazla kez çalıştırır
- Kullanım örnekleri:
- Kod güvenlik açığı incelemesinde birden çok prompt kullanma
- Kullanıcı girdisini ayırarak filtreleme ve yanıtlama
- Orchestrator-Workers
- Merkezi bir LLM, görevi parçalara ayırır, worker LLM'lere dağıtır ve sonuçları birleştirir
- Kullanım örnekleri:
- Karmaşık kodlama işlerinde dosya düzenleme
- Çoklu bilgi arama görevleri
- Evaluator-Optimizer
- LLM yanıtını değerlendirir, geri bildirim verir ve yinelemeli olarak iyileştirir
- Kullanım örnekleri:
- Edebi çeviride çeviri kalitesini artırma
- Çoklu arama ve analiz görevleri
Agent'lar
- Agent'lar görevi planlar ve bağımsız olarak yürütür, gerektiğinde insanlarla etkileşime girer
- Özellikler:
- Araç kullanımıyla ortamdan "gerçeği" alarak ilerleme durumunu değerlendirir
- Görev sırasında kontrol ve durdurma koşulları tanımlanabilir
- Kullanım örnekleri:
- Karmaşık kodlama agent'ları
- Claude'un bilgisayarda görev yürüttüğü uygulamalar
Kalıpları birleştirme ve özelleştirme
- Yukarıdaki kalıplar belirli durumlara göre ayarlanıp birleştirilebilir
- Karmaşıklık yalnızca sonuçları iyileştirdiği kanıtlandığında eklenmelidir
Özet
- LLM alanındaki başarı, en karmaşık sistemi kurmakta değil, ihtiyaca uygun doğru sistemi kurmakta yatar
- Basit prompt'larla başlayıp değerlendirme yoluyla optimize etmeli, çok adımlı agent sistemlerini yalnızca basit çözümler yetersiz kaldığında eklemeyi düşünmelisiniz
- Agent uygularken temel ilkeler
- Basitliği koruyun: Agent tasarımını sade tutun
- Şeffaflığı önceleyin: Agent'ın planlama adımlarını açıkça görünür kılın
- Agent-Computer Interface (ACI) kalitesini artırın: Araç dokümantasyonunu ve testleri titizlikle yapın
- Framework kullanımı ve uygulama stratejisi
- Framework'ler ilk uygulama için yararlı olsa da, soyutlama katmanlarını azaltarak temel bileşenlerle sistemi kurmayı da değerlendirmek gerekir
- Bu ilkeleri izlerseniz güçlü, güvenilir ve bakımı yapılabilir agent'lar oluşturabilirsiniz
Müşteri örnekleri: pratikte agent kullanımı
- A. Müşteri desteği
- Doğal konuşma akışı ve harici veri entegrasyonu üzerinden etkili çözümler sunar
- Avantajlar:
- Başarılı çözüm oranıyla ölçülebilir
- Kullanım bazlı fiyatlandırma modeli uygulanabilir
- B. Kodlama agent'ları
- Kod çözümleri otomatik testlerle doğrulanabilir
- Avantajlar:
- Test sonuçları geri bildirim olarak kullanılabilir
- Problem alanı nettir ve yapılandırılmıştır
- C. Araç tasarımı ve optimizasyonu
- LLM'in araçları kullanma biçimi dikkate alınarak tasarlanmalıdır
- Önerilen yöntemler:
- Sezgisel ve kısa parametre adları kullanın
- Test edin ve yinelemeli olarak iyileştirin
- Araç tanımına örnekler ve uç durumları ekleyin
2 yorum
Sanki low-code'a yabancılaştırma uygulanmış gibi görünüyor ama veri şeması ve sürüm yönetimi olmadan değişikliklerin takibi yapılamaz.
Yüzeysel deneyimle bakınca, görünüşte fonksiyonel programlamadaki fonksiyonları birleştirme hissi veriyor ama fonksiyonun I/O’sunun (parametreler, dönüş tipi) ne olacağının bilinmediği kaotik bir programlama gibi geldi bana..
Yaparken aklıma durmadan şu düşünce geldi: Bunu gerçekten yapmak zorunda mıyız..? Bu kadarına kadar desteklemek gerekiyor mu..?
Şimdilik agentic sistemlerin kesinlikle gerekli olduğu alanların ne olduğu bana hâlâ net biçimde hissettirmiyor