Her Birini İnsan Gözden Geçirmeden 800 Ajanla Kod Tabanını Taşımanın Arkasındaki Döngü Modeli

@cyrilXBT
İNGILIZCE3 hafta önce · 23 Haz 2026
117K
126
29
21
200

TL;DR

Google'ın kod tabanlarını ölçekli bir şekilde taşımak için kullandığı karanlık fabrika mimarisini öğrenin. Tekil ajanların neden başarısız olduğunu ve planlama, yürütme ve deterministik doğrulama döngüsünün nasıl güvenli ve insansız taşımalara olanak tanıdığını açıklıyor.

Google'ın AI ve Altyapı ekibi, sektörün çoğunun gözden kaçırdığı bir blog yazısında sessiz sedasız dikkate değer bir şey yayınladı: üretim makine öğrenimi modellerini TensorFlow'dan JAX'a taşıyan, binlerce satır kod, yüzlerce katman ve birden çok dosyaya yayılan derin bağımlılıklar içeren bir ölçekte altı kat hızlanma. Sundar Pichai bunu Google Cloud Next'te sahnede dile getirdi. Rakam manşet oldu. Bunun altında yatan mimari ise asıl hikaye ve ister 8 ajan ister 800 ajan olsun, şu anda gerçekleşen her güvenilir büyük ölçekli ajan geçişinin arkasındaki aynı mimari.

İşte en önemli detay: Önce tek bir AI ajanını kod tabanına yönlendirmeyi denediler. Başarısız oldu. Kısmen değil. Bağlamı kaybetti, var olmayan API'ler hayal etti ve derlenmeyen kod üretti. Çözüm daha akıllı bir model değildi. Tamamen farklı bir mimariydi, şimdi "karanlık fabrika" deseni olarak adlandırılan bir isme sahip: ajanların döngüde gerçekten sıfır insan incelemesi ile kod planladığı, uyguladığı, test ettiği ve gönderdiği bir kod tabanı, tıpkı tam otomatik bir fabrikanın makineleri karanlıkta çalıştırması gibi, çünkü ışıkları yakacak kimse kalmamıştır.

Bu makale, bu desenin tam bir dökümüdür. Pazarlama versiyonu değil. Yüzlerce ajanın, her bir değişikliği bir insan kontrol etmeden gerçek bir kod tabanını nasıl taşıdığının ve bunu güvenli kılan şeyin modele duyulan güven değil, bu güvene asla ihtiyaç duymamak için özel olarak tasarlanmış bir mimari olduğunun gerçek mekaniği.

Tek Bir Ajan Neden Ölçekte Başarısız Olur?

Mimariden önce, naif yaklaşımın neden bozulduğunu tam olarak anlayın, çünkü çalışan desendeki her tasarım kararı, bu başarısızlıklardan birini düzeltmek için özel olarak mevcuttur.

Büyük bir kod tabanına yönlendirilen tek bir ajan, önce bir bağlam sorunuyla karşılaşır. Cömert bir bağlam penceresiyle bile, yüzlerce birbirine bağımlı dosya, derin çağrı zincirleri ve modüller arasında miras alınan varsayımlar içeren bir kod tabanı, herhangi bir tek oturumun tutarlı bir şekilde tutabileceğinin ötesine geçer. Ajan ilk birkaç dosyada güçlü başlar ve çalışma bağlamı birikmiş, yarı ilgili geçmişle doldukça bozulur.

Sonra bir sıralama sorunuyla karşılaşır. Kod taşıma, varsayılan olarak paralel bir görev değildir. B dosyası genellikle A dosyasının zaten taşınmış olmasına bağlıdır, çünkü işlev imzaları değişmiş, içe aktarmalar taşınmış veya veri yapıları şekil değiştirmiştir. Açık bir bağımlılık haritası olmayan bir ajan ya sırayı tahmin eder, bu da bozuk ara durumlar üretir ya da dosyaları listelendikleri sırayla işler, bu da işlevsel olarak tahmin etmekle aynı şeydir.

Sonra bir doğrulama sorunuyla karşılaşır ve aslında en önemlisi de budur. Kod taşıyan ve ardından kendi taşımasını değerlendiren bir ajan, ilk etapta herhangi bir hataya neden olan aynı kör noktalarla kendi ödevini kontrol ediyordur. Ajan, belirli bir API'nin yeni bir sürüm altında farklı davrandığını anlamazsa, kendi çıktısını incelerken bu yanlış anlamayı yakalayamaz, çünkü aynı anlayış eksikliği her iki geçişte de mevcuttur.

Google'ın ekibi bunu doğrudan buldu. Tek ajanlı kurulum, taşımanın yapısal kurallarını aynı anda satır satır yürütme detaylarıyla dengeleyemedi. Bu iki endişeyi ayrı rollere bölmek asıl çözümdür ve OpenAI'in yayınlanmış taşıma yemek kitabında, çok ajanlı taşıma döngüleri üzerine akademik araştırmalarda ve bunu ölçekte çalıştıran her üretim sisteminde bağımsız olarak ortaya çıkan aynı çözümdür.

Mimari: Tek Bir Genelci Değil, Üç Rol

Çalışan desen, işi gerçekten farklı işleri olan rollere böler, sadece aynı genelci ajana yönelik farklı istemler değil.

İşi sıralamak için bir LLM tahmini değil, deterministik araçlar kullanan bir Planlayıcı. Bu, gerçekten ölçeklenen bir sistemi, bir demoda etkileyici görünen ancak üretimde dağılan bir sistemden ayıran detaydır. Google'ın Planlayıcısı, bir LLM'den göç sırasını akıl yürütme yoluyla bulmasını istemez. On yıllardır kurumsal yazılımların temelini oluşturan aynı deterministik araç kategorisi olan derleyici tabanlı statik analizi kullanarak gerçek bağımlılık ağacını oluşturur ve hiçbir şeyin bağlı olmadığı yaprak düğümlerden (dosyalar) başlayıp her şeyin bağlı olduğu dosyalara doğru ilerleyen bir yürütme planı tanımlar.

Bu önemlidir çünkü bağımlılık sıralaması yaratıcı bir problem değildir. Doğru cevabı olan mekanik bir problemdir ve zaten deterministik bir çözümü olan bir problemi çözmek için bir LLM kullanmak, var olması gerekmeyen yeni bir hata kaynağı getirir. Bunun altında yatan kural: bir problemin algoritmik bir cevabı olduğu her yerde, algoritmayı kullanın. Dil modelini, gerçekten muhakeme gerektiren görevin bir parçası için, yani hangi dosyanın önce gideceğinin sıralanması değil, gerçek kod dönüşümü için ayırın.

Gerçek kod dönüşümünü yapan bir Taşıma Ajanı (veya daha büyük sistemlerde, aynı rolün paralel, izole, dar kapsamlı örnekleri olarak çalışan yüzlercesi). Her örnek, tercihen bir dosya veya sıkıca sınırlandırılmış bir modül, tek bir kontrol ve tam olarak neyin ve neden değişmesi gerektiğini açıklayan açık bir taşıma brifi olan tek bir kapsamlı görev alır. İlgili kodu inceler, düzenlemeleri yapar ve bir yama üretir. Kendi yamasının doğru olup olmadığına karar vermez. Bu onun işi değildir ve mimari, yanlışlıkla bu işi üstlenememesi için özel olarak tasarlanmıştır.

Hiçbir şey kabul edilmeden önce, taşınan kodu izole bir ortamda oluşturan, çalıştıran ve test eden bir Ortam ve Doğrulama katmanı. "Bitti bitti"nin bir fikir yerine mekanik bir gerçek haline geldiği yer burasıdır. Google'ın bu konudaki çerçevesi kesindir: sektör tarihsel olarak bir AI'ın çalışmasının ne zaman gerçekten bittiğine karar vermek için iki kötü seçenek sunmuştur: yüzlerce dosyaya ölçeklenemeyen insan incelemesi veya neyin kontrol edildiğine dair bir kayıt olmadığı için denetlenemeyen AI öz değerlendirmesi. Onların cevabı, derlemenin başarılı olduğunu, testlerin geçtiğini ve davranışın tanımlanmış bir spesifikasyonla eşleştiğini doğrulayan deterministik kod olan matematiksel doğrulamadır ve her iki kötü seçeneğin yerine gerçekten incelenebilir üçüncü bir seçenek koyar.

Bu listede neyin eksik olduğuna dikkat edin: birleştirmeden önce her bir farkı okuyan bir insan. Karanlık fabrika deseninin tüm amacı budur ve çoğu insanın güvenlik konusundaki sezgisinin yanlış gittiği yer tam olarak burasıdır, çünkü sistem ajanlara daha fazla güveniyormuş gibi gelir. Tam tersi. Yapısal olarak ajanlara daha az güveniyor, tek bir yargı noktasını, "ajan bunun çalıştığını söyledi", ajanın etkileyemeyeceği veya etrafından dolanamayacağı bir doğrulama katmanıyla değiştiriyor.

İzolasyon Katmanı: Neden Her Ajan Kendi Korumalı Alanını Alır?

Yüzlerce ajanı aynı anda aynı kod tabanına karşı çalıştırmak bariz bir risk yaratır: ajan 47, ajan 12'nin değişikliğinin bağlı olduğu bir dosyayı düzenlerken ve ajan 12'nin düzenlemesi derlemeyi bozduğunda ne olur?

OpenAI'in yayınlanmış taşıma mimarisi ve Google'ın üretim sistemi boyunca tutarlı olan cevap, varsayılan olarak izolasyondur. Her taşıma görevi, genellikle kendi git çalışma ağacı, ilgili deponun o tek göreve kapsamlı, bağımsız bir kontrolü olan kendi korumalı ortamında çalışır. O korumalı alandaki bir ajan bir şeyi kırarsa, paylaşılan kod tabanını değil, izole bir kopyayı ve kesinlikle başka bir ajanın devam eden çalışmasını kırmaz.

Bu izolasyon, çarpışmaları önlemenin ötesinde bir şey yapar. Tüm sistemi önemsiz bir şekilde paralelleştirilebilir hale getirir, çünkü yüzlerce eşzamanlı ajanın üzerine basması için paylaşılan değişken bir durum yoktur. Ajan 1'den ajan 800'e kadar, her biri yalnızca kendi özel göreviyle ilgili dosyaları ve bağlamı içeren temiz bir ortamda, bir ajanın halüsinasyonunun diğerinin doğru çalışmasını kirletme riski olmadan gerçekten aynı anda çalışabilir.

Hangi görevin hangi korumalı alana gideceğine ve ortaya çıkan yamaya ne olacağına karar veren orkestrasyon katmanı olan koşum, her bir korumalı alanın dışında kalır. Bu, belirli ve önemli bir mimari seçimdir: sırlara, harici araçlara ve gerçek depoya erişimi olan güvenilir süreç, AI tarafından oluşturulan kodun fiilen çalıştığı güvenilmeyen yürütme ortamından ayrı olarak yaşar. Korumalı alan, tek görevi için tam olarak ihtiyaç duyduğu şeyi alır, fazlasını değil. Ana bilgisayar süreci, oluşturulan kodu asla kendi yükseltilmiş izinleriyle doğrudan çalıştırmaz. Bu ayrım, bir ajanın kodunun herhangi bir şekilde yürütülmesini güvenli kılan şeydir, çünkü korumalı alan içindeki bir hata veya hatta düşmanca bir istem enjeksiyonunun, dışındaki herhangi bir şeye giden bir yolu yoktur.

Döngünün Kendisi: Planla, Yürüt, Doğrula, İyileştir

Ölçeği ve belirli araçları bir kenara bırakın ve bunun altında çalışan gerçek döngü, görev geçene veya yeniden deneme bütçesini tüketene kadar görev başına tekrarlanan dört aşamaya sahiptir.

Birinci aşama: taşıma planlaması. Taşıma Ajanı, kapsamlı görevini, bir dosya veya modül, belirli hedef spesifikasyonunu (dil sürümü, çerçeve değişikliği, API uyumluluk gereksinimleri) alır ve aday bir dönüşüm üretir. Bu, yaratıcı, muhakeme tabanlı dil modeli akıl yürütmesinin birincil işi yaptığı tek aşamadır, çünkü belirli bir kalıbı yeni bir çerçevedeki eşdeğerine nasıl doğru bir şekilde çevireceğine karar vermek, yalnızca mekanik arama değil, gerçekten anlayış gerektirir.

İkinci aşama: otomatik ortam kurulumu. Bazen akademik literatürde bu desen üzerinde bir Ortam Ajanı olarak adlandırılan ayrı bir bileşen, taşınan kod için bir derleme ve çalışma zamanı ortamını otonom olarak oluşturur, bağımlılık çözümlemesi ve yapılandırmayı yönetir, böylece aday yama soyut olarak değerlendirilmek yerine gerçekçi koşullar altında derlenebilir ve çalıştırılabilir.

Üçüncü aşama: test doğrulaması. Taşınan kod, gerçek test paketine veya o belirli modül için bir test paketi yoksa oluşturulmuş bir eşdeğerine karşı çalışır. Bu, bir izlenimden ziyade nesnel bir geçer veya kalır üreten mekanik doğrulama adımıdır. Testler ya geçer ya geçmez ve bir ajanın etrafından dolanabileceği bir belirsizlik yoktur.

Dördüncü aşama: geri bildirim iyileştirmesi. Başarısızlık durumunda, belirli test başarısızlıkları ve tanılama günlükleri, belirsiz bir "bu işe yaramadı, tekrar dene" yerine hedeflenen düzeltme girdisi olarak Taşıma Ajanına geri yönlendirilir. Yamaya sahip olan ajan, genel bir sıfırdan yeniden deneme yerine, neyin bozulduğuna dair somut kanıtlara dayanarak belirli mantığını ve bağımlılık haritalamasını iyileştirir.

Bu dört aşamalı döngü, tanımlanmış bir sınırla görev başına tekrarlanır. Bu tam döngü deseninin belgelenmiş, çalışan bir versiyonu, yayınlanmış bir örnekte, "eski desenle eşleşen dosya kalmadı" gibi bir durma koşulunun yanı sıra, 200 yineleme gibi bir sert maksimum yineleme sayısı belirtir ve bundan sonra sistem, yakınsamayan bir görevde süresiz olarak çalışmak yerine otomatik olarak durur.

Bu sınır, ölçekte son derece önemlidir. Bu olmadan, yapısal olarak tamamlanması imkansız bir görev, çünkü spesifikasyonun kendisi belirsizdir veya hedef desenin gerçekten temiz bir eşdeğeri yoktur, bir insanın fiilen bakıp çözebileceği belirli, sınırlı bir başarısızlık olarak ortaya çıkmak yerine sonsuza kadar kaynak tüketir.

İnsan İncelemesi Neden Ölçeklenmez ve Yerini Ne Alır?

"Her birini inceleyen insan yok" ifadesinin burada kesilen bir köşe değil, aslında daha güvenli tasarım olduğu konusunda kesin olmakta fayda var.

AI ajan kod incelemesini insan kod incelemesiyle karşılaştıran araştırma, belirli ve kullanışlı bir şey buldu: AI tarafından oluşturulan inceleme yorumları, satır başına insan incelemelerinden neredeyse yedi kat daha uzundur ve neredeyse tamamen kod iyileştirme ve hata tespitine odaklanırken, insan incelemesi doğal olarak tamamen başka şeylere, ortak anlayış oluşturma, bilgi aktarma, ekip arkadaşları arasında sosyal iletişime yayılır. İnsan incelemesi ileri geri, geri bildirimin türüne bağlı olarak büyük ölçüde değişir. AI'dan AI'ya inceleme etkileşimi, neyin işaretlendiğine bakılmaksızın çok daha tek tip ve mekaniktir.

Bunu doğru okuyun ve önemli bir şey söylüyor: insan incelemesi ve AI doğrulaması, yapısal olarak farklı şeylerde iyidir. Bir insandan, bir ajan sürüsünün ürettiği hız ve hacimde 800 ayrı farkı incelemesini istemek bir güvenlik yükseltmesi değil, lastik damga onayı üreten bir darboğazdır, çünkü hiçbir insan bu hacimde gerçek bir inceleme sürdüremez. Karanlık fabrika desenindeki gerçek güvenlik, doğrulamayı kaldırmaktan gelmez. Bir tür doğrulamayı, yavaş, yorucu, tutarsız insan dikkatinin yüzlerce tekrarlayan farka yayılmasını, ölçeklenen farklı bir türle değiştirmekten gelir: fark 1 ve fark 800'de tam olarak aynı titizliği, sıfır dikkat yorgunluğu ile üreten deterministik derleme ve test doğrulaması.

Bu aynı zamanda Planlayıcı aşamasının sıralama için LLM muhakemesi yerine derleyici tabanlı statik analiz kullanmasının tam olarak nedenidir. Sistemin herhangi bir yerinde deterministik bir kontrol bir yargı çağrısının yerini alabiliyorsa, almalıdır, çünkü deterministik kontroller bu mimarinin sonradan gerçekten denetlenebilir olan tek parçasıdır. Statik bir analizörün ne bulduğunu tam olarak yeniden oynatabilirsiniz. Bir dil modelinin belirli bir taşıma sırasının neden "doğru olduğunu hissettiğini" tam olarak yeniden oynatamazsınız.

Hala Bir İnsana İhtiyaç Duyulan Şeyler ve Çizginin Tam Olarak Nerede Olduğu

Bu desen, "insanları tamamen çıkarın ve umut edin" değildir. Bunun her güvenilir yayınlanmış versiyonu, Google'ın üretim sistemi, akademik Ortam-İçinde-Döngü araştırması, OpenAI'in kendi yemek kitabı, insan yargısının zorunlu kaldığı yer için açık bir çizgi çizer.

Ajan odaklı kütüphane taşımaları üzerine nicel bir çalışmanın tutarlı bulgusu: ajanlar güvenilir bir şekilde yüksek taşıma kapsamı elde eder, hangi API değişikliklerinin gerekli olduğunu doğru bir şekilde belirler, ancak başarılı bir taşımanın yalnızca sözdizimini eşleştirmek yerine amacı anlamayı gerektirdiği daha karmaşık durumlarda genel uygulama davranışını korumakta özellikle zorlanır. Bu bulgunun hemen ardından gelen öneri, tüm toplu iş için değil, deterministik doğrulamanın yüksek riskli veya düşük güvenilirlikli olarak işaretlediği dosyaların alt kümesi için özel olarak bir insan-çevrimiçi kontrol noktasıdır.

Pratikte bu, kademeli bir sistem üretir. Statik bağımlılık analizinin küçük, iyi izole edilmiş ve yapısal olarak basit olarak sınıflandırdığı dosyalar, herhangi bir gerçek taşımanın büyük kısmı, deterministik derleme ve test geçidinin ötesinde sıfır insan dokunuşuyla tam otomatik döngüden geçer. Karmaşık, derinden birbirine bağlı veya iş açısından kritik mantığa dokunan olarak işaretlenen dosyalar, aksi takdirde tamamen otomatik bir sistemin içinde bile birleştirmeden önce gerçek insan incelemesi için bir kuyruğa yönlendirilir.

Bu kademeli yaklaşım, "800 ajan, her birini inceleyen sıfır insan" ifadesinin gerçekçi versiyonudur. Hiçbir insanın hiçbir şeye bakmadığı anlamına gelmez. Sistemin, mekanik, düşük riskli işin %95'ini tam otomasyonla yönlendirmek için özel olarak tasarlanmış olması, kıt kaynağı, gerçek insan yargısını, yalnızca deterministik doğrulamanın kopyalayamayacağı değer kattığı küçük bir vaka fraksiyonuna yoğunlaştırmasıdır.

Kendi Kod Tabanınız İçin Bunu Oluşturmak

Desen, yukarı doğru ölçeklendiği kadar aşağı doğru da temiz bir şekilde ölçeklenir. İster büyük bir üretim kod tabanına karşı 800 paralel ajan, ister tek bir depoya karşı bir avuç sıralı taşıma görevi çalıştırıyor olun, aynı dört rol geçerlidir.

Planlayıcı ile başlayın ve onu bir LLM yapma dürtüsüne direnin. Taşımanızın herhangi bir tür bağımlılık yapısı varsa, dosya içe aktarmaları, paylaşılan arayüzler, derleme sırası, bu bağımlılık grafiğini mekanik olarak oluşturmak için dilinize uygun gerçek statik analiz araçlarını kullanın. Bu tek karar, tüm sistemdeki en yüksek kaldıraçlı karardır, çünkü her aşağı akış aşaması, Planlayıcının yaptığı herhangi bir sıralama hatasını devralır.

Her bir görevi, bağımlılık grafiğinin izin verdiği kadar dar bir şekilde kapsamlandırın. Bir dosya, bir modül, açıkça sınırlandırılmış bir değişiklik birimi, tam olarak neyin ve neden yapılması gerektiğini açıklayan açık bir brif ile. Sırf verimlilik için birden çok ilgisiz değişikliği tek bir görevde birleştirmeye direnin, çünkü dar kapsam, doğrulama aşamasının geçer veya kalır yargısını belirsiz yapan şeydir.

Her görevin yürütülmesini izole edin. En azından görev başına yeni bir git çalışma ağacı, herhangi bir gerçek ölçekte çalıştırıyorsanız tam bir korumalı ortam. Bu isteğe bağlı bir altyapı yükü değildir. Paralelleştirmeyi güvenli kılan ve tek bir ajanın hatasını bulaşıcı olmaktan ziyade sınırlı kılan şeydir.

Her şeyden önce deterministik doğrulama oluşturun. Derleme başarısı, test paketi geçme oranı, oluşturabileceğiniz davranışsal denklik kontrolleri. Bu, "ajan çalıştığını söyledi" ifadesini "gerçekten çalıştı mı" ile değiştiren bileşendir ve çoğu ev yapımı taşıma girişiminin tamamen atladığı tek bileşendir, bu yüzden bu girişimler herhangi bir anlamlı ölçekte başarısız olur.

Yeniden deneme döngüsünü açıkça, bir hisle değil, bir sayıyla sınırlayın. Herhangi bir şey çalıştırmadan önce "bu görev takıldı" ifadesinin neye benzediğini tanımlayın ve takılıp kalan görevleri süresiz olarak kaynak tüketmelerine veya daha kötüsü, sessizce yanlış başarı bildirmelerine izin vermek yerine otomatik olarak bir insan kuyruğuna yönlendirin.

Manşet Numarasının Altındaki Gerçek Ders

Herhangi bir belirli büyük ölçekli taşımada çalışan gerçek sayı ne olursa olsun, 800 ajan veya 80 veya 8.000, manşet rakamı hikayenin en az ilginç kısmıdır. İlginç kısım, bu ajanların hiçbirine bireysel olarak kendi çalışmalarının doğru olup olmadığına karar verme konusunda güvenilmemesi ve tüm sistemin bu güvensizlik etrafında, ona rağmen değil, tasarlanmış olmasıdır.

Karanlık bir fabrika, kimse izlemediği için karanlıkta çalışmaz. İzleme tamamen makinenin kendisine, derleyici kontrollerine, test paketlerine ve her seferinde, birinci dosyada ve sekiz yüzüncü dosyada, yorgunluk olmadan ve bir insandan aynı tekrarlayan yargı çağrısını binlerce kez üst üste yapmasını istemenin getirdiği tutarsızlık olmadan aynı titiz cevabı üreten bağımlılık grafiklerine taşındığı için karanlıkta çalışır.

Şu anda üretimde çalışan bunun her versiyonunun arkasındaki gerçek desen budur. Daha büyük modellere daha cesur güven değil. Herhangi bir tek bileşenin, insan veya AI, kendi çalışmasının tek yargıcı olmasına izin vermeye yönelik daha disiplinli bir reddediş.

Daha fazla AI içeriği için @cyrilxbt'yi takip edin

Tek tıkla kaydet

YouMind ile viral makaleleri AI derin okumayla incele

Kaynağı kaydedin, odaklı sorular sorun, argümanı özetleyin ve viral bir makaleyi tek bir AI çalışma alanında yeniden kullanılabilir notlara dönüştürün.

YouMind'ı keşfet
Üreticiler için

Markdown'ınızı temiz bir 𝕏 makalesine dönüştürün

Kendi uzun yazılarınızı yayımlarken görselleri, tabloları ve kod bloklarını 𝕏 için biçimlendirmek zahmetlidir. YouMind, eksiksiz bir Markdown taslağını temiz ve hemen paylaşılabilir bir 𝕏 makalesine dönüştürür.

Markdown'dan 𝕏'e deneyin

Çözülecek daha fazla kalıp

Son viral makaleler

Daha fazla viral makale keşfet