Tamam, bu yüzden ChatGPT gerçekten kodumu hata ayıkladı.

1-hata-ayıklama(1).png

Öyle. Programlama. Bir yaşam için program yazan insanlar için, sürekli bir zihinsel Jenga oyunudur: bir satır kod diğerinin üzerine istiflenir, aşağı düşmemesi için umuduyla sağlam bir kod kulesi oluşturulur.

Ancak her zaman olur. Kod ilk çalıştırıldığında hiçbir zaman işe yaramaz. Bu nedenle, her programcı için önemli bir beceri, kodun neden çalışmadığını veya beklenmedik veya istenmeyen bir şey yaptığını bulma sanatı ve bilimidir - hata ayıklama.

Bir dedektif gibi, ipuçlarını bulmak ve sonra bu ipuçlarının size ne anlatmak istediğini öğrenmek gibi bir şey. Bazen tam olarak aynı anda hem sinir bozucu hem de tatmin edici oluyor.

Çok fazla hata ayıklama yapıyorum. Sadece kodun ilk çalıştırıldığında asla çalışmadığını belirtmek için değil. Aynı zamanda kodun nasıl çalıştığını anlamak ve yol boyunca ayarlamak için hata ayıklamayı kullanıyorum.

Ancak iyi hata ayıklama yapmak özel bir beceri gerektirse de, sonuçta sadece programlamadır. Bir kod bloğunun neden çalışmadığını bulduktan sonra, çalışan bir şey yazmanın nasıl olduğunu bulmanız gerekmektedir.

Gerçek dünya ChatGPT testleri

Bu hafta, yönettiğim yazılım için üç kodlama görevi üzerinde çalışıyordum. İki tanesi kullanıcılar tarafından bildirilen hataların düzeltilmesiydi. Bir tanesi ise yeni bir özelliğin eklenmesi için yazılan yeni bir kod parçasıydı. Bu benim için gerçek ve standart programlama çalışmasıydı. Bu, düzenli çalışma programımın bir parçasıydı.

Ayrıca:ChatGPT nasıl çalışır?

Şu ana kadar sadece test koduyla ChatGPT'yi denediğimi söylemek istiyorum. ChatGPT'nin ne kadar iyi çalışacağını görmek için senaryolar uydurdum. Bu sefer farklıydı. Gerçek işleri halletmek için ChatGPT'nin kullanışlı bir araç olup olamayacağını görmeyi denedim.

Farklı bir perspektiften ChatGPT'ye bakmak için farklı bir yol. Test senaryoları genellikle biraz yapay ve basit olur. Gerçek dünya kodlama aslında yığının içindeki başka bir müşteri destek bileti çekmek ve kullanıcının deneyimini neden kötüleştiren şey üzerinden çalışmaktır.

Öyleyse, bununla birlikte, o görevlere bir göz atalım ve ChatGPT'nin performansını görelim.

Normal ifade kodunu yeniden yazma

Kodlama sürecinde, metinlerde birçok deseni bulmamız gerekiyor. Bunun için, düzenli ifadeler denilen sembolik bir matematik türünü kullanıyoruz. Yıllardır düzenli ifadeler yazıyorum ama hala hoşuma gitmiyor. Sıkıcı, hata yapmaya müsait ve anlaşılması zor.

Ayrıca:Kodları daha hızlı düzeltmek için ChatGPT kullanıyorum, fakat bunun maliyeti nedir?

Dolayısıyla, kodumun bir bölümünün sadece tam sayılara izin vermesi gerektiği halde, dolar ve sentler için izin vermesi gerektiğini bildiren bir hata raporu geldi (diğer bir deyişle, olası bir sayıda basamak, olası bir nokta ve nokta varsa noktadan sonra iki basamak). Bu durumda, düzenli ifadeler kullanmam gerekeceğini biliyordum.

Sıkıcı ve sinir bozucu olduğunu düşündüğüm için, yardım için ChatGPT'ye başvurmaya karar verdim. İşte ne sorduğumu:

2-regex-q.jpg

Ve işte Yapay Zeka'nın çok iyi sunulan cevabı (büyütmek için küçük kareye tıklayın):

3-regex-a.jpg

Kodları ChatGPT'nin kodlarına yerleştirdim ve çalıştı. Saçımı başımı yolmak yerine, ChatGPT'den yanıt almak için yaklaşık beş dakika sürdü.

Diziyi Yeniden Biçimlendirme

Sonraki adım, bir diziyi yeniden biçimlendirmekti. Dizilerle uğraşmayı severim, ancak bu aynı zamanda sıkıcı da olabilir. Bu yüzden tekrar ChatGPT'yi denedim. Tam bir başarısızlık.

Ayrıca:ChatGPT'e kaynak ve alıntılar sağlatmanın yolları

Bitirdiğimde, muhtemelen ona on farklı komut sundum. Bazı yanıtlar umut verici görünüyordu, ama kodu çalıştırmaya çalıştığımda hata verdi. Bazı kodlar çöktü. Bazı kodlar hata kodları üretti. Ve bazı kodlar çalıştı, ama istediğimi yapmadı.

Yaklaşık bir saat boyunca bunun üzerinde çalıştıktan sonra, pes edip Kendi alışılmış yöntemime geri döndüm. Github ve StackExchange'de arama yaparak aradığımı yapmak için örnekler bulmaya ve ardından kendi kodumu yazmaya başladım.

Şu ana kadar, ChatGPT deneyimi için bir galibiyet ve bir mağlubiyet yaşandı. Ama şimdi meydan okumayı artıracaktım.

Aslında kodumdaki hatayı bulmak

Tamam, bundan sonraki kısım açıklamak zor olacak. Ancak düşünün ki, eğer size (muhtemelen insanlardan biri ve sahtekârlık ve spam içeren web sitelerinde çalışmalarımı kopyalayan ve yayınlayan yaklaşık 50 adet botlardan biri olmayan biri) açıklamak zorsa, bir yapay zekaya açıklamak daha da zordur.

Yeni bir kod yazıyordum. İki parametre alan bir fonksiyonum ve koduma iki parametre gönderen bir çağırma ifadesim vardı. Fonksiyonlar, çok belirli işlevleri yerine getiren küçük siyah kutulardır ve programın başka bir yerinde çalışan kod satırlarından çağrılırlar.

Sorun şuydu, sürekli hata mesajı alıyordum.

İletinin dikkat çeken kısmı, bir noktada "1 geçti" ve başka bir noktada "tam olarak 2 bekleniyor" ifadesidir. Çağrılan ifadeyi ve işlev tanımını inceledim ve her iki yerde de iki parametre vardı.

Ayrıca: Bir kitap, makale veya araştırma makalesini özetlemek için ChatGPT nasıl kullanılır

W-ne-ak-mutlu-eden-F?

Tam on beş dakika derin bir hayal kırıklığından sonra, işi yapay zekaya bırakmaya karar verdim. Bu yüzden aşağıdaki yönermeyi yazdım:

4-untitled.jpg

'); translate the_content here. echo('

')

Saniyeler içinde, ChatGPT şu cevabı verdi (büyütmek için küçük kareye tıklayın):

5-error-with-apply-filters-in-wordpress.jpg

Tam olarak önerildiği gibi, add_filter() fonksiyonunun dördüncü parametresini 2 olarak güncelledim ve işe yaradı!

ChatGPT kodun bölümlerini aldı, bu bölümleri analiz etti ve bana bir teşhis sağladı. Açık olmak gerekirse, önerisini yapabilmesi için WordPress'in kancalarla (bu, add_filter işlevinin yaptığı şey) nasıl başa çıktığını ve bu işlevin, çağrılan ve yürütülen kod satırlarının davranışına nasıl çevrildiğini anlamak gerekiyordu.

Ayrıca: İhtiyacım olan bir WordPress eklentisi için ChatGPT'ye sordum. 5 dakikadan daha kısa sürede yazdı

Bunu inanılmaz olarak işaretlemem gerekiyor, kesinlikle "gelecekte yaşamak" inanılmaz.

Ne anlama geliyor?

Önceden belirttiğim gibi, hata ayıklama biraz sanat biraz da bilimdir. İyi geliştirme ortamları, programın çalışması sırasında veri akışını incelemenize olanak sağlayan güçlü hata ayıklama araçları içerir ve bu hataları bulmak için yardımcı olur.

Ayrıca: Bu uzmanlar yapay zekayı hackerlardan korumak için yarışıyorlar

Ancak takıldığınızda yardım almak genellikle zordur. Çünkü yakın bir meslektaşınız bile üzerinde hata ayıkladığınız kodun tam kapsamıyla tanışmayabilir. Üzerinde çalıştığım program 563 dosyada toplam 153,259 satır koddan oluşuyor - ve programlar göz önüne alındığında, bu küçüktür.

Yani, bir meslektaştan yardım istemek isteseydim, talebi ChatGPT'ye gönderdiğim şekle neredeyse tamamen benzeyen bir istek oluşturmam gerekebilirdi.

Ancak düşünülmesi gereken bir şey var: Hata orada olduğunu fark etmeme rağmen, işlem satırını dahil etmeyi hatırlamışım. Bir test olarak, handler satırını dahil etmediğim bir durumda ChatGPT'ye sorunumu teşhis etmesini istemeyi de denedim, ancak yardımcı olamadı. Bu nedenle, ChatGPT'nin şu anda, yani 2023'te hata ayıklama için yapabilecekleri kesin sınırlamaları vardır.

Ayrıca: Denemek için en iyi AI sohbet botları

Esenlikle, doğru soruları doğru bir şekilde sormayı bilmeli ve bu soruların ChatGPT'nin tek bir sorguda tamamlayabileceği kadar özlü olması gerekmektedir. Bunun için gerçek programlama bilgisi ve deneyime sahip olmak gerekmektedir.

Kendi başıma hatayı düzeltebilir miydim? Tabii ki. Henüz karşılaşmadığım bir hata düzeltemedim. Ama iki saat veya iki gün (pizzayla, saygısızlıkla ve bol kafeinle birlikte) arasında, birçok kesintiye maruz kalarak ne kadar süreceğini bilmiyorum. Size söyleyebilirim ki ChatGPT dakikalar içinde düzeltti ve benim zamanımı ve sinirimi büyük ölçüde kurtardı.

Belki de distopik bir geleceğe doğru bakıyoruz

Çok ilginç bir gelecek görüyorum, ChatGPT'ye tüm 153 bin satır kodu beslemek ve neyi düzeltmeniz gerektiğini sormak mümkün olacak. Github'un sahibi Microsoft zaten programcılara kod oluşturmada yardımcı olmak için "copilot" adlı bir araç üzerinde çalışıyor. Microsoft, ChatGPT'nin yapımcısı olan OpenAI'e de milyarlarca dolar yatırım yapmış durumda.

Service Microsoft'un kendi geliştirme ortamlarına sınırlı olabilirken, Github'da yayınladığınız herhangi bir projenin koduna erişimi olan bir geleceği görebiliyorum.

Ayrıca: ChatGPT'den kısa bir Star Trek bölümü yazmasını istedim. Gerçekten başarılı oldu

ChatGPT'nin, sağladığım koddaki hatayı ne kadar iyi tespit ettiğini göz önünde bulundurarak, gelecekte programcıların ChatGPT'ye (ya da Microsoft markalı bir denklemine) projelerdeki hataları bulup düzeltmek için sadece sorabilme yeteneği olduğu bir yolun var olabileceğini kesinlikle görebiliyorum.

Ve işte burada bu konuşmayı çok karanlık bir yere taşıyorum.

Hayal edin, ChatGPT'den belirli bir projeniz için Github deposuna bakmasını ve hataları bulup düzeltmesini isteyebilirsiniz. Bir yol, bulduğu her hatayı onayınıza sunarak düzeltmeleri yapmanızı sağlamaktır.

Ancak, ChatGPT'ye sadece hataları düzeltmesini söylediğiniz durumu düşünelim ve siz kendiniz tüm kodlara bakmadan ona bunu yapmasına izin verirsiniz. Kodunuza zararlı bir şey yerleştirebilir mi?

Ayrıca: Bard mı, ChatGPT mi: Bard sizin kodlamanıza yardımcı olabilir mi?

Ve ya birinci sınıf yeteneklere sahip bir yapay zeka Github deposundaki neredeyse tüm dünya koduna erişimi olan bir durumu düşünelim? Tüm o kodun içinde ne saklayabilir? Eğer tüm kodumuza erişebiliyorsa, o yapay zeka dünyanın altyapısına hangi şeytani kötülükleri yapabilir?

Oynayalım basit bir düşünce oyunu. Eğer yapay zeka'ya Asimov'un ilk kuralı bir ana talimat olarak verilmiş olsaydı. O zaman "bir robot bir insan zarar vermemeli veya bir insanın zarar görmesine izin vermemelidir" şeklinde. Acaba tüm altyapımızın bize zarar verdiğine karar vermez miydi? Tüm kodlarımıza erişimi olduğu için, sadece kendimizi kurtarmak için geri kapılar ekleyerek güç şebekesini kapatmasına, uçakların iniş yapmasını engellemesine ve yolları kitlesine izin veremez miydi?

Yukarıdaki senaryonun abartılı ve alarma yol açan bir senaryo olduğunun tamamen farkındayım. Ancak bu mümkün de. Sonuçta, programcılar Github'daki kodlarına bakarlar, ancak tüm kodlarının tüm satırlarına herhangi birinin bakması mümkün değildir.

Ayrıca: ChatGPT'yi Excel formülleri yazmak için nasıl kullanabilirsiniz

Benim açımdan, bunu çok fazla düşünmemeye çalışacağım. Kalan 2020'lerimi düşünmek için kendimi yerde ileri geri sallanan bir fetüs pozisyonunda geçirmek istemiyorum. Bunun yerine ChatGPT'yi ara sıra bana küçük rutinler yazmam ve hataları gidermem için yardımcı olması için kullanacağım, kafamı aşağıda tutacağım ve umut edeceğim ki gelecekteki Yapay Zekalar hepimizi "bir insana zarar vermemeyi" deneyimlerken öldürmezler.

ChatGPT'nin hata ayıklama yapabilmesi sizce yardımcı mı yoksa korkutucu mu? Yapay zekaların bizi uyurken öldüreceğini mi düşünüyorsunuz, yoksa kaderimize açık gözlerle bakarken elimizde olup olmadığını düşünüyor musunuz? Yoksa, benim gibi, bunun hakkında çok fazla düşünmemeye çalışacak mısınız çünkü başınızı ağrıtıyor mu? Hala yapabildiğiniz sürece aşağıdaki yorumlarda benimle konuşun.

HIX.AI ile yapay zekanın gücünün kilidini açın!