- Published on
AI Ajan Geliştirmede Basitlik Karmaşıklığı Yener
Akıllı Ajanların Tanımı
Akıllı ajan kavramı, farklı bakış açılarından ele alınmaktadır. Bazıları, bu ajanları bağımsız olarak düşünebilen, kendi kararlarını alabilen ve karmaşık görevleri tamamlamak için araçları kullanabilen “çok yönlü yardımcılar” olarak görmektedir. Diğerleri ise, önceden belirlenmiş iş akışlarını takip eden “düzenli çalışanlar” olarak tanımlamaktadır. Anthropic, bu iki kavramı da akıllı sistemler olarak adlandırmakta ve iş akışları ile akıllı ajanlar arasında bir ayrım yapmaktadır:
- İş Akışları: Büyük dil modellerini (LLM) ve araçları önceden tanımlanmış kod yolları aracılığıyla düzenleyen sistemlerdir.
- Akıllı Ajanlar: LLM tarafından dinamik olarak yönlendirilen, kendi süreçlerini ve araç kullanımını yönetebilen ve görevleri tamamlama biçimini özerk olarak kontrol edebilen sistemlerdir.
Akıllı Ajanlar Ne Zaman Kullanılmalı?
Anthropic, AI uygulamaları geliştirirken "mümkün olduğunca basit tut" ilkesine uyulmasını önermektedir. Her senaryo karmaşık akıllı sistemler gerektirmez. Akıllı sistemler güçlü olsa da, yanıt sürelerini yavaşlatabilir ve maliyetleri artırabilir. Geliştiriciler, işlevsellik ve verimlilik arasında bir denge kurmalıdır.
- İş Akışları: Öngörülebilirlik ve tutarlılık gerektiren açık görevler için uygundur.
- Akıllı Ajanlar: Esneklik ve model odaklı karar alma gerektiren büyük ölçekli senaryolar için daha uygundur.
Birçok uygulama için, iyi hazırlanmış istemlerle birlikte arama ve bağlam örnekleri kullanılarak doğrudan büyük modellere soru sormak genellikle yeterlidir.
Çerçevelerin Kullanımı
Günümüzde, geliştiricilerin AI akıllı ajanları oluşturmasına yardımcı olan çeşitli çerçeveler mevcuttur, örneğin:
- LangChain'in LangGraph'ı
- Amazon Bedrock'un AI Ajan çerçevesi
- Sürükle-bırak büyük model iş akışı oluşturma aracı Rivet
- Karmaşık iş akışlarını oluşturmak ve test etmek için GUI aracı Vellum
Bu çerçeveler geliştirme sürecini basitleştirse de, kodun soyutlama katmanını artırır, temel mantığı şeffaf hale getirir, hata ayıklamayı zorlaştırır ve basit senaryolarda aşırı karmaşık çözümlerin ortaya çıkmasına neden olabilir.
Anthropic, geliştiricilerin doğrudan büyük modellerin API'lerini kullanarak başlamalarını önermektedir. Birçok model, yalnızca birkaç satır kodla uygulanabilir. Çerçeve kullanmayı seçerseniz, temel prensiplerini anladığınızdan emin olun. Çerçevelerin temel mekanizmalarını yeterince anlamamak, geliştirme sorunlarına yol açan temel nedenlerden biridir.
Anthropic'in yemek kitabı (cookbook), somut örnekler sunmaktadır.
Yapı Taşları, İş Akışları ve Akıllı Ajanlar
Temel Yapı Taşı: Gelişmiş LLM
Akıllı sistemlerin temel yapı taşı, arama ve hafıza gibi özelliklere sahip gelişmiş bir LLM'dir. Anthropic'in modelleri, arama sorguları oluşturma, araç seçme ve saklanacak bilgileri belirleme gibi bu yetenekleri aktif olarak kullanabilir.
İşlevselliği genişletirken şunlara odaklanılmalıdır:
- Belirli uygulama senaryolarına göre işlevleri özelleştirme
- Model için basit ve iyi belgelenmiş arayüzler sağlama
Anthropic'in son yayınladığı model bağlam protokolü, AI modellerinin üçüncü taraf araç ekosistemleriyle entegrasyonunu basitleştirmektedir.
İş Akışları: İstek Zincirleri
İstek zincirleri, karmaşık görevleri birden çok adıma böler. Her adımda büyük model bir kez çağrılır ve sonraki adımlar önceki adımın sonuçlarına göre işlenir. Geliştiriciler, sürecin beklendiği gibi ilerlediğinden emin olmak için ara adımlara kontrol noktaları ekleyebilir.
İstek zincirleri, karmaşık görevlerin açıkça bir dizi sabit alt göreve ayrıldığı senaryolar için uygundur. Her model basit bir görevi tamamlamaya odaklanır. Toplam yanıt süresi biraz daha uzun olabilir, ancak doğruluk önemli ölçüde artar.
Tipik Uygulama Örnekleri:
- Önce bir pazarlama metni oluşturup, ardından başka dillere çevirme.
- Önce bir belge taslağı yazıp uyumluluk kontrolü yapma, ardından taslağa dayanarak tam bir belge yazma.
İş Akışları: Akıllı Yönlendirme
Yönlendirme teknolojisi, giriş görevinin türünü belirler ve ilgili modüle atar. Bu tasarım, her modülün belirli bir görev için optimize edilmesini sağlar ve farklı görev türleri arasındaki karışıklığı önler. Akıllı yönlendirme, görevlerin belirgin sınıflandırma özelliklerine sahip olduğu senaryolar için uygundur. AI sistemi, büyük dil modelleri veya geleneksel algoritmalar aracılığıyla görev türlerini doğru bir şekilde belirleyebilir ve yönlendirebilir.
Tipik Uygulama Örnekleri:
- Müşteri hizmetleri sistemlerinde, genel soruları, geri ödeme taleplerini ve teknik destek sorunlarını ilgili süreçlere yönlendirme.
- Basit ve sık sorulan soruları daha küçük modellere, zor ve nadir soruları ise maliyeti ve hızı optimize etmek için daha güçlü modellere atama.
İş Akışları: Paralel
Büyük dil modelleri görevleri aynı anda işleyebilir ve çıktıları programlı bir şekilde birleştirebilir. Paralel iş akışlarının özellikleri:
- Görev Bölümleme: Görevleri paralel olarak çalıştırılabilen alt görevlere bölme ve sonuçları entegre etme.
- Oylama Mekanizması: Aynı görevi birden çok kez çalıştırıp, en iyi sonucu seçme veya birden çok cevabı birleştirme.
Alt görevler hızı artırmak için paralel olarak yürütülebiliyorsa veya daha yüksek güvenilirlik için birden çok açıdan deneme yapılması gerekiyorsa, paralel yöntemler çok etkilidir. Karmaşık görevler için, her çağrının belirli bir yönü işlemeye odaklanması daha iyi sonuçlar verir.
Tipik Uygulama Örnekleri:
- Görev Bölümleme:
- Güvenlik koruması: Bir model kullanıcı isteklerini işlerken, diğeri içerik denetimi yapar.
- Performans değerlendirmesi: Farklı modeller sistem performans göstergelerini değerlendirir.
- Oylama Mekanizması:
- Kod güvenlik denetimi: Birden çok tespit modeli birlikte kod açıklarını bulur.
- İçerik denetimi: Birden çok model içeriğin güvenliğini farklı açılardan değerlendirir.
İş Akışları: Lider - Uygulayıcı
Merkezi büyük dil modeli, görevleri dinamik olarak alt görevlere ayırır, uygulayıcı modellere atar ve sonuçları toplar.
Bu iş akışı, belirli adımların önceden belirlenmesinin zor olduğu karmaşık görevler için uygundur. Görev bölümlemesi sabit değildir, AI sistemi tarafından duruma göre dinamik olarak belirlenir.
Tipik Uygulama Örnekleri:
- Birden çok dosyada karmaşık değişiklikler yapılması gereken programlama uygulamaları.
- Birden çok kaynaktan ilgili bilgilerin toplanması ve analiz edilmesi gereken arama görevleri.
İş Akışları: Değerlendirme - Optimizasyon
Bir LLM çağrısı yanıt üretir, diğeri değerlendirme ve geri bildirim sağlar ve bir döngü oluşturur.
Açık değerlendirme kriterleri olduğunda ve yinelemeli iyileştirme önemli bir değer sağladığında, bu iş akışı özellikle etkilidir. LLM, insan yazarların tekrar tekrar düzenleme sürecine benzer şekilde geri bildirim sağlayabilir.
Tipik Uygulama Örnekleri:
- Edebi çeviri: Değerlendirme modeli, çeviride gözden kaçan dil farklılıklarını bulur ve değişiklik önerileri sunar.
- Karmaşık arama: Değerlendirme modeli, daha derinlemesine arama yapılması gerekip gerekmediğine karar verir.
Akıllı Ajanlar
Akıllı ajanlar, LLM'lerin karmaşık girdileri anlama, akıl yürütme, planlama, araç kullanma ve hata kurtarma gibi temel yeteneklerinin olgunlaşmasıyla ortaya çıkmıştır.
Akıllı ajanların çalışması, insan kullanıcıların komutları veya etkileşimli tartışmalarıyla başlar. Görev netleştiğinde, akıllı ajanlar bağımsız olarak planlama ve işlem yapabilir, insanlardan daha fazla bilgi isteyebilir veya insanlara karar verdirebilir.
Uygulama sürecindeki her adımda, ortamdan "gerçek durum" elde etmek hayati önem taşır. Akıllı ajanlar, kontrol noktalarında veya engellerle karşılaştığında insan geri bildirimi almak için duraklayabilir. Görevler genellikle tamamlandıktan sonra sona erer, ancak genellikle durma koşulları içerir.
Akıllı ajanlar karmaşık görevleri işleyebilir, ancak uygulamaları genellikle basittir. Genellikle, ortam geri bildirimine göre araçları kullanan büyük bir dil modelinden ibarettir. Bu nedenle, araç setinin ve belgelerinin açık ve dikkatli bir şekilde tasarlanması çok önemlidir.
Akıllı ajanlar, gereken adım sayısının tahmin edilmesinin zor olduğu ve sabit bir yolun kodlanamayacağı açık uçlu sorunlar için uygundur. Akıllı ajanların özerkliği, onları güvenilir ortamlarda görevleri genişletmek için ideal bir seçenek yapar. Akıllı ajanların özerkliği, daha yüksek maliyet ve hata birikimi riski anlamına gelir. Kapsamlı testlerin sandbox ortamlarında yapılması ve uygun koruma önlemlerinin alınması önerilir.
Akıllı Ajan Uygulama Örnekleri:
- Görev tanımlarına göre birden çok dosyayı düzenlemeyi içeren SWE-bench görevlerini çözmek için kullanılan bir kod akıllı ajanı.
- Claude'un bilgisayarı görevleri tamamlamak için kullandığı Anthropic'in "Bilgisayar kullanımı" özelliği.
Kombinasyon ve Özelleştirme
Bu yapı taşları kuralcı değildir, geliştiriciler kullanım durumlarına göre şekillendirebilir ve birleştirebilir. Başarının anahtarı, performansı ölçmek ve yinelemeli olarak uygulamaktır. Karmaşıklık, yalnızca daha basit çözümler mümkün olmadığında düşünülmelidir. LLM alanında başarılı olmak, en karmaşık sistemi inşa etmek değil, ihtiyaçlara uygun bir sistem inşa etmektir. Basit istemlerle başlayın, kapsamlı değerlendirmelerle optimize edin ve yalnızca daha basit çözümler mümkün olmadığında çok adımlı akıllı ajan sistemleri ekleyin.
Akıllı ajanları dağıtırken aşağıdaki ilkelere uyulmalıdır:
- Akıllı ajan tasarımını basit tutun.
- Akıllı ajanların şeffaflığını önceliklendirin ve planlanan her adımı açıkça gösterin.
- Kapsamlı araç belgeleri ve testlerle akıllı ajan-bilgisayar arayüzünü (ACI) dikkatlice oluşturun.