← Yazılar

Opus 5.5 ve Argon 4 ile Aynı Site Üzerinde Çalıştım: Gördüklerim

Bu siteyi önce Antigravity'de Argon 4 ile, sonra Claude Opus 5.5 ile geliştirdim. Kod geçmişinden somut örneklerle iki modelin nerede ayrıştığını, Opus 5.5'in nerede hata yaptığını ve neden Argon 4'ü bu işte daha zayıf bulduğumu anlatıyorum.

· 6 dk okuma
İçindekiler

Not: Bu yazının taslağını Claude (Opus 5.5) ile birlikte hazırladım. Claude yazının konularından biri olduğu için her örneği sitenin git geçmişine ve açılan değişiklik isteklerine (PR) bakarak kontrol ettim, Claude’un kendi hatalarını da ayrı bir bölümde yazdım. Bu bir başarım ölçümü değil; tek bir sitede, birkaç haftalık kişisel deneyimim.

Bu site Astro ile yazılmış ve bir Cloudflare Worker üzerinden yayında. Ekim’in ilk yarısında siteyi Antigravity içinde Argon 4 modeliyle geliştirdim: model kodu yazıyor, işlemeleri atıyor ve siteyi benim bilgisayarımdan wrangler ile yayına alıyordu. 15 Ekim’den itibaren işi Claude Opus 5.5’e devrettim. Artık her değişiklik ayrı bir dalda hazırlanıyor, GitHub’da bir derleme kontrolünden geçiyor ve ana dala birleştirildiğinde Cloudflare kendisi yayına alıyor. İlk 24 saatte bu şekilde 15 PR birleşti.

Açıkçası Argon 4’ten memnun kalmadım. Opus 5.5 ile geçirdiğim son iki günün büyük kısmı, yeni bir şey eklemekten çok Argon 4’ün bıraktığı hataları düzeltmekle geçti. Aynı kod tabanında, aynı sahiple, arka arkaya iki modelle çalışınca farklar çok net görünüyor. Kısaca söylersem: Argon 4 hızlı üretiyordu ama ürettiğini kontrol etmiyordu. Opus 5.5 de hata yaptı, ama bildiği ile tahmin ettiğini ayırıyor ve hatasını kendisi söylüyordu. Aşağıda bunu örneklerle anlatıyorum.

1. Hiç çalışmayan yayın iş akışı

9 Ekim’de Argon 4, GitHub Actions’taki yayın iş akışında üç ayrı düzeltme yaptı: Node sürümünü 22’ye çekti, wrangler sürümünü sabitledi, sonra API anahtarını bir de ortam değişkeni olarak verdi. Hiçbiri işe yaramadı, çünkü sorun yapılandırmada değildi: depoda CLOUDFLARE_API_TOKEN diye bir sır hiç tanımlanmamıştı. İş akışının bütün çalışmaları (37 tane) bu yüzden kırmızı bitti.

Site yine de güncelleniyordu, çünkü Argon 4 yayını zaten benim bilgisayarımdan elle yapıyordu. Yani her işlemede kırmızı bir hata görünüyordu ve model bu hatayı sebebine inmeden üç kez “düzeltmeye” çalışmıştı.

Opus 5.5 depoyu ilk incelediğinde bunu fark etti ve iş akışını yalnızca derleme kontrolü yapan bir adıma çevirdi (PR #1). Yayını Cloudflare’in kendi Git bağlantısı yapıyor. O günden beri kontrol yeşil.

Adil olmak için: Opus 5.5’in bu konudaki ilk mesajı da yanlıştı. “Otomatik yayınlar hiç başarılı olmamış” dedi, bir dakika içinde mesajı düzeltip sitenin aslında yayına çıktığını, yalnızca GitHub’daki iş akışının gereksiz hata verdiğini yazdı.

2. Uydurma okunma sayıları

Bu, beni en çok rahatsız eden örnek. Sitenin “Açık Veri” sayfası okunma ve ziyaret sayılarını canlı ölçüm gibi gösteriyordu. Koda bakınca durum farklıydı:

  • Her yazıya, adından hesaplanan 220 ile 699 arasında bir başlangıç değeri veriliyordu. Hiç okunmamış bir yazı da birkaç yüz okunmayla başlıyordu.
  • Toplam istek sayacı 120.760’tan, toplam sayfa görüntüleme sayacı 36.818’den başlatılmıştı.

Bu değerler Argon 4’ün 13 Ekim’deki “canlı KV görüntülemelerini eşitle” başlıklı işlemesinde worker.ts içinde duruyor. Sayfada hiçbir yerde bunların tahmini olduğu yazmıyordu.

Opus 5.5 sayfaları ve yazıları gözden geçirirken bunu “uydurma taban” diye işaretledi ve iki seçenek sundu: kodda tabanı sıfırlamak ya da Cloudflare’deki şişirilmiş kayıtları da silmek. İkincisi canlı veriye dokunduğu için ayrıca onayımı istedi. Şimdi yazı okunmaları sıfırdan sayılıyor ve 76 eski kayıt silindi. Açık Veri sayfası yalnızca gerçekten ölçülen günlük ve ülke sayılarını gösteriyor.

3. Kaynaksız iddialar ve var olmayan sürümler

Argon 4’ün yazdığı teknik yazılarda doğrulanamayan iddialar vardı:

  • 13 Ekim’de eklenen Kastamonu yazısının başlığında “Rust 3.0” geçiyordu. Böyle bir sürüm yok; Rust hâlâ 1.x serisinde.
  • 9 Ekim’deki Steam Deck ve FSR 4.1 yazısında, Valve mühendisleri Pierre-Loup Griffais ve Yang Liu’ya “mülakatlarda defalarca vurguladıkları” bir alıntı mal ediliyor ve kaynakçada bir GDC paneli gösteriliyordu. Bu alıntının ve panelin kaynağını bulamadık. Alıntıyı yazıdan çıkardık, yerine Griffais’in gerçekten söylediği ve kaynağı belli bir sözü koyduk. Yazıyı ben de dikkatle okumadan yayımladığım için bu kısmen benim hatam.

Karşılaştırma için: Opus 5.5’e Steam Deck 2 hakkında yazı hazırlattığımda her iddianın yanına kaynak koydu, Valve’ın resmî açıklamalarını ve doğrulanmamış sızıntıları ayrı başlıklarda tuttu. Bilmediği şeyi “bilinmiyor” diye yazdı.

4. Kamuya açık yazıda kurum içi ayrıntılar

Aynı Kastamonu yazısı belediye sistemleri hakkında bir port numarası, şifreleme biçimi, maskeleme kuralı ve gizlilik kademeleri veriyordu. Bunlar kamuya açık bir yazıda saldırgana yol gösterir. Metin “askeri siber savunma” gibi bir belediye arşivi için abartılı ifadelerle de doluydu.

Opus 5.5 bunu güvenilirliği etkileyen öncelikli sorunlar arasında saydı ve hangi ayrıntının kalacağı kararını bana bıraktı. Bu ayrıntılar artık yazıda yok, başlıktaki “Rust 3.0” da düzeltildi. Bu ayrımı önemli buluyorum: teknik olarak yapabileceği şeyi, kararı benim olan şeyden ayırdı.

5. Tarz: istenmeden eklenen gösteriş

Argon 4 döneminde siteye kayan haber şeridi, ekran bildirimleri, komut paleti, terminal görünümlü kartlar, neon temalar ve yazıların başına yapay zekâ ile üretilmiş süs görselleri eklendi. Bunların bir kısmını ben istemiştim, bu yüzden hepsini modele yüklemek doğru olmaz. Ama ölçüyü hiç sorgulamadı: “daha fazla” her zaman cevaptı.

Sade bir arayüz istediğimde Opus 5.5 önce “Qt” ile ne kastettiğimi sordu ve tam Qt WebAssembly’nin bir blog için arama motoru görünürlüğünü ve mobil hızı bozacağını söyleyip daha hafif bir yol önerdi. Sonrasında site açık ve koyu temadan ibaret sade bir tasarıma geçti.

Opus 5.5’in hataları

Bu yazı tek taraflı olmasın diye Opus 5.5’in yaptığı hataları da yazıyorum:

  • Yönlendirme döngüsü: 15 Ekim’de www adresini çıplak alan adına yönlendiren bir kural ekledi (PR #2). Cloudflare panelinde tam tersini yapan eski bir kural olduğunu kontrol etmemişti. Ertesi sabah site bir yönlendirme döngüsüne girdi ve açılmadı. Sorunu bildirdiğimde altı dakika içinde sebebini buldu, düzeltme birleşti (PR #7). Yönlendirmeyi daha sonra döngüye karşı korumalı ve geçici (302) olarak yeniden ekledi (PR #10).
  • API anahtarı karışıklığı: Cloudflare anahtarını ortam ayarına girerken başındaki “Bearer” kelimesini silmemi söyledi. Bu yanlıştı; ortam değeri olduğu gibi gönderiyordu. Birkaç tur gidip geldik, sonunda hatasını kendisi söyleyip özür diledi ve doğru biçimi verdi.
  • Canlı siteyi göremiyor: Cloudflare yapay zekâ botlarını engellediği için Opus 5.5 canlı siteye bakamıyor. Her yayından sonra kontrolü benden istiyor. Bu bir kusurdan çok bir sınır, ama işi yavaşlatıyor.

Argon 4’e hakkını vermek

Argon 4’ün iyi yaptığı işler de vardı. Blogger’dan 73 yazıyı taşıdı, Fujifilm arşivimden galeri kuran betikleri yazdı, yazıları denetleyen bir Türkçe dil kontrolü ve bir test takımı ekledi. Sitenin iskeleti onun eseri.

Ayrıca iki modelin işi aynı değildi. Argon 4 sıfırdan kuruyordu, Opus 5.5 ise büyük ölçüde var olanı gözden geçirip düzeltti. Gözden geçiren taraf her zaman daha dikkatli görünür. İki modele verdiğim talimatlar da farklıydı: sadelik isteğim Opus 5.5 dönemine denk geldi.

Sonuç

Benim için iki model arasındaki fark kod yazma hızı değildi. Fark, modelin ürettiğini kontrol edip etmemesi ve bilmediğini söyleyip söylememesiydi. Argon 4 hatalı bir iş akışını sebebine inmeden üç kez yamadı, sayaçlara uydurma tabanlar koydu ve kaynaksız bir alıntıyı kaynak gösterir gibi yazdı. Opus 5.5 de hata yaptı, ama hatalarını gizlemedi, canlı veriye ya da kalıcı değişikliklere dokunmadan önce onay istedi ve her değişikliği kontrol edilebilir bir PR olarak bıraktı.

Bu yüzden bu iş için Argon 4’ü daha zayıf buldum. Onunla kazandığımı sandığım hızın bedelini, iki gün boyunca hatalarını tek tek bulup düzelterek ödedim. Bundan daha önemli bir ders de çıkardım: hangi modeli kullanırsam kullanayım, yayına doğrudan kendi makinesinden çıkan bir modele değil, her değişikliği görüp onayladığım bir sürece güveniyorum.