21 puan yazan GN⁺ 2024-12-21 | 2 yorum | WhatsApp'ta paylaş

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
    1. Basitliği koruyun: Agent tasarımını sade tutun
    2. Şeffaflığı önceleyin: Agent'ın planlama adımlarını açıkça görünür kılın
    3. 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

 
savvykang 2024-12-23

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.

 
curiousotter 2024-12-23

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