- Octomind, Playwright'ta uçtan uca testleri otomatik olarak oluşturmak ve düzeltmek için AI ajanları kullanıyor.
- Başlangıçta LangChain framework'ünü kullandı, ancak zamanla LangChain'in yüksek soyutlama seviyesi sorun yaratmaya başladı.
LangChain'in sorunları
- LangChain'in soyutlamaları ilk başta faydalıydı, ancak karmaşık gereksinimler ortaya çıktıkça kodu anlamak ve bakımını yapmak zorlaştı.
- LangChain'in iç yapısını anlamak ve hata ayıklamak için çok zaman harcandı.
- Örneğin, basit bir İngilizce kelimeyi İtalyancaya çevirmek gibi bir kodda bile LangChain kullanıldığında karmaşıklık artıyor.
LangChain'in soyutlama sorunu
- LangChain, birden fazla soyutlamayı üst üste kullanarak kodun karmaşıklığını artırıyor.
- Bu soyutlamalar, kodu anlamayı ve hata ayıklamayı zorlaştırıyor.
- Örneğin, bir API'den JSON verisi alma gibi basit bir işte bile LangChain kullanıldığında karmaşıklık artıyor.
Geliştirme ekibi üzerindeki etkisi
- Karmaşık ajan mimarilerini hayata geçirmeye çalışırken LangChain sınırlayıcı bir unsur haline geldi.
- LangChain kaldırıldıktan sonra, gereksinimlere uygun şekilde özgürce kod yazmak mümkün oldu.
Yapay zeka uygulamaları geliştirmek için bir framework gerekli mi?
- LangChain ilk başta faydalıydı, ancak uzun vadede framework olmadan geliştirme yapmak daha iyi olurdu.
- Yapay zeka uygulamalarının çoğu, basit kod ve birkaç harici paketle yeterince geliştirilebilir.
- Ajan kullanım kalıpları yerleşene kadar basit bir yaklaşım öneriliyor.
Modüler yapı taşlarıyla hızlı ve sade geliştirme
- Framework'ler bir yapı dayatır, ancak yapay zeka uygulamaları için henüz yerleşmiş kullanım kalıpları yok.
- Modüler yapı taşı yaklaşımı, basit düşük seviyeli kodu tercih eder ve geliştirme hızını artırır.
- Vektör veritabanı gibi modüler bileşenler kullanılarak kod tabanı sade ve uyarlanabilir tutulur.
GN⁺ görüşü
- LangChain'in sınırları: LangChain'in yüksek soyutlama seviyesi ilk başta faydalı olsa da, karmaşık gereksinimler ortaya çıktığında engel haline gelebilir.
- Modüler yaklaşımın avantajları: Modüler yapı taşı yaklaşımı, kodun anlaşılmasını ve bakımını kolaylaştırırken geliştirme hızını artırır.
- Framework gerekliliğini yeniden düşünmek: Her yapay zeka uygulaması için framework gerekli değildir; basit kod ve harici paketlerle de yeterli çözümler üretilebilir.
- Geliştirme hızının önemi: Yapay zeka alanında hızlı deney ve prototipleme önemlidir; framework'ler bunu sınırlayabilir.
- Gelecekteki ajan kullanım kalıpları: Ajan kullanım kalıpları yerleşene kadar basit yaklaşımı korumak daha iyidir.
2 yorum
Bunun başarısız bir mimari olduğu söyleniyordu; şimdi bunu GeekNews'te de görüyoruz.
Hacker News görüşü
İlk ticari LLM ajanını geçen yıl Ekim/Kasım döneminde geliştirdi: LangChain kullanmak yerine ajanı sıfırdan doğrudan geliştirmenin daha iyi sonuçlar almaya yardımcı olduğu belirtildi.
LLM framework'lerinin karmaşıklığı: LangChain gibi LLM framework'leri, Java veya Python'daki türden bir karmaşıklığı içeri taşıma eğiliminde.
LangChain ile ChatGPT karşılaştırması: LangChain, ChatGPT ortaya çıkmadan önce geliştirildi; ancak ChatGPT daha iyi bir konuşma modeli sununca LangChain'e duyulan ihtiyaç azaldı.
LangChain'in değeri tartışması: LangChain, geliştirici ile LLM arasında konumlanmaya çalıştı, ancak pratikte kayda değer bir değer katmayıp gereksiz soyutlamalar ekledi.
İyi soyutlama ve kötü soyutlama: İyi soyutlama uygulama mantığını ele alır; kötü soyutlama ise yapılması gereken işi soyutlayarak içgörünün kaybolmasına yol açar.
Ajan kullanımının sorunları: İçerik üretiminde ajan kullanmak yerine sıralı prompt'lar kullanmanın daha kolay ve daha etkili olduğu ifade edildi.
Ragged framework'ünün tanıtımı: LLM'lerle kolay bağlanabilen hafif bir bağlayıcı olan Ragged tanıtıldı. ORM benzeri birleşik bir arayüz sunduğu belirtildi.
LangChain'in sınırlı faydası: LangChain'in yaklaşımı ilgi çekici olsa da, pratikte LLM runtime kütüphanelerini doğrudan kullanmak daha verimli.
Hızla değişen ajan framework'leri: Kullanılan ajan framework'leri çok hızlı değişiyor ve küçük sürüm değişiklikleri bile mevcut kurulumu bozabiliyor.
LangChain'in karmaşıklık sorunu: LangChain, basit kullanım senaryoları için fazla karmaşık; karmaşık kullanım senaryoları içinse uyarlaması zor. Çoğu durumda doğrudan kod yazmak daha iyi bir seçenek.