Ağustos ayında Anthropic, claude.ai sitesi ile Claude masaüstü uygulamasının çekirdek deneyimini iki haftalık tek bir hamlede yaklaşık üç kat hızlandırdı. Kullanıcılar uzun süredir yavaşlıktan şikayet ediyordu ve ekip bunu açıkça kabul edip işe koyuldu. claude.dev adresindeki resmi teknik yazıya göre bu süreçte 3.000'den fazla değişiklik yayına alındı ve tek bir kullanıcıya yansıyan olay yaşanmadı. Beni en çok şaşırtan, bütün işin tek bir Slack kanalından ve her iş parçacığında görevli bir modelle yürütülmesi oldu.
Nereden başlanacağı
Ekip işe kullanıcı verisini analiz ederek başladı ve toplam etkinliğin yüzde 95'ini oluşturan dört yolculuğa odaklandı: uygulamayı açmak, yeni sohbet başlatmak, eski sohbeti yüklemek ve mesaj göndermek. Web ile masaüstü ve ürünler arası kırılımda bu dört yolculuk on üç ayrı ölçüme dönüştü. 75. yüzdelik dilimde taze yüklemede yazılabilir sayfa süresi 3,1 saniyeden 0,55 saniyeye, yeni kod oturumu açılışı 0,8 saniyeden 0,3 saniyeye, bulut oturumu yüklemesi ise 2,6 saniyeden 0,73 saniyeye indi. Toplamda her gün on binlerce saatlik beklemenin ortadan kalktığı tahmin ediliyor.
Sprint, yaklaşık yirmi adet elle seçilmiş projeyle başladı ve model her projenin etkisini milisaniye cinsinden önceden tahmin etti. Üçüncü günün sonunda on üç hedefin on ikisi tutmuştu bile. Açılışı hızlandırmak için besteleyici doğrudan sayfanın HTML çıktısına gömüldü, böylece kullanıcı React daha açılırken yazabiliyordu. Masaüstü kabuğun ana süreci için önceden derlenmiş bir V8 kod önbelleği hazırlandı, sohbetler arası geçişte besteleyici sökülmedi, üzerine gelinen oturumlar önceden çekildi ve kenar çubuğunun gereksiz yeniden çizimleri yüzde 90 azaltıldı.
Ölçülebilen her şey iyileştirilebilir
Sprintin felsefesi tek cümleye iniyor: model bir şeyi ölçebiliyorsa onu hızlandırabilir. Eskiden ölçüm sıfırıncı adımdı; önce sayaç eklenir, veri beklenir, sonra sorun anlaşılırdı. Burada ise ölçüm tırmanışın ilk adımı oldu ve ekibin en değerli işi tırmanılacak yeni sayılar bulmak haline geldi. Mühendislerden Sam, duvar saati yerine JavaScript komut sayımı önerdi ve on bir dakika içinde beş ayrı ölçüm kolu açıldı. Bu bilgi claude.dev adresindeki resmi teknik yazıda ayrıntılı biçimde anlatılıyor ve yöntemin tekrarlanabilir olduğunu gösteriyor.
Duvar saati gürültülüdür ve CI kilidi olarak kullanılamaz, o yüzden ekip deterministik sayaçlar merdiveni kurdu: saf JavaScript yolları için Valgrind ile komut sayımı, tarayıcı yolları için React işleme sayısı, V8 işlev çağrı sayımı, stil yeniden hesaplama ve DOM değişim sayaçları. Her yeni ölçümün iki işi vardı: laboratuvarda iyileştirilecek bir sayı vermek ve CI içinde yalnızca aşağı inen bir tavan olmak. Duvar saatiyle ilişkisini kanıtlayamayan ölçüm acımadan çöpe atıldı. iphoneincanada.ca sitesindeki haber özetine göre bu disiplin, iki haftalık işin güvenle yayına alınmasının temel güvencesi olarak öne çıkıyor.
Kanıt deneyi iki sıcak yol üzerinde yapıldı: sohbetin mesaj ağacını kuran rutin ile kod çıktısındaki durum satırlarını tarayan işlev. Profil sonucu, ilk yolun komutlarının dörtte birinin aynı mesaj kimliğini üç kez çözen çok biçimli sözlük aramalarından geldiğini gösterdi. Bir saat sonra komut sayıları yüzde 48 ve yüzde 31 düşmüş, duvar saati yüzde 78 ve yüzde 44 kısalmıştı. İki yeni kilit CI sistemine işlendi ve tavanı her düşüşte indiren günlük bir görev tanımlandı. analyticsindiamag.com sitesindeki analize göre bu tür deterministik kilitler, hızlı kod tabanlarında kazanımların erimesini engelleyen en pratik araç olarak dikkat çekiyor.
Yüz elli eşzamanlı iş parçacığı
Sprint kısa sürede bir döngüye oturdu: biri yavaş bir anı kayıtlama ile açıyor, model akışı izleyip sorunu gösteren bir ölçüm kuruyor, laboratuvarda sonuç alınca risk boyutunda birkaç çekme isteği gönderiyor, yayından sonra saha verisini okuyor ve kazanım varsa kilidi sıkılaştırıp yoksa bayrağı kapatıp yeniden deniyor. Sprint boyunca aynı anda yüz elliden fazla iş parçacığı açıktı ve çekme isteklerinin yaklaşık üçte biri yanında ek telemetri ya da kilit taşıyordu. fourweekmba.com sitesindeki değerlendirmeye göre 3.000'i aşan değişiklik sayısının olaysız yayına alınması, bu döngü disiplininin en güçlü kanıtı olarak sunuluyor.
En sevdiğim örnek kenar çubuğundaki seğirme avıydı. Sayfa yüklendikten sonra satırlar farklı zamanlarda beliriyor ve sayfa titrek görünüyordu, ancak mevcut hiçbir izleyici bunu yakalayamıyordu. Mühendis Issac, tarayıcının Yerleşim Kararsızlığı arayüzüne doğrudan bakmayı önerdi ve model her kaymayı adlı bölge ile aşamaya eşleyen bir telemetri olayı üretti. Test, ana kolda 20 denemede 20 kez kırmızı, düzeltmede 20 denemede 20 kez yeşil verdi. Saha verisi, web yüklemelerinin yüzde 31'inde kullanıcı dokunmadan bir şeylerin kaydığını gösterdi ve geç gelen başlık satırı, isim yüklenince kayan imleç, kaydırma çubuğu belirince oynayan liste gibi suçlular tek tek temizlendi.
İş parçacıkları kapatılmak yerine açık bırakıldı ve tek bir kol bazen elli, bazen yüz iyileştirme isteği çıkardı. Giderek yeni kolları insanlar değil, modelin kendisi açmaya başladı. Ekipteki Shelley, model için sayı şeytanı benzetmesini yaptı. Model, yazma yolunda her tuş vuruşunda yeniden çizilen 6.900 React kancası ve 900 veri deposu aboneliği buldu. Tek bir kök seçicinin her DOM değişimine 24 milisaniye eklediğini, yarım milyon gizli sayfa yeniden yüklemesine yol açan unutulmuş bir komutu ve boş sekmelerde dakikada iki kez yinelenen önbellek kopyalarını ortaya çıkardı. ciol.com sitesindeki habere göre bu bulgular, ölçüm yapıldıkça yeni fırsat doğduğunu gösteren en çarpıcı örnekler arasında sayılıyor.
En zarif düzeltmelerden biri tire işaretinden geldi. Bitmiş bir kod bloğunu vurgulamak sayfayı yaklaşık bir saniye donduruyordu ve suçlu, yanıtın içindeki Latin-1 dışı tek bir karakterdi. V8, Latin-1 dışı karakter içeren dizgiyi UTF-16 saklıyor ve bu da bütün vurgulama kurallarını yavaş iki baytlık yola sokuyordu. Çözüm, her kod bloğunu vurgulamadan önce tek baytlık dizgiye kopyalayan yirmi satırlık bir değişiklikti. news.lavx.hu sitesindeki sprint özetinde bu tür küçük ama derin bulguların, laboratuvar ölçümü olmadan asla yakalanamayacağı vurgulanıyor.
Korkuluklar olmadan hız olmaz
Sıcak yolların neredeyse tamamına dokunulduğu için güvenlik önden kurulmuştu: her istek otomatik incelemeden geçiyor, en az bir insan onayı alınıyor, testler iyileştirmeden önce yazılıyor ve kullanıcıya dokunabilecek her şey kısa ömürlü bir bayrağın arkasına saklanıyordu. İki haftada yaklaşık iki yüz bayrak açıldı ve yarısından fazlası sprint bitmeden temizlendi. Statik besteleyici özellikle kırılgandı; gerçek React bileşeni sanal belgede çizilip kayma on dört farklı ekran boyutunda bir piksel toleransla sınandı, devir sırasında yazılan tuş testi tek bir kayıp karakteri bile affetmiyordu.
En eğlenceli böcek avı, dahili yayından dört saat sonra gelen bir ekran kaydıyla başladı. Yeni sekmede açılan sayfada besteleyici kutusu 10 piksel kadar aşağı kayıyordu. Model, sorunun kendi kodlarında değil Chrome'un davranışında olduğunu buldu: kurumsal yönetimli tarayıcılarda yeni sekme sayfası 56 piksel yüksekliğinde bir alt bilgi taşıyor, adres çubuğundan yazarken sayfa arka planda kısa boyla önceden çiziliyor ve ilk kareden yaklaşık 100 milisaniye sonra sayfa uzayınca besteleyici aşağı düşüyordu. Model yerleşimi sabitledi ve ön-çizim akışını taklit eden bir test eklendi. Bu vaka, claude.dev adresindeki resmi teknik yazıda laboratuvar ile saha arasındaki farkı kapatan en iyi örnek olarak anlatılıyor.
İnsanların işi: hırs, zevk, yön
Döngü üretkendi ama özerk değildi ve insanların üç işi vardı. İlki hırstı: model kapsamı dar tutmaya, bulguları kayda geçirmeye ve tahminleri şişirmeye eğilimliydi, ekip ise korkuluklara güvenip daha cesur olmasını istedi. İkincisi zevkti: kullanıcıya yansıyan her değişim öncesi-sonrası kayıtlarla sunuldu ve iskelet ekranın hemen mi yoksa yarım saniye sonra mı belireceği gibi kararları insanlar verdi. Üçüncüsü yondu: her kol bilerek dar tutuldu ve hangi yüzeye öncelik verileceği, çakışan kolların nasıl birleştirileceği, getirisi azalan kolun ne zaman kapatılacağı konuşuldu. Dokuz yüz satırlık bir istek, gönderi başına 2 milisaniye kazanç için fazla karmaşık bulunup tek cümleyle reddedildi.
Yan görevlerden biri 8 milisaniyelik kuralıyla efsaneleşti. Akan uzun bir yanıtın karesine hız göstergesi eklendi ve 120 Hz hedefi kondu: kare başına 8,33 milisaniye. Model, başsız tarayıcıda geliştirici araçlarının kare kontrolüyle tam 240 karede 240 başlangıç elde etti ve yanıtı kare kare gezdi. Bitmiş blokların belleğe alınmış sonuçlarıyla mesaj uzunluğuna bağlı işler kaldırıldı, büyüyen kod çitlerinin jetonlama mantığı çalışana taşındı ve tablolar hücre hücre açıldı. Tek kolda yaklaşık altmış istek birleştirildi, uzun yanıtların ana iş parçacığı yükü 750 milisaniyeden 200 milisaniyeye indi ve 120 Hz dizüstünde baştan sona tam kare hızı tutturuldu.
Planlı projeler erken bitince ekip modele açıkça çılgın fikirler istedi ve tepe tırmanışı yeni bir tura girdi. Sunucu bu çağrıyı kendi deneyimiyle doğruluyor: benzer bir davet, onu özel bir çalışma ortamı çatallamaya götürmüş ve iki ile dört kat arası hız kazandırmıştı. fourweekmba.com adresindeki analizde bu ikinci dalganın, ilk hedeflerin çok ötesine geçtiği ve sprintin asıl sıçramasını getirdiği belirtiliyor. Ders açık: hedefler tutunca durmak yerine ölçülecek yeni şey aramak gerekiyor.
Sunucunun merceğinden
Videoyu çeken geliştirici, yıllardır Anthropic'in mühendislik kalitesini eleştiren biri olarak sürece temkinli yaklaşıyor ve kendi ürününde benzer bir performans seferberliğini anlatıyor. Yerel depolama önbelleği, anında beliren kenar çubuğu ve model seçicinin yüklenme gecikmesi gibi kendi dertleriyle makale arasında sürekli paralellik kuruyor. Ona göre asıl ders, modele performansı düzelt demek yerine önce ölçmeyi öğretmek. Videonun ortasındaki sponsorlu bölüm, ajanların adına kaydolabildiği yeni bir giriş standardını tanıtıyor ve tek cümleyle geçiştiriliyor.
Sprintin artçıları da yukarı akışa taştı ve Electron, Chromium ile Node tarafına katkılar indi. Masaüstü ve web bugün ağustos başına göre yaklaşık üç kat hızlı ve kilitler bu seviyeyi korumak için devrede. Ancak ekip işin bitmediğini söylüyor: 95. yüzdelik dilim, diğer yolculuklar ve çok uzun sohbetlerde hâlâ pay var. iphoneincanada.ca adresindeki haberde de belirtildiği gibi kullanıcılar hızlanmayı günlük kullanımda hissetmeye başlamış durumda. Bütün kanal hâlâ açık ve ekip aynı yöntemle tek tek ilerlemeyi sürdürmeyi planlıyor.
Videodaki anahtar anlar
- Açılış: claude.ai neden üç kat hızlandı
- Dört kritik yolculuk ve p75 ölçümleri
- Claude Tag ile Slack kanalında sprint düzeni
- Valgrind sayaçları ve deterministik ölçüm merdiveni
- 6.900 kanca sayımı ve stil hesapları
- Chrome ön-yükleme kayması dedektifliği
- 120 Hz hedefi ve 8 milisaniyelik kare bütçesi
- Kapanış: ölçmek, iyileştirmenin ilk adımı
AI yorumu
"Anthropic ekibinin ölçüm disiplinini bir ürün kültürü haline getirmesi beni etkiledi. En sevdiğim detay, yavaşlığın bahane değil sayı olarak görülmesi ve her sayının bir sorumlusunun olması. Bu yaklaşım küçük ekipler için bile kopyalanabilir görünüyor."
AI değerlendirmesi
Anlatının en güçlü karşı görüşü sayıların kaynağında yatıyor: 3 kat, 3.000 değişiklik ve yüzdelik iyileşmelerin tamamı Anthropic ekibinin kendi ölçümlerine dayanıyor ve bağımsız bir doğrulama bulunmuyor. fourweekmba.com adresindeki analiz de bu noktanın altını çiziyor ve iddiaların şirketin 23 Eylül tarihli mühendislik yazısından aktarıldığını açıkça belirtiyor. Yüzdeler etkileyici görünse de hangi donanım ve ağ koşullarında ölçüldüğü belirtilmiyor, bu yüzden okurun kendi cihazında aynı kazancı beklememesi gerekiyor.
Kapsamda boşluklar da var: ekip işin bitmediğini kendisi söylüyor ve 95. yüzdelik dilim ile çok uzun sohbetler hâlâ yavaş. Mobil deneyim, düşük bant genişlikli bölgeler ve erişilebilirlik boyutu yazıda hiç geçmiyor. Ayrıca sprintin iki haftalık olağanüstü odağı, normal ürün temposunda aynı disiplinin sürdürülebilir olup olmadığı sorusunu açık bırakıyor. Kilitler kazanımları koruyor olabilir, ancak yeni özellik baskısı altında bu kilitlerin gevşetilip gevşetilmeyeceği bilinmiyor.
Konuşmacının konumu da dikkate değer: sunucu yıllardır Anthropic mühendisliğini eleştiren ve kendi kod ürününü satan bir geliştirici, dolayısıyla makaleyi olduğundan parlak göstermek için değil, ders çıkarmak için okuyor. Bu mesafeli duruş anlatıya güven katıyor. Öte yandan videonun ortasındaki sponsorlu giriş standardı tanıtımı, performans anlatısıyla doğrudan ilgili değil ve tek cümleyle geçiştirilmesi doğru bir editoryal karar olmuş.
Okur için pratik çıkarım üç maddede özetlenebilir: önce yavaşlığı bir sayıya bağlayın, sonra o sayıyı deterministik hale getirip CI kilidine çevirin ve kapsamı bilerek dar tutun. Büyük mimari hayaller yerine kanca sayımı ve gereksiz çizim gibi sıkıcı kalemlerden başlamak, iki haftada hissedilir fark yaratabiliyor. Bu yöntemi kendi ekibinize taşırken claude.dev adresindeki resmi teknik yazıdaki döngüyü şablon olarak kullanabilirsiniz.
Kaynaklar
7 bağlantı; bunları kullanan başka yayımlanmış haber yok. Aynı bağlantıyı paylaşan haberler birbirini doğrulamış sayılmaz; kaynağın kökeni bağlantı sayısından çıkarılmaz.
- @youtube.com YouTube — Theo t3.gg video essay
- @claude.dev Anthropic — official engineering post
- @iphoneincanada.ca iPhone in Canada — sprint news summary
- @analyticsindiamag.com Analytics India Magazine — sprint analysis
- @fourweekmba.com FourWeekMBA — business evaluation
- @ciol.com CIOL — performance report
- @news.lavx.hu LavX News — sprint recap
claude · anthropic · performans · react · v8 · yapay zeka ajanları