Stacklok’tan Craig McLuckie, kodlama ajanlarının geliştiricinin cihazına ve etkileşimli sürecine bağlı kalmaması gerektiğini savunuyor ve açık kaynaklı Mecatl projesini, ajan döngüsünü istemcilerden, yürütme ortamlarından, araçlardan ve destek hizmetlerinden ayıran dağıtık bir mimari modeli olarak sunuyor.
Kodlama ajanlarının değeri artık soruları yanıtlayan bir sohbet arayüzüyle sınırlı değil. Bu ajanların pratikte benimsenmesi; yetenekli araçlara, ortak bir depoya ve dosya sistemine, alt ajanlara ve sistemin önceki işlerden öğrendiklerini koruyan becerilere sahip olmalarıyla bağlantılı. Stacklok’tan Craig McLuckie’ye göre bir sonraki adım, bu yetenekleri geliştiricinin bilgisayarından, uzun süre çalışan hizmetlere ve terminali hiç açmayabilecek kişiler tarafından kullanılan arayüzlere taşımak.
Sorun şu ki mevcut ajan çalışma çerçevelerinin çoğu masaüstü modeli etrafında tasarlandı: aynı anda kullanıcı arayüzünü, ajan döngüsünü, yalıtımı, kimlik bilgileri deposunu, araçların barındırılmasını ve oturum veritabanını bir araya getiren tek bir kullanıcı, tek bir cihaz, yerel bir dosya sistemi ve etkileşimli bir süreç. Bu model bireysel geliştirici için uygun; ancak kurumun yüzlerce oturum çalıştırması, araçlara hassas politikalar uygulaması, bir düğüm arızasından sonra oturumu sürdürmesi veya farklı cihazlar arasında geçiş yapması gerektiğinde daha az uygun hâle geliyor.
Ajan döngüsünü sistemin geri kalanından ayırmak
McLuckie, bir masaüstü çerçevesini yalnızca bir konteynerin içine yerleştirmek yerine, en başından dağıtık bir uygulama olarak inşa edilmesini öneriyor ve bunu «bulut-yerel bir çalışma kuşağı» olarak adlandırıyor. Konteyner, sürecin çalıştığı yeri değiştirebilir; ancak bileşenleri arasındaki karşılıklı bağımlılığı ortadan kaldırmaz. Stacklok’ta bu amaçla açık kaynaklı Mecatl çerçevesi kullanıma sunuldu.
Mecatl’da çekirdek; çıkarım, araç çağrılarının dağıtımı, yetkiler, kancalar ve olayların yayımlanması dâhil olmak üzere ajan döngüsünü yönetiyor. Diğer unsurlar ise çekirdeğe açık arayüzler üzerinden bağlanıyor:
- megatui adlı bir TUI, gRPC ve HTTP/SSE arayüzleri ve TypeScript SDK’sı dâhil uç istemciler ve API’ler.
- Ajanın görevlerini yürüttüğü yürütme ortamları, çalışma alanları ve komut çalıştırıcıları.
- Dâhili araçları, akışkan HTTP üzerinden MCP hizmetlerini, becerileri ve uygulamaya özgü entegrasyonları içeren araç ekosistemi.
- Model sağlayıcılarını, oturum durumunu, olay günlüğünü, kimliği ve koordinasyonu yöneten destek hizmetleri.
Pratikte ne değişiyor?
Bu ayrım, ajan döngüsünü diğer herhangi bir hizmet gibi sürümlenebilen, dağıtılabilen ve izlenebilen bir bileşene dönüştürüyor. Döngünün kendisini değiştirmeden terminalde, hizmet olarak veya Kubernetes üzerinde çalıştırmak mümkün. mecak8s kılavuzunda çalışanlar, yeni bir sürüm yayımlandığında kalıcı oturumlar korunarak çalışma sırasında değiştirilebiliyor.
Oturum durumu ve olay günlüğü, tek yazarlı bir koordinasyon modelinde kalıcı depolama alanında saklanıyor. Çalışan arızalanırsa yedek çalışan, kaydedilmiş son tur sınırından devam edebiliyor. Ancak bu, dağıtık bir işlemle eşdeğer değil: arıza anında devam eden süreç sürdürülemiyor ve son başarılı kayıttan sonra yapılan işler kaybolabiliyor. Bu nedenle proje, bu yeteneği tam bir dağıtık işlem garantisi olarak değil, tur düzeyinde süreklilik olarak tanımlıyor.
Açık katalog ayrıca izin verilen araçların, becerilerin ve entegrasyonların; yetki sınırları, denetim ve yürütme ortamıyla birlikte kısıtlanmasını sağlıyor. İstemci dosya sistemine, kimlik bilgilerine veya oturum durumuna sahip olmadığından, aynı döngü bir terminale, uzak bir hizmete, gömülü bir uygulamaya veya Kubernetes dağıtımına hizmet verebilir; hatta bir web arayüzünü, Slack entegrasyonunu ve ortak çalışma düzenleyicisini aynı oturuma bağlayabilir.
Henüz çözüme kavuşmamış sorular
Kaynak, Mecatl’ın hâlâ erken bir aşamada olduğunu ve «bulut-yerel kuşağın» tamamlanmış bir belirtimden çok mimari bir yönelim olduğunu vurguluyor. Öne çıkan konulardan biri, harici bir sistemi çağıran tarafın kimliğinin belirlenmesi: kullanıcı mı, ajan mı, oturum mu, yoksa çok düzeyli bir alt ajan mı? Proje, kendine özgü bir SPIFFE güven alanı ve tam yetkilendirme zincirinin JWT içinde kodlanmasını öneriyor; böylece alıcı sistemler kararı kimlik zincirine dayanarak verebiliyor.
Proje ayrıca MCP’nin ötesine geçen araç yollarını da inceliyor. Böylece PDF ayrıştırıcısı gibi bir araç, tüm girdilerini ve çıktılarını modelin bağlam penceresinden geçirmek yerine doğrudan dosya sistemi üzerinde çalışabiliyor. Bunun yanı sıra «bağlam kanıtı» fikri de ortaya çıkıyor: doldurulmuş bağlamın yayımlanması, imzalanması, kökeninin belirtilmesi, dağıtılması ve yazılım tedarik zincirindeki herhangi bir iz gibi politikalara tabi tutulması.
Editoryal değerlendirme: Yaklaşımın önemi yeni bir arayüz sunmasında değil, ajanı uzun ömürlü kişisel bir süreç yerine yönetilebilir bir hizmet olarak yeniden tanımlamasında yatıyor. Bununla birlikte kaynak, Mecatl’da şu anda çalışanlarla hâlâ tasarım aşamasında olanları açıkça birbirinden ayırıyor. Mevcut süreklilik de devam eden işlerin kaybolmasını önlemiyor; kimlik modeli veya araçlar arasında doğrudan veri aktarımı da henüz çözüme kavuşturulmuş değil. Bu nedenle bu modelin benimsenmesi, onu tüm yerel ajan çerçevelerinin kullanıma hazır bir alternatifi olarak değerlendirmeden önce dağıtım durumunun, yetki sınırlarının ve veri güvencelerinin pratikte incelenmesini gerektiriyor.