- LLM araçlarının geliştirici verimliliğini artırdığı doğru
- Ancak uzun vadede bu araçlara bağımlı hale geldikçe sorunları kendi başına çözme yeteneği zayıflıyor
- Kod yazma sürecinde elde edilen tatmin duygusu kayboluyor ve sorun çözmek yerine yapay zekanın yanıtını beklemeye başlanıyor
Geliştirmeye yönelik tutku ve meydan okuma ruhunun zayıflaması
- Kodlamanın kendisinden hoşlanmayan insanlar da var → böyle durumlarda geliştirme alanı size uygun olmayabilir
- Tanıştığım en iyi mühendisler, hafta sonlarında bile gönüllü olarak araçlar ya da yazılımlar üretip yenilik peşinde koşuyor
- Bir sistemin performansını iyileştirmek için temel düzeyde anlayış gerekir; aksi halde yapılan şey rastgele denemeden ibarettir
'Copilot Lag' olgusu
- 'Copilot Lag', yapay zekadan gelecek bir sonraki yönlendirmeyi bekleme durumunu ifade eder
- Bu, adeta kıdemli bir geliştiricinin talimatını bekleyen yeni bir geliştiriciye benzer
- GitHub Copilot kullanırken temel dil öğelerini ve sözdizimini bile unutmaya başlanabilir
- Kısa vadeli hız artışı uğruna uzun vadeli bilgi köreliyor
LLM, öğrenme sürecini engelleyebilir
- Thorsten Ball'un "Writing An Interpreter In Go" kitabını çalışırken Copilot kod üretti, ancak onu kendi başıma yeniden yazabilecek yeteneği kazanamadım
- Bellek yönetimi veya veri odaklı tasarım gibi önemli kavramlar gözden kaçabiliyor
- Yapay zekanın ürettiği kod dışarıdan doğru görünebilir, ancak temel ilkeleri anlamıyorsanız bunun bir anlamı yoktur
LLM'i etkili kullanmanın yolları
- LLM'ler arama motoru gibi faydalı şekilde kullanılabilir
- Stack Overflow'da arama yapar gibi, LLM'in yanıtlarından yararlanabilirsiniz
- Ancak LLM'ler gerçek uzman bilgisini aynen yansıtmaz; eğitildiği örüntüler ve token dizileri temelinde yanıt üretir → bu yüzden hata çoktur
- LLM'in yanıtlarını olduğu gibi kabul etmeyin; neden böyle bir yaklaşım önerdiğini analiz etmeniz gerekir
- Bir şeyi bilmiyorsanız, kendiniz araştırıp öğrenmelisiniz
- Yeni bir dili (Zig gibi) öğrenirken öğrendiklerinizi not almak faydalıdır
- Bu notlar hem öğrenme referansı olabilir hem de başkalarıyla paylaşırken işe yarar
Sonuç
- Yapay zeka araçları faydalıdır, ancak körü körüne bağımlı olunursa ters etki yaratabilir
- Yapay zekanın sunduğu çözümün ilkesini anlamak ve kendi kendine öğrenme tutumu geliştirmek önemlidir
- Sonuçta önemli olan, araca bağımlı olmadan temel sorun çözme becerisini korumaktır
29 yorum
Hmm... Sanırım mesele en başta yapay zekayı bir araç olarak mı yoksa bir zeka olarak mı gördüğümüzle ilgili bakış açısı farkı... Ben bu yazıya katılamıyorum; alttaki yorumda da söylediğim gibi geliştiriciyi yalnızca kod seviyesinde görmek başlı başına yanlış bir düşünce. Geçmişte İngiltere'de Sanayi Devrimi yaşandığında da çiftçiler açlıktan öleceklerini söyleyip feryat ediyorlardı, ama sonuçta daha fazla iş alanı ortaya çıktı ve insanlığa büyük faydalar sağlandı. Ayrıca geçmişte bilgisayar ortaya çıktığında da bilgisayar yüzünden insanların giderek daha aptal hale geleceği söyleniyordu; ancak sonuç olarak daha fazla iş daha kısa sürede çözüldü ve insanlar daha akıllı hale geldi.
LLM'ler, deep research dahil, henüz üst düzey problem çözmede faydalı değil. (Örneğin makale düzeyinde algoritma geliştirme)
Aşırı optimizasyon ya da çeşitli sistem özellikleri ve teknik meselelerin anlaşılmasını gerektiren kodlama da aynı şekilde hâlâ insan eline ihtiyaç duyuyor. Geliştirici sadece basit bir programcı değil, bir problem çözücüdür. Bir gün uçtan uca problem çözme de mümkün hale gelebilir, ancak şu an yazı yazma ve basit programlamaya harcanacak zamanı azaltıp daha zor problemlere yaklaşım yöntemlerine yatırım yapabilmek verimlilik açısından olumlu görünüyor.
Bir süredir bunu kod incelemesi gibi bir kavram olarak sık kullanıyor gibiyim. Kod önerileri alıyor, kodun yönünü konuşuyor, daha iyi bir yöntem üzerine düşünüp öneriler sunuyor ve beni tatmin edecek bir sonuç çıktığında bunu alıntılıyorum.
Tüm uygulama mantığını ve iş mantığını insan düşünmelidir.
Geliştiricileri yalnızca kodlamayla sınırlarsanız bu tür bir kaygı ortaya çıkar. Aslında geliştiriciler çok daha fazla iş yapar; kodlama kısmında yapay zekaya güvenmeyi aptallaşmak olarak görenler olabilir ama bunun, diğer alanlara daha fazla odaklanmalarını sağladığı da söylenebilir.
Ddu-ddya-i... ben aptal bir geliştiriciyim...
Unity'nin oyun geliştiricilerini aptallaştırdığı da söylenirdi ama sonuçta kimse aptallaşmadı; herkes başka bir sürü şey öğrenip sonunda sadece işi daha da artırdı haha
Sadece iş yükü artmış.. Olacak şey değil..
"Aptallaştırıyor" denmesine katılmak zor.
Çünkü AI kullanılmaya başlandıktan sonra verimlilik gerçekten sıçrama düzeyinde arttı.
İşte burada bir aptal var :)
Artık AI ile her şeyin yapılabileceği fikrine katılmazsan azar işittiğin bir dönemde yaşıyoruz işte.
Bilmediğiniz kütüphane özellikleri ya da o anda akla gelmeyen shell script’ler gibi şeylerse sorun değil, ama işin içine artık deprecated olmuş özellikler ve var olmayan function’lar da karışınca bütün zaman debugging yaparak geçiyor.
> LLM’in yanıtlarını olduğu gibi kabul etmemek, neden böyle bir yaklaşım önerdiğini analiz etmek gerekir
Bence meselenin özü bu söz.
Araçların her zaman düşüncenin hem genişlemesini hem de aynı anda yıkımını beraberinde getirdiğini düşünüyorum. Düşüncenin yıkımı üzerinden daha yüksek düzeyli bir düşünce genişlemesine ilerleyebilmek gerekir; ancak buna hazırlıklı olunmayan anlarda bu tür sorunlar her zaman peşinden geliyor gibi görünüyor.
Bu nedenle, sonuçta araçların kullanımında bu tür sorgulamaların hep eşlik ettiğini düşünüyorum. Bunların kesinlikle gerekli süreçler olduğuna inanıyorum. Basitçe reddetmek ya da körü körüne kullanmak yerine, bu aracı nasıl kullanmanın iyi olacağına, bu tür araçlardan yararlanarak özünde daha önemli alanlara nasıl kaynak ayırabileceğimize odaklanarak kullanmanın daha doğru olduğunu düşünüyorum.
(cursor kullanımını ayda 1.000 kez aşarken...)
Müdürüm Kim. Naçizane bir tavsiyede bulunmak istiyorum. Başka bir şey değil,
Excelfonksiyonlarını? çok fazla kullanmayın. Kolaylık varsa, risk de artar. Öküz kesmek için ona uygun bir bıçak vardır; tavuk kesmek için de bıçak gerekir mi? Kolay olan doğru cevap olabilir.Yukarıdaki yazı, Excel fonksiyonunun GPT versiyonu gibi olmuş hahaha
Bence zihinden hesap hızlı olabilir ve hesap makinesi de iyidir. Bilgisayar, sığır kesen bıçak değil midir diye düşüncemi iletiyorum.
Bir daha chatGPT kullanmayacağım
Ben de benzer bir yazı yazmıştım.
Verimliliği artırdığı kesin, ancak beynimizi ona teslim etme eyleminden kaçınmamız gerektiğini düşünüyorum.
Hâlâ cursor ve anthropic’in ateşli birer savunucusuyum ama bir noktadan sonra hayranlıkla kullandığım agent modunu giderek daha az kullanıp önce ask modunda mimariyi ve uygulama yöntemini soran, ancak yeterince ikna olduğumda yapay zekanın değişiklik önerilerini adım adım kabul eden birine dönüştüğümü fark ettim.
Çok da büyük olmayan (ama iş projemizde oldukça önemli olan) bir modülü iki mühendis kendi agent modlarını kullanarak refactor edip yapıya eklemeler yaparken, bir noktada mimariyi toparlama niyetiyle yazılmış kodun gerçekte okunabilirliği de yapıyı da daha beter hale getirdiği bir durumla bizzat karşılaşınca böyle değiştim.
Ben de bu şekilde kullanıyorum. Gerçekten ilk kez el attığım bir dilse agent modunu kullanıyorum; bildiğim bir dilse de önce kodun mantıklı olup olmadığını kontrol ediyorum.
Yapay zeka geliştiricileri aptallaştırıyor demektense…
Aptal geliştirici, yapay zeka kullansa da yine aptal geliştiricidir…
Garbage in Garbage out
Kesinlikle haklısınız haha
Katılıyorum. Bunun ne mutlak anlamda kötü ne de mutlak anlamda iyi olduğunu; sadece işe yarayan bir üretkenlik aracının daha eklendiğini düşünüyorum.
Katılıyorum.
Zaten eskiden beri, geliştirici denince herkesin aynı tür geliştirici olmadığı sözünü sık sık söylerdim.
Sanırım bu doğru gibi...
Kaba ama tamamen yanlış da sayılmaz. İyi sorudan iyi cevap çıkar denmesiyle aynı bağlamda..
Yazarın, yapay zeka araçlarına körü körüne bağımlı şekilde kullanımdan bahsettiğini düşünüyorum.
Benim kişisel görüşüm ise, yapay zekayı kullanarak iş verimliliği arttıysa,
bunu aktif biçimde değerlendirip tekrarlayan işleri azaltmanın,
elde edilen zamanı daha geniş alanlara (örneğin bir backend geliştiricisinin frontend ya da uygulama geliştirmeye kadar genişlemesi)
ya da mimari tasarım gibi daha geliştirici yönlere yatırmanın daha doğru olacağı yönünde.
Genel içeriğe bakınca yazarın da bu görüşe katılacağını düşünüyorum, ancak
bazen yapay zekanın kendisini tamamen reddeden geliştiriciler de olduğu için birkaç satır yanıt yazmak istedim.. haha
.
Ben de katılıyorum. Bana, Excel fonksiyonlarını kullanmamanızı söyleyen yazıyı hatırlattı.
Var olan özellikleri iyi kullanıp verimliliği daha da artırmanın kazanç olduğunu düşünüyorum.
Katılıyorum. ^^
Hacker News görüşü