- OCaml yerel derleyicisine DWARF v5 hata ayıklama bilgisi ekleyerek macOS ve Linux'ta GDB·LLDB kaynak düzeyinde hata ayıklama desteği sağlayan 13 bin satırlık büyük bir PR gönderildi
- Uygulama, fonksiyon·satır düzeyinde breakpoint, parametre ve yerel değişken takibi, temel tür bilgisinin gösterimi, AMD64·ARM64 desteği gibi özellikleri içeriyor
- Yazar, bu kodun Claude Sonnet 4.5 ve ChatGPT 5(Codex) gibi yapay zeka modellerinin iş birliğiyle üretildiğini, kendisinin ise kod yazmak yerine yapay zekayı yönlendirdiğini ve gözden geçirdiğini belirtti
- OCaml bakımcıları, telif hakkı sorunları, tasarım tartışmasının olmaması, bakım yükü, yapay zeka kodunu inceleme zorluğu gibi gerekçelerle birleştirmeyi reddedip PR'ı kapattı
- Bu tartışma, açık kaynak topluluğunda yapay zeka tarafından üretilen kodun kalitesi·telif hakkı·iş birliği süreçleri konusunda yeni sorunları ortaya koyan bir örnek oldu
DWARF v5 hata ayıklama desteği PR özeti
- PR, OCaml yerel derleyicisine DWARF v5 hata ayıklama bilgisi ekleyerek GDB ve LLDB'de kaynak düzeyinde hata ayıklamayı mümkün kılıyor
- Fonksiyon adı·dosya·satıra göre breakpoint ayarlama, değişken adlarını gösterme, tür bilgisi sağlama
- AMD64·ARM64 mimarileri destekleniyor, 32 bit platformlar desteklenmiyor
- macOS(Mach-O) ve Linux(ELF) üzerinde bölüm göreli yeniden konumlandırma kullanılarak tam DWARF desteği uygulanmış
- LLDB eklentisi (ocaml_lldb.py) eklenerek OCaml değerlerini yazdıran
ocaml print komutu sağlanmış
- Testler 9 maddeden oluşuyor ve işlevsellik·tür·satır hata ayıklamasını doğruluyor
Uygulama ayrıntıları
- DWARF v4'ten v5'e yükseltilirken bağlantı hatalarını önlemek için DW_FORM_string kullanılmış
- Çoklu derleme birimi(CU) desteği ve dize tablosu tekrarlarının kaldırılması eklenmiş
- Yerel değişken·parametre takibi, lexical block, temel tür bilgisi DWARF yapısına yansıtılmış
- Var_lifetime modülüyle değişken yaşam döngüsü takip ediliyor, fun_var_info alanıyla değişken bilgisi derleme hattı boyunca aktarılıyor
- İç içe kapsamlar DW_TAG_lexical_block ile ifade ediliyor
- Test betikleri, GDB·LLDB üzerinde breakpoint'leri ve tür gösterimini doğruluyor
Yapay zeka tarafından üretilen kod tartışması
- Yazar, “Büyük kısmını Claude Sonnet 4.5 yazdı, ChatGPT 5(Codex) ise gözden geçirdi” dedi
- Kendisinin ise “yalnızca yapay zekayı yönlendirdiğini ve gözden geçirdiğini, doğrudan tek satır bile yazmadığını” söyledi
- Bazı dosyalarda Mark Shinwell adının yazar olarak yer alması nedeniyle telif kaynağı tartışması çıktı
- Yazar, ayrı bir analiz raporunda “OxCaml uygulamasından yapı·isimlendirme·tür sistemi açısından farklı olduğunu ve kopya olmadığını” savundu
Bakımcıların tepkisi
- gasche: Tasarım tartışması olmadan 13 binden fazla satır kod gönderildiğini, bunun da inceleme ve bakım yükünü büyüttüğünü belirtti
- Yapay zeka tarafından yazılan kodun “incelenmesinin daha zor ve hukuki risk taşıdığını” söyleyerek birleştirmenin mümkün olmadığına karar verdi
- dra27: “Yapay zeka kodu anlıyor” ifadesini eleştirerek, LLM'lerin anlama değil örüntü üretme aracı olduğunu vurguladı
- bluddy ve tmcgilchrist: DWARF kodunun ayrı bir kütüphaneye ayrılması gerektiğini, derleyicinin içine gömülmesinin bakım yükünü artıracağını söyledi
- Tartışma sertleşince PR, 'too heated' durumu ile kilitlendi
Yapay zeka ve açık kaynak iş birliğinin tartışma başlıkları
- Yazar, bunun “yapay zekanın yüksek kaliteli kodu tamamlayabildiğini kanıtlamaya yönelik” bir yapay zeka temelli geliştirme deneyi olduğunu vurguladı
- Bakımcılar, “yapay zeka tarafından üretilen kodun kalite·telif hakkı·inceleme süreçleri” konusunda net politika eksikliğine işaret etti
- Bu vaka, yapay zeka destekli geliştirmenin açık kaynak projelere entegre edilmesi sırasında gerekli süreç ve standartlar üzerine tartışmaları tetikledi
2 yorum
Ama… PR’ı gönderen kişi bunu hiç anlamıyor.
Bu nedenle… bu PR’ı reddediyorum. (tak tak tak)
Hacker News yorumu
OCaml bakımcılarının zor insanlarla başa çıkmak için özel bir eğitim alıp almadığını merak ediyorum
Sabırları ve olgunlukları hayranlık vericiydi. Ben olsam muhtemelen Torvalds usulü anında engellerdim
Liderliğin yapay zekaya neredeyse dini bir inancı var; tüm mühendislerin yapay zekayı olabildiğince kullanmasını istiyorlar
Kod incelemeleri de giderek yapay zekaya bırakılıyor. Ama bu durumda nazik olmalarının nedeni bu değil gibiydi
Mesela PR'ı parçalara ayırmaya ya da bir tasarım önerisi hazırlamaya yönlendirmek gibi
Bakımcılar fazla iyi niyetli; böyle insanlara zaman harcadıklarını görünce insanın canı sıkılıyor
Bakımcıların duygusallığa kapılmadan mantık ve empatiyle cevap vermesi tam anlamıyla ders kitabı gibi bir iletişim örneğiydi
Yine de bu nezaketin, yanlış beklentileri daha da güçlendirip güçlendirmediğini düşünüyorum
Bir kişi, LLM'den bile daha az öz farkındalığa sahip görünüyordu
Yapay zekanın ürettiği commit'in meşruiyetini yine yapay zekaya sormak gerçekten akıl almaz
Yine de en azından dürüsttü. “Bu çöp yığınını bakımını yaparım ama para ödemeniz gerekir” sözü zirve noktasıydı
Bu yüzden ben de OCaml ekosistemine katkı yapma isteği duydum
“Gönderilen dosyanın yazarı neden Mark Shinwell görünüyor?” sorusuna
“Yapay zeka öyle karar verdi, ben sormadım” diye cevap vermesi her şeyi özetliyor
Bu yapay zeka kuşağı ise en temel çok yönlü düşünmeyi bile yapmıyor
Telif bilgisinin neden eklendiğinin sorulacağı çok belliydi ama buna dair bir cevapları bile yoktu
Sonuçta inceleme yükü bakımcıya kalıyor ve bakım sorumluluğunu katkıyı yapan kişi üstlenmiyor
Bu adamın özgeçmişi efsanevi
Wall Street bankalarından Deutsche Bank'ta teknoloji direktörlüğüne, EA'e lisans satışına,
“Hardcore Erlang” kitabını yazma girişimine, 2 günde 2 milyon dolarlık kripto fon toplamaya kadar
Ya bir dahi ya da yüzyılın palavra ustası olabilir
İlgili bağlantılar: eski blog, özgeçmiş PDF, röportaj, resmi site, Erlang kitabının iptal haberi
Kod yapay zeka tarafından üretilmiş olsa bile, topluluk zaman ayırıp konuşuyor ve geri bildirim veriyorsa
yazarın yapay zekanın yazdığı uzun metinleri olduğu gibi kopyala-yapıştır etmesi bana göre anında engelleme sebebi
Spam botu gibi davranırsanız, spam botu gibi muamele görmeniz doğaldır
Ben soru sorduğumda cevaplar tipik GPT üslubundaydı
Sonunda kendim deneyince neredeyse kelimesi kelimesine aynı cevapları aldım,
ondan sonra da onun kodunu artık incelemeyeceğimi söyledim
“Bu, yapay zeka tarafından yazılmış telif analizi” dendiği anda sınır aşılmıştı
Ben olsam o noktada doğrudan repo'dan engellerdim
Benim de çeşitli açık kaynak projelerinde yapay zeka üretimi PR'ları kapatma deneyimim oldu
Bu tür katkıcılar bir projede reddedilince başka yere geçiyor
İnceleme yükü artıyor, gerçek katkıcı sayısı azalıyor
Yine de bu tartışmayı HN'de gerçek zamanlı izlemek ilginçti
yazar mantıkla hiç ikna olmadı. Başka projeler de muhtemelen böyle dayanabilir
Asıl endişelenmemiz gereken taraf kurumsal yazılım dünyası olabilir
Yapay zeka savunucularına şunu sormak istiyorum
Yapay zekayla yazılmış bir sunumu yaptıktan sonra soru gelirse ne diyeceksiniz?
Buradaki durum tam olarak bu
13k satırlık bir PR'ı ne yaptığını anlamadan ortaya atmak, yapay zeka olsun olmasın yanlış
Yapay zeka sadece bir araç; ister CNC makinesi kullanın ister testere, önemli olan ortaya çıkan şeyi anlamak
Şimdiye kadar gördüğüm yapay zeka üretimi PR'lar arasında bu en sıra dışı örnekti
Çoğu, acemi birinin yazdığı çalışmayan kod olur; ama bu seferki karmaşıktı ve gerçekten çalışıyordu
Yazarı Joel Reymont, 30 yıllık deneyime sahip bir geliştiriciydi ve 2008'den beri HN hesabı olan bir veterandı
OCaml bakımcılarının sabrı etkileyiciydi; sonunda da insan gibi yazdığı bir yorumla tutumunu özetleyip
yapay zekayla OSS'ye katkı yapmayı bırakacağını söyledi
Yine de bu tür PR'lar hâlâ herkes için zaman kaybı ve
şimdiye kadar bunların üretken biçimde kullanıldığı bir örnek görmedim
Gerçekten inanılmaz bir PR'dı
ilgili commit bağlantısı