> # TL;DR
>
> - LLM/AI ajanı geliştirmede
> - temel ilke her zaman sadelik olmalı, karmaşıklık ise yalnızca gerektiğinde eklenmeli
> - "framework'leri derinlemesine anlayarak benimseyin", "workflow·agent pattern'lerini (chaining, routing, parallelization, evaluator-optimizer vb.) gerçek ortam ve amaca uygun şekilde birleştirip test edin; araç (API) tasarımı, dokümantasyon ve testleri titizlikle yapın."
1. Başarılı LLM ajanlarının tasarım ilkeleri
- Sadelik üzerine odaklanın: Başarılı uygulamalar, karmaşık framework'lere bel bağlamaktan ziyade, basit ve birleştirilebilir (compoundable) pattern'leri kullanma eğilimindedir.
- Karmaşıklığı yalnızca gerektiğinde ekleyin: Temel yapı olabildiğince sade tasarlanmalı; karmaşıklık ise sadece gerçekten ihtiyaç duyulduğunda eklenmelidir.
- (Orijinal ifade: "En başarılı uygulamalar özel kütüphanelere ya da karmaşık framework'lere dayanmıyordu... basit ama modüler şekilde birleştirilebilen pattern'ler üzerine kuruluydu.")
2. Workflow ile agent kavramlarını ayırma
- Workflow'lar: LLM ve araçlar önceden tanımlanmış rota (kod yolu) boyunca çalışır.
- Agent'lar: LLM, görevleri ve araç kullanımını dinamik olarak kendisi yönetir (karar verici LLM'dir).
- (Orijinal ifade: "Workflow'lar, LLM ve araçların önceden tanımlı kod yollarına göre orkestre edilmesidir... agent'lar ise LLM'in kendi sürecini ve araç kullanım biçimini dinamik olarak yönlendirmesidir")
3. Agent kullanımına karar verme ölçütleri
- Basit yöntemle başlayın → gerekirse kademeli olarak karmaşıklaştırın: Başta basit LLM çağrıları, arama vb. ile başlayın; yetersiz kalırsa aşamalı olarak Workflows/Agents yapısına geçin.
- Öngörülebilirlik/tutarlılık önemliyse → workflow kullanımı daha uygundur
- Büyük ölçekli esneklik ve model odaklı karar alma gerekiyorsa → agent daha uygundur
4. Framework benimseme ilkeleri
- LangGraph, Bedrock, Rivet, Vellum gibi çeşitli araçlar/framework'ler olsa da,
- başlangıç için doğrudan LLM API'lerini kullanmanız ve framework'ü yalnızca ihtiyaç olduğunda eklemeniz önerilir.
- Framework kullanacaksanız, iç işleyişine dair derin bir anlayış şarttır (soyutlama, sorun çözmeyi zorlaştırabilir).
- (Orijinal ifade: "Geliştiricilere önce LLM API'lerini doğrudan kullanarak başlamalarını öneriyoruz")
5. Sahadaki pattern'lere göre workflow'lar ve örnekler
- Genişletilmiş LLM (Augmented LLM): Arama, araç bağlantısı, bellek gibi yerleşik genişletmeler eklenir (somut arayüz tasarımı ve dokümantasyon önemlidir).
- Prompt Chaining: Tek bir görevi birden fazla LLM çağrısına (aşamaya) bölerek netlik ve doğruluk sağlama.
- Örnek: pazarlama metni üretimi → çeviri, belge taslağı → inceleme → yazım
- Routing: Girdiyi sınıflandırıp buna uygun işleme ya da araca yönlendirme
- Örnek: müşteri taleplerini türüne göre yönlendirme, yalnızca zor soruları yüksek performanslı modele aktarma
- Parallelization:
- Sectioning: işi birden fazla alt göreve bölüp aynı anda işleme
- Voting: aynı işi birden çok kez deneyip en iyi sonucu seçme
- Örnek: kod zafiyeti incelemesi, LLM değerlendirmesinin otomasyonu
- Orchestrator-Workers: Ana agent alt görevleri dağıtır ve sonuçları birleştirir.
- Örnek: karmaşık kodlama işlerinde yalnızca gerekli parçaları gerçek zamanlı dağıtma, birden fazla veriyi toplama/birleştirme
- Evaluator-Optimizer: Bir LLM yanıtı üretir, başka bir LLM bu yanıtı değerlendirip geri bildirim vererek yinelemeli biçimde iyileştirir
- Örnek: çeviri sonuçlarını tekrar tekrar iyileştirme, karmaşık bilgi toplama
6. Gerçek sektör uygulama örnekleri
- Müşteri desteği: chatbot + araç entegrasyonu, müşteri verisi/sipariş/iade işlemlerinin otomasyonu; başarı ölçütü "sorunun çözülmesi" olarak nettir. Kullanım bazlı ücretlendirme gibi kurumsal referanslar da vardır.
- Kodlama agent'ları: otomatik test geri bildirimiyle yinelemeli iyileştirme; SWE-bench vb. üzerinde doğrulanmıştır. Problem alanı ve çıktı kalitesi açık biçimde ölçülebilir. Ancak son incelemede her zaman insan müdahalesi gerekir.
7. Araç prompt engineering'i (Ek 2) ipuçları
- LLM'in rahat kullanabileceği bir format ve yeterli token ayrılması önerilir
- Araç açıklaması (usage, örnekler, edge case'ler, sınır tanımları vb.) net olmalı
- Gerçek model kullanım biçimini test edin → iyileştirin (workbench vb. kullanarak)
- Küçük hataları bile önleyebilecek poka-yoke tarzı tasarım yapın
- (Orijinal ifade: "İyi bir araç tanımı; kullanım örnekleri, edge case'ler, girdi biçimi gereksinimleri ve diğer araçlarla açık sınırlar içermelidir.")
8. Temel ilkeler
- Sadeliği koruyun (Keep it simple)
- Agent planlama sürecinin şeffaflığı şarttır
- Araçların ve arayüzlerin net dokümantasyonu ile testi
- Framework'ler başlangıç hızında faydalıdır, ancak soyutlama en aza indirilmeli ve doğrudan kontrol tercih edilmelidir
Henüz yorum yok.