Programlama testlerimde en rahatsız edici bulduğum şey, aynı büyük dil modeline (LLM) dayanan araçların çok farklı sonuçlar verme eğiliminde olmasıdır.
Örneğin, ChatGPT, şaşkınlık ve GitHub Copilot’un tümü GPT-4 Openai modeline dayanmaktadır. Ancak, aşağıda göstereceğim gibi, ChatGPT ve şaşkınlık profesyonelleri mükemmel sonuçlar verirken, Github Copilot başarılı olduğu sıklıkta başarısız oluyor.
FYI, Github Copilot’u bir VS kod örneğinde test ettim.
Test 1: Bir WordPress eklentisi yazın
Bu testin sonucu acı çekilebilir bir başarısızlıktır. Bu benim ilk testimdi, bu yüzden Github Copilot’un kod yazmak için sıfır olup olmadığını veya onunla etkileşime girdiğimiz bağlamın bu gereksinimi karşılayamayacağı kadar kısıtlayıcı olup olmadığını henüz söyleyemem.
Açıklayayım.
Bu test, AI’dan yönetim arayüzü öğeleri ve operasyonel mantıkla tamamen işlevsel bir WordPress eklentisi oluşturmasını istemektir. Eklenti bir dizi isim alır, bunları sıralar ve kopyalar varsa, onları yan yana olmayacak şekilde ayırır.
Diğer AI’lerin çoğu en azından kısmen bu testi geçti. Test edilen on AI modelinden beşi testi tamamen geçti. Üçü testin bir kısmında başarılı oldu. İki (Microsoft Copilot dahil) tamamen başarısız oldu.
Github Copilot’a diğerleriyle aynı istemi verdim. Ama sadece PHP kodu yazdı. Açık olmak gerekirse, bu sorun yalnızca PHP kodu kullanılarak çözülebilir. Ancak bazı insanlar etkileşimli işlevler için JavaScript’i dahil etmeyi sever. Github Copilot, JavaScript kullanımı için kod içeriyordu, ancak kullanmaya çalıştığı JavaScript’i asla oluşturmadı.

David Gewirtz/ZDNet tarafından ekran görüntüsü
Daha da kötüsü, bir JavaScript dosyası oluşturduğumda ve bu dosyadan GitHub Copilot’u istemi çalıştırmasını istemeye çalıştım, bir JavaScript dosyasına da atıfta bulunan başka bir PHP komut dosyası aldım.
Aşağıda görebileceğiniz gibi, randomizer.js dosyasında, randomizer.js dosyasını ve yazdığı kod ‘kodunun php’si değil, sorguya (yürütmeyi başlatmak için) koymaya çalıştı.

David Gewirtz/ZDNet tarafından ekran görüntüsü
Test 2: Bir karakter dizesi işlevini yeniden yazmak
Bu test oldukça basit. Dolar ve yüz test etmesi gereken bir fonksiyon yazdım, ancak sadece bütünü test etti (dolar). Test AI’dan kodu düzeltmesini ister.
Github Copilot kodu yeniden işledi, ancak ürettiği kod bir takım sorunlar sundu.
- Bir zincir değerinin her zaman bir zincir değeri olduğu prensibi ile başladı. Boş olsaydı, kod çalışmadı.
- Revize edilmiş normal ifade kodu, ondalık bir nokta (yani “3.” anlamına gelirse) ele geçirildiyse, daha yüksek bir ondalık nokta (yani “.3”, yani daha yüksek sıfırlar dahil edilmişse veya daha yüksek sıfırlar dahil edilirse ( “00.30” demektir).
Bir para biriminin düzgün girilip girilmediğini test etmesi gereken bir araç için, aşırı durumlarda engelleyecek bir kodla başarısız olmak kabul edilemez.
Test 3: Can sıkıcı bir hatanın keşfi
Github Copilot başarılı bir şekilde test etti. Bu hatayı bu kadar sıkıcı (ve çözülmesi zor) yapan şey, hata mesajının gerçek problemle doğrudan bağlantılı olmamasıdır.
Bu hata bir şekilde kodlayıcılar için bir tuzak sorununa eşdeğerdir. Bunu çözmek için, bazı API çağrılarının WordPress bağlamında nasıl çalıştığını anlamanız, ardından bu bilgiyi söz konusu hataya uygulamanız gerekir.
Microsoft Copilot, Gemini ve Meta Code Llama bu testte başarısız oldu. Ancak Github Copilot bunu doğru şekilde çözdü.
Test 4: Bir senaryo yazın
Burada da Github Copilot, Microsoft Copilot’un başarısız olduğu yerde başarılı oldu.
Zorluk, AI’nın elma metninde kodlamayı bilen bir komut dosyası oluşturma yeteneğini, Chrome nesne modelini ve Mac’ler için ayrılmış küçük bir üçüncü taraf kodlama yardımcı programını test ettiğim gerçeğinde yatmaktadır. Klavye.
Bu testte başarılı olmak için AI, bu üç kodlama ortamını tanıyabilmeli ve bu ortamların her birine tek tek kod satırlarını uyarlayabilmelidir.
Github Copilot’un kodlama kapasiteleri üzerine son yansımalar
Github Copilot GPT-4 kullandığından, testlerin yarısını başarısızlığa uğrattığını cesaret kırıcı buluyorum. GitHub, gezegendeki en popüler kaynak yönetimi ortamıdır ve AI kodlama ortamının makul derecede güvenilir olduğunu umabiliriz.
Durum böyle değil.

