spinny:~/writing $ vim agentic-infrastructure-stack.md
1~2Ajansal çerçevelerden sık sık bahsettik. LangGraph, CrewAI, AutoGen, çeşitli SDK'lar, döngü, araç çağırma, bellek, planlayıcı, eleştirmen, süpervizör. Allah aşkına, hepsi faydalı sözler. Ancak gerçekte kullanılan aracılara ne kadar çok bakarsam, bana öyle geliyor ki ilginç kısım çerçeve düzeyinin altına kaymış.3~4Artık soru basit değil: Bir adım modelinin düşünmesini sağlamak için hangi kütüphaneyi kullanmalıyım?5~6Asıl soru şu: Bu ajan demo olmayı bıraktığında nerede yaşıyor?7~8Because a serious agent is not a function that calls a model and returns text. Küçük bir dağıtılmış sistemdir. Bağlamı okumalı, araçları kullanmalı, kodu çalıştırmalı, dosyalara dokunmalı, kararları hatırlamalı, izin istemeli, başarısız olmalı, yeniden başlamalı, günlükleri bırakmalı, bütçeyi yakmamalı ve üretim deposunda bir buldozere dönüşmemelidir.9~10Çerçeve direksiyondur. Altyapı yol, frenler, garaj, sigorta ve anahtarların nerede olduğunu bilen kişidir.11~12## Çünkü artık bunun hakkında çok fazla konuşuluyor13~142023 ve 2024'teki konuşma oldukça model merkezliydi. Which LLM? Ne kadar bağlam? Fiyatı ne kadar? Programlamada ne kadar iyi?15~162025 ve 2026'da konu değişti. Modeller gerçek işi yapabilecek kadar iyidir, ancak sıkıcı parçaların görünür olmasının nedeni budur: çalışma zamanı, güvenlik, bağlayıcılar, kimlik, gözlemlenebilirlik, kod yürütme, dağıtım, geri alma.17~18Bu, sihirden mühendisliğe doğal geçiştir.19~20Bir temsilcinin yalnızca yanıt oluşturması gerektiğinde sohbet etmek yeterlidir. Bir çekme isteği açmanız, bir veritabanını sorgulamanız, bir CRM'yi çağırmanız, bir iş başlatmanız, bir sitede gezinmeniz, Slack okumanız, kodu derlemeniz ve bir belgeyi güncellemeniz gerektiğinde, bunun etrafında bir işletim sistemine ihtiyacınız vardır.21~22Kelimenin tam anlamıyla değil. Organizasyonel anlamda.23~24## İlk parça: aracının dayanabileceği bir çalışma zamanı25~26An agent often works in steps. Duruma bakın, bir eylem seçin, bir araç kullanın, sonucu gözlemleyin, planı güncelleyin, tekrarlayın.27~28Bu döngü tek bir HTTP isteğinin içinde yaşıyorsa, hemen bir sorun yaşarsınız. Bazı eylemler yavaştır. Bazıları insan girdisini bekliyor. Bazıları başarısız olur ve tekrar denenmesi gerekir. Bazılarının dağıtımdan veya zaman aşımından sağ çıkması gerekir.29~30Dayanıklı iş akışlarının, kuyrukların, iş geçmişlerinin ve durum makinelerinin devreye girdiği yer burasıdır. Gösterişli değiller ama demoda akıllı görünen bir temsilci ile kahve alırken çalışmayı bırakabileceğiniz bir temsilci arasındaki fark bunlar.31~32Benim için ajansal çalışma zamanının çok somut sorulara cevap vermesi gerekiyor:33~34- where do I save the state between one step and another?35- süreç yarı yolda ölürse ne olur?36- Duraklatıp onay isteyebilir miyim?37- neden bu seçimi yaptığını anlamak için bir koşuyu tekrar oynatabilir miyim?38- Süreyi, belleği, araçları ve maliyeti sınırlayabilir miyim?39~40Vercel, web uygulamalarındaki yapı aracılarına yönelik AI SDK'ları, işlevleri, iş akışları ve araçlarıyla bu alanda yoğun çaba harcıyor. Ancak mesele sadece Vercel değil. Önemli olan, aracının tek bir uç noktaya değil, operasyonel bir eve ihtiyacı olmasıdır.41~42## İkinci parça: sandbox, çünkü aracının kırılmadan kirlenebilmesi gerekiyor43~44Bir aracı kod yazdığında veya komutları yürüttüğünde bir sanal alana ihtiyaç duyulur.45~46Teknik bir kelime gibi görünüyor ama fikir çok yerel: Ona bir çalışma tezgahı veriyorsunuz. Dosyaları açabilir, bağımlılıkları yükleyebilir, testler çalıştırabilir, deneyler yapabilir, çıktı üretebilir. Eğer yanlış anlarsa, hasarı kontrol altına almış olursunuz. If it works, promote the result.47~48Ajansal bir sanal alanın bazı özelliklere sahip olması gerekir:49~50- yalıtılmış dosya sistemi;51- CPU, bellek ve zaman sınırları;52- kontrollü ağ;53- yalnızca ihtiyaç duyulduğunda saklanan sırlar;54- günlükleri tamamlayın;55- eserleri ihraç etme imkanı;56- gerektiğinde çalıştırmalar arasında temiz sıfırlama.57~58Vercel Sandbox tam olarak bu yönde ilerliyor: her şeyi ana uygulama çalışma zamanında çalıştırmadan kod çalıştırmak, bağımlılıklar yüklemek, dosyalarla çalışmak ve yapılar üretmek için yalıtılmış ortamlar.59~60Bu şey göründüğünden daha önemli. Birçok etken prototip, doğrudan modelden gerçek sisteme atlar. Model aracı çağırabilir. Araçlar bir şeyler yapabilir. İlk yanlış komuta, ilk bağımlılığın yanlış yere kurulmasına, bir günlüğe yazılan ilk jetona kadar her şey zarif görünüyor.61~62Korumalı alan, yetişkinlerin şunu söyleme şeklidir: Devam et, ama burada.63~64## Üçüncü parça: MCP ve konektör sorunu65~66Model Bağlamı Protokolü, ekosistemin en ilginç parçalarından biri haline geldi çünkü normalde hızla yönetilemez hale gelen bir şeyi standartlaştırmaya çalışıyor: bir modelin harici araçları nasıl keşfedip kullandığını.67~68Standart olmadan her entegrasyon küçük bir adadır. GitHub için bir bağlayıcı bir şekilde yapıldı, biri Slack için diğeri yapıldı, biri farklı semantiklere sahip veritabanları için, biri hiçbir şeye benzemeyen tarayıcı otomasyonu için yapıldı.69~70MCP, istemci ve sunucu arasında ortak bir dil önerir: araçlar, kaynaklar, istemler, yetkilendirmeler, aktarım, keşif. Yönetişimi ve güvenliği sihirli bir şekilde çözmez, ancak bir dilbilgisi sağlar.71~72Ve gramer önemlidir. Bir aracı birçok araca bağlanabildiğinde soru yalnızca "bunu yapabilir mi?" değildir. Sorun "neyi, hangi sınırlarla, kimin adına yapabileceğini, nasıl bir iz bırakabileceğini anlıyor mu?"73~74Benim için MCP abartılı değil çünkü "araç çağırma yapıyor". Bunu zaten yaptık. Bu bir heyecan çünkü ağırlık merkezini tek entegrasyondan operasyonel araç kataloğuna kaydırıyor.75~76İyi bir etmensel mimaride MCP bir tür bağlantı paneli haline gelir:77~78- Kod ve sorunlar için GitHub;79- Konuşma bağlamı için gevşeklik;80- Planlı çalışma için Doğrusal veya Jira;81- analitik için salt okunur veritabanı;82- harici siteler için kontrol edilen tarayıcı veya kazıyıcı;83- belge saklama;84- yalıtılmış yürütme ortamları;85- katı izinlere sahip dahili sistemler.86~87İşin zor kısmı, politikasız bir araç kataloğunun kaos yaratmanın daha zarif bir yolu olmasıdır.88~89## Dördüncü parça: kimlik ve izinler90~91Burası birçok demonun görmezden geldiği alandır.92~93Bir temsilci, birisi adına hareket eder. Yani eylemin konusunun kim olduğu açık olmalıdır.94~95Kullanıcı izinlerini kullanıyor mu? Bir hizmet hesabından mı? Bir çalışma alanından mı? Geçici veya kalıcı erişiminiz var mı? Her şeyi okuyabiliyor musun, yoksa sadece bazı kaynakları mı? Yazabilir misin? İptal edebilir misin? Gerçek insanlara mesaj atabilir mi?96~97Bu sorulara iyi cevap vermezseniz, er ya da geç ev anahtarlarına sahip olan ve bunları ona kimin verdiğini hatırlamayan bir asistan yaratacaksınız.98~99Benim hoşuma giden genel kural şudur: Aracı insandan daha azını yapabilmelidir, insandan daha fazlasını değil. Daha riskli bir şey yapması gerektiğinde durup sorması gerekiyor.100~101Bu, OAuth, jeton kapsamlı, gizli yönetim, denetim günlüğü, araç politikası, izin verilenler listesi, onay adımı anlamına gelir. Pek romantik şeyler değil. Gerekli şeyler.102~103## Beşinci parça: bellek ve bağlam, ancak çöp biriktirmeden104~105Ajanların hafızaya ihtiyacı vardır ama hafıza tavan arasına dönüştüğünde tehlikelidir.106~107En az üç tür bellek vardır:108~109- belleği çalıştır: bu yürütmede ne oldu;110- proje hafızası: gelenekler, kararlar, kısıtlamalar;111- kişisel veya takım hafızası: tercihler, üslup, ritüeller, süreçler.112~113Her şeyi komut istemine koymak kısayoldur. Artık çalışmayana kadar çalışır. Yararlı hafızaya dikkat edilmelidir: indekslenmeli, güncellenmeli, süresi dolmalı, doğrulanmalı, alıntı yapılabilir hale getirilmelidir.114~115Kötü hatırlayan bir ajan, hatırlamayan bir ajandan daha kötüdür. Çünkü güvenle konuşuyor.116~117Bu nedenle altyapının, erişim, talimat dosyaları, bilgi tabanı, gerektiğinde yerleştirme ve aynı zamanda temizlemeyi içermesi gerekir. Bir hafıza kültürüne ihtiyacımız var: Ne girer, kim onaylar, bozulduğunda nasıl düzeltirim.118~119## Altıncı parça: gözlemlenebilirlik, değerlendirme ve tekrar oynatma120~121Bir aracı hata yaparsa "model adı verilen" günlüğü yeterli değildir.122~123Rotayı görmek istiyorsunuz. Hangi bağlamı aldı? Hangi araçlar mevcuttu? Hangi aracı seçtiniz? Hangi argümanlarla? Nasıl bir yanıt aldınız? Ne kadara mal oldu? Nerede sıkıştı? İnsan herhangi bir şeyi onayladı mı? Hata modeli, araç, bilgi istemi, veri veya izin hatası mı?124~125Burada aracılar sohbet robotlarından ziyade dağıtılmış sistemlere benziyor.126~127Yalnızca metin günlüklerine değil, okunabilir izlere de ihtiyacınız var. Bir koşuyu tekrar oynatabilmeniz gerekir. Aynı aracının iki versiyonunu bilinen görevlerde karşılaştırmak gerekir. Regresyonları ölçmemiz gerekiyor: yalnızca "daha iyi yanıt vermek"le kalmıyor, aynı zamanda "istenmeyen dosyalara dokunmadan doğru bileti kapatıyor".128~129Eylemli değerlendirmeler, eylemleri içerdikleri için metin değerlendirmelerinden daha zordur. Beklenen bir dizeyi karşılaştırmak yeterli değildir. Sıralara, yan etkilere, eserin kalitesine, zamana, maliyete, insan müdahalelerinin sayısına bakmalısınız.130~131İşin komik yanı, her zaman oraya dönüyoruz: yazılım mühendisliği. Testler, ortamlar, izlemeler, geri almalar. Bunun dışında kod artık bundan sonra ne yapılacağına da karar veriyor.132~133## Yedinci parça: insan arayüzleri134~135Temsilcinin sadece sohbet içinde yaşaması gerekmez.136~137Bazı ajanların bir kurula ihtiyacı vardır. Diğerleri durum ve günlüğün bulunduğu bir sayfa. Diğerleri "onayla" butonudur. Daha fazla satır içi yorum. Hala bir CLI'nin diğerleri.138~139Kullanıcı arayüzü davranışı değiştirir. Bir temsilciyi kontrol etmenin tek yolu uzun bir mesaj yazmaksa, kullanıcı temsilciye belirsiz talimatlar verecektir. Ancak planı, farkı, kaynakları, riskleri ve bir sonraki hamleyi görürse tam olarak müdahale edebilir.140~141İyi bir aracı altyapısı kontrol yüzeylerini içerir:142~143- mevcut durum;144- düzenlenebilir plan;145- üretilen eserler;146- fark;147- onay talepleri;148- kronoloji;149- durdur düğmesi;150- yeniden dene düğmesi;151- görünür izinler.152~153Önemsiz görünüyor, ama değil. "Korkunç yapay zeka" ile "güvenilir asistan" arasındaki fark genellikle ikincisinin size elindekilerin nerede olduğunu göstermesidir.154~155## Zihinsel yığın156~157Eğer bugün çizecek olsaydım minimum temsilci yığını şu şekilde olurdu:158~1591. Model: akıl yürütme, oluşturma, araç çağırma, gerekirse çok modlu.1602. Düzenleme: döngü, adım, planlayıcı, politika, döngüdeki insan.1613. Dayanıklı çalışma zamanı: iş akışı, kuyruk, yeniden deneme, duraklatma, devam ettirme.1624. Sandbox: kod yürütme, yalıtılmış dosya sistemi, sınırlamalar, yapılar.1635. Araç katmanı: MCP, dahili API, tarayıcı, veritabanı, depo.1646. Kimlik katmanı: OAuth, kapsam, sır, denetim, politika.1657. Bellek katmanı: proje bağlamı, erişim, talimatlar, sona erme.1668. Gözlemlenebilirlik: izleme, tekrar oynatma, değerlendirme, maliyet ve kalite ölçümleri.1679. Ürün yüzeyi: Yeterli olduğunda sohbet edin, gerektiğinde kontrol panelini kullanın, önemli olduğunda inceleyin.168~169Failsel çerçeve esas olarak 2. noktayı ve 1. noktanın bir kısmını kapsar. Gerisi asıl çalışmadır.170~171## Pratikte ne yapardım172~173Bir ekip bana "üretimde temsilci istiyoruz" derse on temsilciyle başlamazdım.174~175Küçük, tekrarlayan ve gözlemlenebilir bir iş akışıyla başlardım. Örneğin: bakım PR'lerini açın, kapatılan sorunların belgelerini güncelleyin, haftalık bir inceleme hazırlayın, yinelenen hataların önceliklerini belirleyin, etkilenen dosyalar için testler oluşturun.176~177O zaman çok net sınırlar koyardım:178~179- dallar veya sanal alan olmadan yazı yazmak yasaktır;180- istemde sır yok;181- izin verilenler listesindeki araçlar;182- dış eylemler için insan onayı;183- zorunlu kayıt ve izleme;184- çalıştırma başına bütçe;185- çıktı her zaman denetlenebilir.186~187Ancak o zaman genişleyebilirim.188~189Ajanlar sırf modeller yanlış anladığı için başarısız olmazlar. Başarısız oluyorlar çünkü onları kafa karıştırıcı izinler ve teatral beklentilerle belirsiz ortamlara koyuyoruz.190~191## Okumalarım192~193Acente altyapısı en iyi şekilde sıkıcıdır.194~195Demoda sizi alkışlayan kısım değil. Bu, demoyu Pazartesi sabahı gerçek kişilerle, gerçek verilerle ve gerçek sonuçlarla gerçekten kullanmanızı sağlayan kısımdır.196~197Temsilcilerin geleceğine yalnızca kimin en iyi rol modele sahip olduğuna karar verilmeyecek. Kimin çalışabileceği en iyi yeri inşa edeceğine karar verecek: Deney yaparken izole, ihtiyaç duyulduğunda bağlantı kuran, her zaman gözlemlenebilir, kriterlerle yetkilendirilmiş ve bilmediğinde duracak kadar alçakgönüllü.198~199Ajanların oyuncak olmayı bırakıp altyapı haline geldiği yer burasıdır.200~201## Kaynaklar202~203- [Vercel: Vercel ve AI SDK ile AI aracıları nasıl oluşturulur](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Vercel Dokümanları: Korumalı Alan](https://vercel.com/docs/sandbox)205- [Vercel Dokümanları: Sandbox ile Çalışmak](https://vercel.com/docs/sandbox/working-with-sandbox)206- [Vercel Dokümanları: MCP](https://vercel.com/docs/mcp)207- [Model Bağlamı Protokolü: Belirtim](https://modelcontextprotocol.io/specation)208- [OpenAI: İnşaat acenteleri için yeni araçlar](https://openai.com/index/new-tools-for-building-agents/)209- [Cloudflare Blogu: Cloudflare'deki Aracılar](https://blog.cloudflare.com/agents-on-cloudflare/)210~
NORMAL · agentic-infrastructure-stack.md [readonly]210 lines · :q to close