动察 Beating AI hızlı haber: GitHub, Rubicon kod adlı yeni nesil Git depolama mimarisini duyurdu. Dahili testler, 5000 AI Agent'ın aynı anda tek bir kod deposunda çalışabildiğini, saniyede 7200 kod gönderimi tamamladığını ve aynı zamanda düşük okuma gecikmesini koruduğunu gösteriyor.
Geçmişte, GitHub'ın en yoğun kod depoları bile saniyede yalnızca kısa süreli onlarca yazma işlemi gerçekleştirebiliyordu. Şimdi, çok sayıda AI Agent günün her saati paralel olarak geliştirme yapabiliyor ve sürekli yeni kod gönderebiliyor. Her gönderim ayrıca otomatik testleri tetikleyebiliyor ve diğer Agent'ların en son sürümü indirmesine neden oluyor, bu da deponun okuma-yazma yükünü artırıyor.
GitHub'ın çözümü, "kodu depolama" ve "dalı güncelleme" işlemlerini ayrı ayrı ele almak oldu.
Git her kod gönderiminde iki şeyi tamamlamak zorundadır. İlk adım, eklenen veya değiştirilen kod içeriğini kaydetmektir. Git eski sürümün üzerine doğrudan yazmaz, bunun yerine değişen içeriği yeni nesne olarak saklar ve değişmeyen kısımlar yeniden kullanılabilir. İkinci adım, dal işaretçisini güncelleyerek bu dalın şu anda hangi en son sürüme işaret ettiğini kaydetmektir.
Örneğin, 1000 Agent aynı anda yazılım geliştiriyor, bazıları giriş işlevini, bazıları ödeme işlevini değiştiriyor. Farklı dallarda çalıştıkları sürece yeni kodlar aynı anda kaydedilebilir ve dallar kendi kendine güncellenebilir. Yalnızca iki Agent aynı anda aynı dalı güncellemek için yarıştığında, sistem hangi güncellemenin önce başarılı olacağına karar vermek zorundadır.
GitHub başlangıçta tüm dalların tek bir güncelleme kaydını paylaşmasını sağladı. Farklı AI Agent'lar farklı dalları değiştirse bile aynı dosyayı güncellemek için yarışmak zorundaydı, bu da saniyede yalnızca birkaç yüz gönderimin işlenmesine neden oluyordu. GitHub daha sonra kaydı birden fazla parçaya bölerek farklı dalların aynı anda güncellenmesini denedi. Ancak bu şekilde, depoda değişiklik olup olmadığını her kontrol edişte parçaların tek tek sorgulanması gerekiyordu ve bu da okuma hızını yavaşlatıyordu.
Sonunda GitHub, dal güncellemelerini özel olarak yöneten Ref-CAS hizmetini geliştirdi. Bu hizmet, farklı dalların aynı anda güncellenmesine izin verir ve yalnızca aynı dal değiştirildiğinde çakışmaların ele alınması gerekir. Aynı zamanda tüm depo için tek bir birleşik sürüm numarası tutar. Diğer programlar yalnızca bu sürüm numarasını kontrol ederek depoda değişiklik olup olmadığını anlayabilir ve tüm dalları tek tek sorgulamak zorunda kalmaz.
GitHub ayrıca, sürekli biriken kod veri paketlerini arka planda birleştirmek için bağımsız makineler tahsis ederek veri paketlerinin giderek çoğalmasını ve okuma hızını yavaşlatmasını önledi. Yeni mimari sonunda dahili testlerde saniyede 7200 gönderime ulaştı.
GitHub'ın Rubicon'u şu anda sınırlı özel beta aşamasında olup 2027'nin başlarında daha geniş kullanıma açılması planlanıyor.
