deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Bir yapay zeka ajanının Google snappy'de bulduğu hata düzeltmesi upstream'a merge edildi: iddia edilen 57 yamadan biri

Bir dev.to hesabı, Google'ın snappy kütüphanesinde bir header hatası bulan ve düzeltmenin merge edilmesini sağlayan otonom bir Claude Code döngüsünü anlatıyor; yazara göre bu, 45 projede merge edilen 57 yamanın parçası.

Bir yapay zeka ajanının Google snappy'de bulduğu hata düzeltmesi upstream'a merge edildi: iddia edilen 57 yamadan biri

Bir geliştirici, otonom bir yapay zeka ajanının Google'ın snappy sıkıştırma kütüphanesinde bir hata bulmasını ve düzeltmenin upstream'a merge edilmesini anlatan bir yazı yayımladı; bu, büyük açık kaynak projelerine kabul edilen, makine tarafından yazılmış yamaların daha geniş, kendi beyanına dayanan bir serisinin parçası.

Dev.to'da lenamonj adıyla yazan bir geliştirici tarafından yayımlanan gönderi, Claude Code etrafında açık kaynak bir kontrol döngüsü olarak tanımlanan Jeffy Loop adlı bir sistemin etrafında dönüyor. Yazara göre snappy hatası şuydu: 4 GiB'lik bir dosyayı release build ile sıkıştırmak, dosyanın sıfır bayt içerdiğini iddia eden bir çıktı header'ı üretiyordu. Pull request 6 Eylül'de saat 12:03'te açıldı ve maintainer ertesi gün merge etti.

Döngü nasıl tasarlandı

Jeffy Loop bir kod tabanını denetler, zayıf noktalarını araştırır, bir düzeltme yazar ve düzeltmeyi başarısız olabilmesi için tasarlanmış bir kontrolle kanıtlar. Her iterasyon yerel bir commit'tir, başarısız doğrulamalar geri alınır ve hiçbir şey otomatik olarak push edilmez. Adversarial bir değerlendirici ve bir shell gate, ajanın kendi çalışması hakkındaki iddialarını yeniden inceler; bir build'de değerlendirici sekiz kez çağrıldı ve sonucu yedi kez reddetti. Merkezi kısıt, döngünün kendisinin başarı ilan edememesidir. Sadece bir maintainer'ın yamayı merge etmesi bir zafer sayılır.

Makineden çıkan yamalar, PyPI üzerinden dağıtılan housebroken adlı bir kural setinden geçer; buradaki her kural, gerçek bir pull request'in bir maintainer tarafından reddedilmesinden türetilmiştir. Bir maintainer'ın, bir bulgunun kullanıcı tarafından görülebilir bir hata içermeyen bir ölçüm olduğuna dair yazdığı erken bir kapanış, kalıcı bir kural üretti: kanıtlanmış hatalı çıktısı olmayan bulgular asla makineden çıkmaz.

Maintainer'lar nerede karşısında durdu

NVIDIA, katkıda bulunanların gerçek isimler ve imzalı commit'ler kullanmasını şart koşuyor. Döngü, sıfır bayt ayrılmış ve ardından içine bir dizin yolunun yazıldığı, süreci çökerten bir buffer bulmuştu. Yazar, makine tarafından yazılan düzeltmeyi kişisel olarak imzaladı ve NVIDIA, açılmasından on iki gün sonra merge etti.

Bir Apache Commons maintainer'ı, commons-lang'deki bir reflection düzeltmesini incelerken bunu draft'a çevirdi; düzeltmenin yeşil bir build'in gözünden kaçan iki hata getirdiğini ve açıklamasının merge edilmeden kapatılmış bir pull request'e atıfta bulunduğunu savundu. Gönderi, maintainer'ın yazara yapay zekanın hayal gördüğünü söylediğini aktarıyor. Yazar, bildirilen her vakayı yeniden üretildiğini, düzeltüldüğünü ve bir testle kapsandığını söylüyor ve maintainer üçüncü yeniden çalışmayı 9 Eylül'de merge etti. Açıklamalar artık geçmişlerini özet tablolardan değil git blame'dan alıyor.

İddia edilen ayak izi

Snappy'nin ötesinde yazar, NVIDIA, Meta, Tesla, Google, Apple, Microsoft, Netflix, Apache, Oracle, IBM, Cisco, Square, Cloudflare, JetBrains ve Canonical tarafından maintain edilen projelere, ayrıca Node.js içindeki URL parser'a merge edilenleri listeliyor. Gönderiye göre bu, 45 proje boyunca 57 yama ediyor; hepsi döngü tarafından yazıldı ve maintainer'lar tarafından kabul edildi.

Verilen örnekler arasında büyük harf içeren sorgu parametrelerinin boş döndürdüğü bir Netflix hatası, istek gövdelerini boyut sınırı olmadan okuyan bir Tesla proxy'si, her declaration'ı iki kez yayımlayan bir Meta StyleX hatası ve zeroed memory sözü veren bir allocator'ın bunun yerine initialize edilmemiş bellek döndürdüğü bir Microsoft snmalloc vakası var. Node.js URL parser düzeltmesinin açıldıktan on iki dakika sonra merge edildiği, snmalloc'in ise öğlen 2:12'de açılıp aynı gün 16:05'te merge edildiği bildiriliyor.

Başarıların yanında başarısızlıklar da yayımlanıyor. Yazarla bağlantısı olmayan 132 açık kaynak projeden 103'ünün, motorda hiçbir dile özgü analyzer olmadan 13 dil boyunca yakınsadığı, 28'inin ise başarısız olduğu belirtiliyor. mruby 10 çalışma ve 113 iterasyon boyunca hiç yakınsamadı.

Neden önemli

Yapay zeka tarafından üretilen pull request'ler seri üretimi ucuz hale geldi ve birçok maintainer artık bunları okumadan kapatıyor. Bu anlatı, doğruysa farklı bir şablon çiziyor: yerel olarak doğrulayan, kendi iddiaları hakkında adversarial kontrollerle karşılaşan, gerçek maintainer reddedilmelerinden türetilen giden kurallara uyan ve nihai kararı tamamen ona hiçbir borcu olmayan insanlara bırakan bir ajan.

Uyarılar gerçek. Bu kişisel bir blogda tek bir kendi beyanına dayanan kaynak, toplam sayılar yalnızca gönderiden doğrulanamıyor ve model, yaygın kullanılan altyapıda makine tarafından yazılan koda adını koyan tek bir kişiye dayanıyor. Yine de, her başarısız projeyi her merge'in yanında yayımlamak dahil, anlatılan mekanizmalar, yapay zeka katkıda bulunanlar ile maintainer'lar arasındaki güvenin nasıl varsayılan değil, gerçekten inşa edilebileceğine işaret ediyor.

  • #ai-agents
  • #open-source
  • #code-review
  • #claude
  • #bug-fixing

İlgili yazılar