6 puan yazan GN⁺ 2025-11-01 | 1 yorum | WhatsApp'ta paylaş
  • Kod değişikliklerindeki (diff) her satır ve token'ı renkle ayırarak inceleme gereksiniminin düzeyini görselleştiren bir araç
  • Basit hata tespiti yerine, 'yeniden bakmaya değer kısımları' vurgulamak üzere tasarlandı
  • GitHub Pull Request URL'sindeki github.com alan adını 0github.com olarak değiştirince doğrudan kullanılabiliyor
  • Arka planda depoyu bir VM'e klonlayıp gpt-5-codex'i çalıştırarak JSON yapısında analiz sonuçları üretiyor

Genel Bakış

  • Bu araç, kod inceleme sürecinde değişen kodun her bölümünün ne kadar dikkatli incelenmesi gerektiğini bir ısı haritası olarak gösterir
  • Renkler, insan dikkatine ihtiyaç düzeyi temel alınarak belirlenir; bu da basit hata tespitinden farklı bir yaklaşım sunar

Nasıl Çalışır

  • Kullanıcı, GitHub Pull Request URL'sinin alan adını github.com yerine 0github.com yaparak erişir
  • Sistem ilgili depoyu sanal makineye (VM) klonlar ve her diff için gpt-5-codex modelini çalıştırır
  • Modelin ürettiği JSON veri yapısı ayrıştırılarak renkli bir ısı haritasına dönüştürülür

Analiz Ölçütleri

  • Sadece “hata var mı” sorusuna değil; sabit kodlanmış gizli değerler, anormal şifreleme modları, karmaşık mantık gibi
    insanın yeniden kontrol etmesi gereken noktaları öne çıkarır

1 yorum

 
GN⁺ 2025-11-01
Hacker News görüşleri
  • Aşina olduğum bir kod tabanında “LLM teşekkürler, ama ben daha iyi biliyorum, gerek yok” diye düşünüyorum
    Tersine, aşina olmadığım bir kodsa zaten incelemeyi onaylamam ya da merge etmem
    Yine de bu tür yaratıcı LLM kullanımları ilginç bir deneme

    • Bizzat test ettim. Rastgele Laravel PR #57499'u seçtim, ama %60 ayarında sadece test kodu vurgulandı ve önemli değişiklikler kaçırıldı
      Silinen kod da hiç gösterilmedi, değişmemiş satırlar ise vurgulandı
      Dürüst bir denemeydi ama sonuç hayal kırıklığı yarattı
  • GitHub'da benim yerime işlem yapma yetkisini neden istediğini merak ettim
    cmux-agent tüm GitHub hesabına erişim istiyor
    Issue açmaya çalıştım ama repoda issue özelliği kapalıydı. Biraz şüpheli bir his verdi

    • Herkese açık bir repoysa giriş yapmadan erişilebilir olması gerekir
      Gizli modda örnek PR'leri, stack-auth, tinygrad, datasette ile test ettim, iyi çalıştı
      Issue'ların kapalı olduğunu bilmiyordum, şimdi issue sayfası normal çalışıyor
    • Bu GitHub'ın yapısal bir sorunu. İlgili tartışma'ya bakınca OAuth App ile GitHub App'in izin modellerinin farklı olduğu görülüyor
      GitHub App belirli bir repoya kurulabiliyor ama yine de “kullanıcı adına işlem yapma” yetkisini içeriyor
      Bu yüzden korkutucu görünen açılır pencere çıkıyor
      Benim uygulamam codeinput.com bir OAuth App olduğu için sadece e-posta istiyor, ama girişten sonra tekrar kurulum adımından geçilmesi gereken karmaşık bir kimlik doğrulama akışı oluşuyor
    • Uygulama ilk çalıştırıldığında GitHub ile giriş istiyor. Ondan önce hiçbir şey görülemiyor
  • Yön ilgi çekici ama maliyet/fayda tarafı belirsiz
    LLM'nin yalnızca tek bir PR diff'inden proje bağlamını anlaması hâlâ zor
    Bunun yerine geçmiş bug'lar ya da değişiklik sıklığına dayanan veri odaklı bir heatmap daha güvenilir olabilir gibi geliyor

    • Gemini ücretsiz anahtarı kullanılırsa günlük istek kotası yeterli oluyor, bu yüzden küçük ekipler için (günde 10~20 PR) büyük bir maliyet değil
      Kişisel anahtarla çalıştırılabilse daha da iyi olurdu
    • diff'in entropisini analiz eden benzer bir araç olup olmadığını merak ediyorum
    • Biz de daha önce repoyu bir VM'e kopyalayıp Codex ile gezdirdiğimiz deneyler yaptık ama gecikme ve maliyet sorunları yüzünden bıraktık
      Distillation ile maliyet azaltılabilir gibi görünüyor ama hâlâ deneme aşamasındayız
      Geçmiş bug'larla korelasyonu LLM olmadan hesaplamanın bir yolu olup olmadığını da düşünüyoruz
    • Kod incelemesi yaparken diff'te olmayan satırlardan sık sık bahsediyorum
      Bu tür araçlar sonuçta sorunun yalnızca bir kısmını çözebilir
    • Kodun sık değişen kısımları mutlaka daha çok bug içeren yerler olmayabilir
      Hatta insanların daha dikkatli baktığı alanlar olabilir
      Bunu açık kaynak verisiyle doğrulamak ilginç olabilir
  • Benim PR'im'in HN'ye çıkması hoşuma gitti
    %0 eşik değeriyle bırakıp renk gradyanını daha çeşitli ayarlayabilmek güzel olurdu
    PR oluşturmadan önce AI'nin ürettiği kodu bu araçla önceden incelemenin mümkün olup olmadığını da merak ediyorum

    • Renk ve gradyan ayarlanabilir olacak
      diff'i CLI ya da HTML olarak render eden bir komut biçimi iyi olur mu, görüş almak isterim
    • Böyle araçları kullanırken sonunda doğrudan kod yazmaktan daha fazla zaman harcamak da mümkün olabilir
  • 0github.com alan adı uzun süre korunması zor bir isim gibi görünüyor. Hızlıca başka bir alan adı bulmak iyi olurdu

    • Nedenini merak ettim
  • Özellikle çok büyük PR'lerde faydalı olabilir gibi görünüyor
    Slider yerine renklere tıklayıp anlamı doğrudan görebilmek iyi olurdu
    Şu an tek bakışta anlamak zor ama sık kullanılırsa alışılabilir gibi

    • Şu anda vurgulanan kelimenin üzerine gelince tooltip gösteriliyor
      Mobilde de görünecek şekilde iyileştirmeyi planlıyorum. Acaba başka bir gösterim yöntemi daha mı iyi olurdu?
  • Basit bir Rust PR'inde denedim, oldukça iyi çalıştı
    Ama vurgu konumunu biraz daha hassas ayarlayabilmek güzel olurdu
    Bir ekip arkadaşının PR'inde neredeyse görünmeyen bir yazım hatasını yakalaması etkileyiciydi
    Test ettiğim PR bağlantısı
    Silinen kodun bir kısmı gösteriliyor ama büyük bölümü yok sayılıyor
    Acaba token'lar arası mesafe hesaplanıyor mu diye merak ettim

    • Uygulama bu dosyada yer alıyor
      Şu an basit bir LLM prompt'u temelli
      İleride halüsinasyon token tespiti yönünde geliştirilebilir gibi görünüyor. Bununla ilgili makalelere bakmayı planlıyorum
  • Son zamanlarda AI'nin ürettiği büyük PR'ler arttığı için böyle bir araca ihtiyaç olduğunu hissettim
    İnceleyenin stilini öğrenip buna göre kişiselleştirilmiş inceleme sunması iyi olurdu
    Bu commit'in doğru commit olup olmadığını kontrol ediyorum

    • Ana mantık bu dosyada yer alıyor
      DSPy sistemiyle inceleyenin tercihlerine uygun otomatik inceleme deneyleri yapıyorum
  • Aslında böyle araçlara ihtiyaç duymayacak kadar makul boyutta PR'ler üretmek daha önemli
    Bugünlerde AI tarafından yazılmış PR'leri inceliyorum, hatta yorumlarıma AI yanıt veriyor
    Sonunda inceleyenlerin de AI ile değiştirileceği bir dönem gelecek gibi görünüyor

  • Örnek PR'ye tıkladım ama sürekli yükleniyor. Önbellekleme gerekli gibi görünüyor

    • Aslında önbellekleme zaten olmalıydı, kontrol ediyorum
    • Düzeltildi. Artık normal çalışıyor