- LLM'in araç çağrısı sonuçlarının tamamını işlemesi yavaş, maliyetli ve ölçeklenmeye elverişsizdir
- Bunun yerine, çıktı şeması tabanlı yapılandırılmış verileri kodla işlemek üzere LLM'in orkestrasyon yapması öneriliyor
- Bu yaklaşım, kod üzerinden fonksiyon zincirleme ve değişken tabanlı bellek yönetimiyle büyük ölçekli veri işlemeye uygundur
- Kod yürütme tabanlı veri işleme yaklaşımı, LLM veriyi doğrudan yeniden üretmediği için doğruluk ve ölçeklenebilirlik açısından güçlüdür
- Güvenli bir AI runtime ortamı kurmak yeni bir zorluk olarak öne çıkıyor; sürdürülebilir ve durum koruyabilen bir yürütme ortamına ihtiyaç var
LLM function calls don't scale; code orchestration is simpler, more effective.
Araç çağrısı sonuçlarını LLM'e geri vermeye dayanan mevcut yaklaşımın sınırları
- MCP(Machine Context Protocol) araçları kullanılırken genellikle araç çıktıları mesaj olarak LLM'e iletilir ve bir sonraki adımın buna göre belirlenmesi istenir
- Gerçek kullanım senaryolarında Linear ve Intercom'un MCP sunucuları JSON biçiminde büyük yanıtlar döndürür
- JSON API'lere benzese de tanımlı bir çıktı şeması olmadığından, LLM'in tüm metni parse etme yükü ortaya çıkar
- Örneğin Linear'dan issue listesi sorgusunun sonucu 50 öğede 70.000 karakter, yaklaşık 25.000 token ile oldukça büyüktür
- Birçok
id alanı anlam taşımamasına rağmen token tüketir; LLM'in bunları olduğu gibi yeniden üretmesi maliyeti artırır ve hata riskini büyütür
Veri işleme ile orkestrasyonun ayrılması gerekiyor
- Mevcut yaklaşım, veri işleme ile orkestrasyonu aynı sohbet oturumu içinde karıştırıyor
- Bazıları bunun için "ajan" adıyla başka thread'ler oluştursa da, JSON zaten yapılandırılmış olduğunda bu verimsiz kalır
- Daha iyi yöntem, yapılandırılmış veriyi doğrudan kodla işlemektir
- Örneğin issue sıralamada LLM'in çıktı üretmesi yerine kodla
sort çalıştırılıp yalnızca sonuç dizisi döndürülebilir
Kod yürütme tabanlı veri işleme
- Kod çalıştırma yoluyla AI hesaplama, çeşitli AI yorumlayıcılarında zaten kullanılıyor
- Bu yaklaşım, LLM'in veriyi doğrudan üretmek yerine yalnızca araçların nasıl kullanılacağına karar vermesini sağlayan daha yalın bir yapı sunar
Temel kavramlar
- Değişkenleri bellek olarak kullanma: değer atama = depolama, çıktı = okuma, fonksiyon çağrılarında argüman olarak aktarma
- Fonksiyon zincirleme desteği: birden çok fonksiyon çağrısını paralel/sıralı olarak birleştirme, bağımlılıkları ise kod içindeki doğal akışla ifade etme
- Ölçeklenebilir büyük veri işleme: NumPy, pandas gibi araçlarla birleştiğinde binlerce~on binlerce kaydı kolayca işleyebilme
- Başka LLM çağrıları da mümkün: LLM'in yazdığı kod içinde başka bir LLM çağrılarak yapılandırılmamış veri işleme de yapılabilir
MCP hazır mı?
- MCP spesifikasyonu zaten girdi şemasını tanımlıyor; yakın zamanda çıktı şeması PR'ı da sunuldu
- Çıktı şeması yaygınlaşırsa aşağıdaki kullanım senaryoları mümkün hale gelebilir:
- issue durum panosu
- haftalık tamamlanan ticket raporu
- takılı kalan ticket'ları yapay zekanın izleyip push etmesi
Kod yürütme ortamının zorlukları
- Güvenlik temel mesele: AI/kullanıcı tarafından üretilen kod çalıştırıldığı için API anahtarları ve veri sızıntısını önleyecek tasarım gerekiyor
- Lutra örneğinde yürütme ortamı sandbox yaklaşımıyla kuruluyor ve modele yalnızca API çağrı dokümantasyonu veriliyor
- Durum koruyan yürütme ortamları (Jupyter vb.) maliyetlidir; uzun oturumlar için durumsuz (stateless) + kalıcı (persistent) özelliklerine ihtiyaç vardır
- Bu, yeni bir AI runtime kategorisi oluşturuyor ve tasarımı hâlâ aktif biçimde şekilleniyor
Sonuç
- Araç çağrısı sonuçlarını LLM'e verip orada işlettiren mevcut yaklaşımın maliyet ve doğruluk açısından sınırları var
- Kod tabanlı orkestrasyon, daha yalın ama aynı zamanda ölçeklenebilir ve doğru işleme imkânı sunuyor
- AI kod yürütme ortamları, güvenlik, kalıcılık ve ölçeklenebilirlik sunan yeni nesil runtime'lar olarak öne çıkıyor
1 yorum
Hacker News görüşleri