- Anthropic’in, AI kodlama yardımcılarının kullanılmasının geliştiricilerin öğrenmesi ve uzmanlığı üzerinde nasıl bir etki yarattığını deneysel olarak doğruladığı araştırma
- Rastgele kontrollü deney sonuçlarına göre, AI kullanan grubun kavramsal anlama ve hata ayıklama becerileri ortalama %17 daha düşüktü ve hız artışı istatistiksel olarak anlamlı değildi
- Ancak AI’yi basit kod üretimi yerine kavramsal anlama ve açıklama istemek için kullanan katılımcılar daha yüksek puan aldı
- Araştırma, AI’ye bağımlılık biçiminin öğrenme sonuçlarını belirlediğini ve basit otomasyonun beceri gelişimini engelleyebileceğini gösteriyor
- Şirketler ve geliştiriciler, verimlilik artışı ile uzun vadeli beceri birikimi arasındaki dengeyi gözeten bir AI benimseme stratejisine ihtiyaç duyuyor
Araştırmaya genel bakış
- Araştırma, AI yardımcılarının kodlama öğrenimi ve teknik yetkinlik üzerindeki etkisini analiz etmek için yürütülen rastgele kontrollü bir deneydi
- Katılımcılar, Python’u 1 yıldan uzun süredir kullanan ve Trio kütüphanesine aşina olmayan 52 junior geliştiriciden oluşuyordu
- Deney; ısınma, ana kodlama görevi (Trio tabanlı 2 özelliğin uygulanması) ve quiz olmak üzere üç aşamadan oluşuyordu
- Katılımcılar, AI yardımcısı içeren çevrim içi bir kodlama ortamında çalıştı; yardımcı, koda erişimi ve doğru kod üretimini destekliyordu
- Değerlendirme ölçütleri hata ayıklama, kod okuma, kod yazma ve kavramsal anlama olmak üzere dört başlıktan oluşuyordu; özellikle hata ayıklama ve kavramsal anlamaya odaklanıldı
Temel bulgular
- AI grubunun ortalama quiz puanı %50, AI kullanmayan grubun ise %67 oldu; bu da yaklaşık iki notluk bir farka işaret etti (Cohen’s d=0.738, p=0.01)
- Hızda AI grubu ortalama 2 dakika daha hızlıydı, ancak bu istatistiksel olarak anlamlı değildi
- En büyük puan farkı hata ayıklama sorularında görüldü; bu da AI kullanımının hata anlama becerisindeki düşüşle ilişkili olabileceğine işaret ediyor
- Öğrenme etkisi, AI’nin kullanım biçimine göre değişti
- Basit kod üretimi ya da hata ayıklamayı tamamen AI’ye devretmek daha düşük puanlarla sonuçlandı
- Buna karşılık kavramsal sorular sormak veya kod açıklaması istemekle birlikte kullanılan durumlarda daha yüksek puanlar elde edildi
AI etkileşim türlerine göre analiz
- Düşük puan kalıpları (ortalama %40’ın altında)
- AI’ye delege eden tip (n=4): Tüm kodu AI’ye bırakarak en hızlı tamamladı, ancak kavramsal anlama yetersizdi
- Kademeli bağımlılık tipi (n=4): Başta kendileri denedi, ancak zamanla tamamen AI’ye bağımlı hale geldi; ikinci görevin kavramlarında yetersizlik görüldü
- Tekrarlayan hata ayıklama tipi (n=4): Hata çözümünü AI’ye bıraktı; yavaş kaldı ve düşük puan aldı
- Yüksek puan kalıpları (ortalama %65 ve üzeri)
- Üretim sonrası anlama tipi (n=2): Kod üretiminden sonra AI’den ek açıklama istedi; anlama düzeyi yüksekti
- Karma kod-açıklama tipi (n=3): Kod ve açıklamayı birlikte istedi; hız daha düşük olsa da anlama arttı
- Kavramsal keşif tipi (n=7): Çalışmayı kavramsal sorular etrafında yürüttü; hata sayısı fazla olsa da bağımsız çözümle hızlı tamamladı
Yorum ve çıkarımlar
- AI benimsenmesi, verimlilik ile öğrenme arasında bir denge sorunu yaratıyor
- Hızlı sonuçları önceleyen ortamlarda junior geliştiricilerin beceri gelişiminin zarar görme ihtimali var
- AI kullanım biçiminin tasarımı temel değişken; basit otomasyondan ziyade öğrenmeyi teşvik eden etkileşimlere ihtiyaç var
- Şirketler, AI araçlarının devreye alınmasını ve öğrenme tasarımını bilinçli şekilde yönetmeli ve
mühendislerin AI tarafından üretilen kodu doğrulama yetkinliğini korumasını sağlamalı
Sonuç ve gelecek çalışmalar
- Araştırma, AI’nin uzmanlaşılan becerilerde verimlilik artışı sağlayabileceğini, ancak yeni becerilerin öğreniminde engelleyici bir unsur olabileceğini öne sürüyor
- Örneklem büyüklüğü küçük ve değerlendirme kısa vadeli olduğu için uzun vadeli beceri gelişimiyle ilişkisi henüz doğrulanmış değil
- Gelecek araştırma başlıkları olarak şunlar sunuluyor:
- Kodlama dışındaki iş alanlarındaki etkiler
- Uzun vadeli öğrenme etkisinin sürüp sürmediği
- İnsan mentorluk ile AI desteği arasındaki farklar
- AI destekli ortamlarda da bilişsel çaba ve deneme-yanılma, uzmanlık oluşumu için vazgeçilmezdir ve
AI, hem verimliliği hem de öğrenmeyi aynı anda destekleyecek şekilde tasarlanmalıdır
1 yorum
Hacker News yorumları
Anthropic’in böyle bir araştırmayı bizzat tasarlayıp yayımlaması etkileyici
Bence bu, diğer araştırma laboratuvarlarında pek görülen bir şey değil
Yapay zeka destekli grup biraz daha hızlıydı ama bunun istatistiksel olarak anlamlı olmaması ilginç
Sonuçta yapay zeka üretkenliği artırıyor gibi görünüyor, ama pratikte bunun bedeli öğrenme kapasitesinde düşüş oluyor
Üçüncü bir taraf tekrar edip doğrulayana kadar içindeki iddialara karşı şüpheci bir tutum korunmalı
Bence tütün şirketlerinin “sağlık araştırmaları”ndan pek farkı yok
Gelecekte junior’ların yapay zekaya bağımlı geliştiriciler olarak yetişip kendi başlarına problem çözme yeteneğini kaybetmesinden endişe ediyorum
Benim tahminim, yapay zeka kullananların kodlama becerileri daha az gelişti ama gereksinim tanımlama becerileri iyileşmiş olabilir
Junior geliştiricilerin rolü, net gereksinim tanımına odaklanacak şekilde değişiyor
Muhtemelen bu strateji işe yarayacaktır
İnsanların çoğu en az dirençli yolu seçer ama bazıları yapay zeka sayesinde tam tersine daha hızlı öğrenir
Yani bu, tüm kullanıcılara aynı şekilde uygulanabilecek bir sonuç değil
Bu araçların bir anda kullanılamaz hale gelmesi durumunda ne olacağından endişeliyim
İnternet kesilirse ya da krediler biterse iş ve geçim kaynakları felç olabilir
Sonunda geliştirici sadece bir kapı bekçisine dönüşebilir ve sistem arızasında hiçbir şey yapamaz hale gelebilir
Dünyanın birçok yerinde çalıştım ama bağlantı sorunları yüzünden kaybettiğim süre bir günü bile bulmadı
Anthropic çökerse Gemini’ye geçilebilir, kredi biterse ücretsiz krediler kullanılabilir
Artık yerel modeller de yeterince kullanılabilir durumda
Sonuçta modern insan zaten tamamen çevrimiçi hizmetlere bağımlı
Bu tür risklerden hoşlanmıyorsanız verimsiz ama istikrarlı alternatiflere para harcamanız gerekir
Böyle bir şey olursa eski yöntemlere dönmektense acil durum prosedürlerini izlemek daha iyi olur
Eskiden elle build alıp ISDN ile yükleme yapardık ama artık bu işi CI/CD üstleniyor
Bir şey bozulursa düzeltilir, manuel dağıtım ise daha büyük sorunlara yol açar
Bu etki özellikle yeni bir kütüphaneyi öğrenirken belirginleşiyor
İnternet olmadan uzun uçuşlarda bile verimli çalışabildim
İnsan, koşullar kötüleştikçe çoğu zaman daha iyi uyum sağlayan bir varlık
Kıdemli geliştiriciler hâlâ temel kavrayış açısından üstün
Önceki neslin assembly ve donanımı anlaması gibi, bugünkü nesil de yapay zekayla çalışmayı öğreniyor
Sonuçta gerekli olan şey, duruma uygun öğrenme becerisi
Ben de 20 yılı aşkın süredir çalışıyorum ve bilgilerimin çoğunu çoktan unuttum, ama bunun nedeni yapay zeka değil
Kötü kod ve yapısal problemler LLM’lerden önce de vardı
Araştırmaya göre en büyük düşüş problem çözme becerisinde görülüyor
Bugünün junior’ları kendi başlarına debug etme fırsatını kaybediyor
Ben ekipte “son debugger” olarak çalıştım ve hatta compiler bug’larını bile yakaladım
Artık Claude’u kullanarak tekrar eden işleri devrediyor, sadece stratejik olarak öğrenmeye değer kısımlara derinlemesine iniyorum
Bu sayede öğrenme verimim arttı
Öğrenmemek büyük bir kayıp olmayabilir ama öğrenmek de zarar vermez
Sonuçta mantıksal düşünebilen insan geliştiriciler LLM’lerden üstün
Mutlaka yazmak gerekmiyor ama anlayabiliyor olmak lazım
Geçmişteki “daha az akıllı modeller” (GPT‑4 vb.) sizi ancak %90’a kadar götürüyordu, kalanını kendiniz çözmek zorundaydınız
Bu süreçte derin bir öğrenme deneyimi oluşuyordu
Bugünün modelleri fazla tamamlanmış halde geliyor; bu da kişinin kendi başına düşünme fırsatını azaltıyor
CLI yerine editörde yapay zekayla işbirliği yapmak daha iyi olabilir
Sonuçta öğrenme sürecindeki geliştiriciler en büyük zararı görüyor
Tüm meslek gruplarında LLM’lere bağımlı bir kültür oluşuyor
Genel yapıyı tasarlamak hâlâ insanın işi
Ben LLM’leri bir öğrenme aracı olarak kullanıyor, tasarımı görselleştirmek için etkileşimli biçimde örnekler ve diyagramlar istiyorum
Örneğin grok 4.1 fast, 10 kat daha ucuz olup biraz daha iyi
Model fazla iyi çalıştığında insanın düşünmesi körelebilir
Ama rekabet ortamında verimli araçları öğrenen kişi sonunda kazanır
Yine de yapay zeka çoğu zaman aşırı uyarlanmış sonuçlar gösterdiği için tehlikeli
Bu sorunu çözmenin yolu hâlâ yeterince yok
Sonuçta doğrulama yapmak ve öğrenme kalıpları oluşturmak yine insanın görevi
Hobi projeleri için harika ama büyük kod tabanlarında sınırları var
Programcılığın özü sürekli öğrenmedir
25 yıldır çalışıyorum ama hâlâ her gün yeni bir şey öğreniyorum
Danışman kullanınca elde yalnızca kod kalıyor, bilgi ise dışarıda kalıyordu
Sonuçta programlama öğrenmenin ta kendisi
Var olan çözümleri uyarlayıp sorun çözmek sık rastlanan bir durum
Bazen aşırı öğrenme, tersine karmaşıklığı artırabiliyor
Araştırma sonuçlarına göre yapay zeka kullanımı anlama ve debug becerisinde düşüşe yol açarken verimlilik artışı ise sınırlı kalıyor
Orijinal bağlantıya bakabilirsiniz
Yapay zeka grubu ortalama 50 puan alırken, manuel kodlama grubu 67 puan aldı
İlginç bir araştırmaydı
Sık sık rahatlığı beceriyle karıştırıyor olabilir miyiz diye düşündürüyor
Böyle araştırmaların yapılıyor olması iyi
Dil öğreniminde olduğu gibi, bizzat kullanmazsanız beceri korunmuyor
Kullanmayı bıraktığınızda yavaş yavaş körelmeniz doğal bir durum
Anthropic’in şeffaflığını ve bilimsel yaklaşımını çok takdir ediyorum
Ben de gerçek geliştirme işini devredip kavramsal öğrenmeye odaklanarak daha hızlı ilerliyorum
Gönderi başlığı yanıltıcı olabilir
Araştırma, acemi geliştiricilerin üretkenlik artışını değil, öğrenme süreci üzerindeki etkiyi ele alıyor
Toplum, tam anlayıştan çok işlevsel ustalıkla işler
Ben de yüzlerce test vakasıyla doğrulanmış bir regex kütüphanesini korudum
Uygulamayı kusursuz anlamadan da test temelli doğruluk sayesinde güven oluşturabildim
Yapay zeka yeni başlayanlara üretkenlik artışı sağlar ama beceri edinimini engelleyebilir
Tam devir usulü kullanım biraz verimlilik sağlar ama öğrenmeyi azaltır
Buna karşılık bilişsel katılım odaklı kullanım kalıbı korunursa öğrenme etkisi de korunabilir
Yani yapay zeka üretkenliği, ustalığa giden kısa yol değildir
25 yıldır çalışıyor olsanız bile her gün öğrenmeye devam edersiniz