Yapay zeka düşünmenin yerini almamalı, onu yükseltmeli
(koshyjohn.com)- İkna edici çıktılar ne kadar hızlı üretilirse, anlayış olmadan tekrara düşmek o kadar kolaylaşır; muhakemeyi geliştiren alıştırmalar atlandığında uzun vadeli yetkinlik zayıflar
- Tanıdık kalıplarda büyük fayda sağlar ama alışılmadık problemler, muğlak koşullar, eksik bilgi ve birbiriyle çatışan kısıtlarda yüzeysel taklit kolayca çöker ve gerçek beceri ortaya çıkar
- Güçlü mühendisler boilerplate, özetleme, test scaffolding'i ve araştırmayı hızlandırma gibi mekanik işleri devreder; ancak problemi tanımlama, gözden geçirme, seçim ve eleme süreçlerinin sahipliğini bizzat üstlenir
- Yazılım mühendisliğinin yüksek değeri kod üretiminden çok muhakemede yatar; gizli kısıtları görmek, yanlış problemin çözüldüğünü fark etmek ve muğlak tartışmaları trade-off'lara dönüştürmek daha da önemli hale gelir
- Özellikle kariyerin başında ve organizasyon yönetiminde gerçek anlayışı koruyan ölçütler daha önemlidir; neyin devredileceğini ve neyin doğrudan üstlenileceğini ayırt ettikçe yapay zeka, insanın değerini büyüten bir araca dönüşür
Düşünceyi dış kaynak kullanımıyla devretmenin yarattığı başarısızlık modları
- A.I. kod üretme, toplantı özetleme, kavram açıklama, tasarım taslağı çıkarma ve durum güncellemesi yazma gibi işleri hızlıca halleder; ancak anlayış olmadan yalnızca ikna edici sonuçlar üretme alışkanlığını da kolayca oluşturabilir
- Makinenin verdiği yanıtları kendi anlayışınmış gibi tekrar edersen, yetkinlik inşa etmeden yalnızca yetkin görünme halini taklit etmiş olursun
- Üretilmiş çıktılar kendi anlayışının yerini aldıkça, muhakemeyi geliştiren pratikleri atlar ve uzun vadeli yetkinliği kısa vadeli görünüşle değiş tokuş etmiş olursun
- Alışılmadık problemler, muğlak koşullar, eksik bilgi ve çatışan kısıtlar gibi şablonla çözülemeyen durumlarda yüzeysel taklit kolayca dağılır
-
Sınav cevabı kopyalama benzetmesi
- Cevapları kopyalayarak iyi notları koruyabilirsin ama gerçekten anlayış gerektiren durumlara girildiğinde temelin boş olduğu ortaya çıkar
- Kendi başına çalışırken oluşan sezgi yoksa, tanıdık olmayan problemler üzerinde akıl yürütmek veya koşul değişimlerine uyum sağlamak zorlaşır
- A.I.'ın verdiği cevapları tekrar tekrar alıp kullanırsan yalnızca ustalığın görünüşünü ödünç alırsın; gerçek ustalık birikmez
-
Hesap makinesi benzetmesi
- Hesap makinesi zaman kazandıran iyi bir araçtır ama sayı hissi olmadan ona bağımlı hale gelirsen sonucun mantıklı olup olmadığını denetleyemezsin
- Temeli olan mühendis, A.I. çıktısını gözden geçirebilir, hataları ayıklayabilir, düzeltebilir ya da çöpe atabilir
- Temeli olmayan mühendis A.I. kullanan biri değil, A.I. tarafından sürüklenen biri haline gelir; özellikle doğruluğun ve sonucun sorumluluğunun önemli olduğu rollerde bu daha da tehlikelidir
-
Otonom araç benzetmesi
- Otonom sürüş yorgunluğu azaltır ve günlük durumları yönetir; ama sürüşü anlamadan ona bağımlı olursan yalnızca kontrol yetkisi olan bir yolcuya daha yakın olursun
- Düşük görüş, karmaşık yollar, öngörülemez diğer araçlar, sistem arızası ve ani tehlikeler gibi standart dışı durumlarda gerçek beceri ortaya çıkar
- A.I. de genel kalıplarda ve tanıdık yapılarda güçlüdür; ama mühendislik sürekli olarak değişen gereksinimler, incelikli bug'lar, belirsiz sahiplikler, birbiriyle yarışan mimari hedefler, kısmi veri, organizasyonel sürtünme ve kusursuz cevabı olmayan trade-off'lar nedeniyle bu sınırların dışına taşar
Üst düzey mühendisler A.I.'ı nasıl kullanır
- Üst düzey mühendisler A.I.'ı daha az değil, daha aktif kullanır; ama düşünmenin kendisini devretmez
- Boilerplate yazımı, doküman özetleme, test scaffolding'i üretme, refactoring önerileri, olası başarısızlıkları keşfetme, araştırmayı hızlandırma ve tekrar eden işleri sıkıştırma gibi mekanik işleri isteyerek devrederler
- Buna karşılık daha keskin sorular üretir, önündeki talebi değil gerçek problemi tanımlar ve içeriği zayıf ama parlak cümleler yerine açıklık ve özlülüğü öncelerler
- Sistemdeki mevcut bilgiyi yeniden birleştirmekle yetinmez, yüksek değerli yeni bilgi üretirler
- Böylece kazandıkları zamanı yeniden daha üst düzey düşünceye ve muhakemeye yatırırlar
Değerin gerçek kaynağı
- Yazılım mühendisliği uzun zamandır kod üretimiyle eşanlamlı görülüyor ama en yüksek değer orada değil
- Eğer asıl mesele yalnızca sözdizimi olarak doğru kod yazmak olsaydı, A.I. işin büyük bölümünü doğrudan ikame eden bir akım haline gelirdi; oysa gerçek çekirdek muhakemedir
- Değerli mühendis, arıza oluşturmadan önce gizli kısıtları görür, ekibin yanlış problemi çözdüğünü fark eder, muğlak tartışmaları net trade-off'lara dönüştürür, eksik abstractions'ı bulur ve kodu değil gerçeği debug eder
- A.I. bu işleri destekleyebilir ama onların sorumluluğunu üstlenemez
- Bundan sonra daha büyük değer üreten mühendisler, A.I.'ı daha faydalı hale getiren tasarım ilkeleri, alan bilgisi, kalıplar, bağlam ve karar verme çerçeveleri oluşturan kişiler olmaya daha yakın olacak
- Bu ortamda mühendis, A.I. tarafından ikame edilmekten çok, ham çıktının üst katmanında çalışarak daha büyük kaldıraç elde eder
Kariyerinin başındaki mühendisler için daha büyük risk
- Bu mesele özellikle kariyerin başında daha önemlidir
- İlk birkaç yıl; debugging hissi, sistem sezgisi, titizlik, zevk, şüpheci gözden geçirme, problemi parçalara ayırma becerisi ve neden çalıştığını açıklayabilme gibi temel yetkinliklerin şekillendiği dönemdir
- Bu yetkinlikler sürtünme, deneme-yanılma, hataları düzeltme, kök nedenleri izleme ve gerçekle çarpışıp kırılma deneyimleriyle oluşur
- Öğrenme sürecinde A.I. tüm zorlukları ortadan kaldırırsa, kısa vadeli verim kazanılsa bile yetkinliğin bilenlendiği aşama atlanmış olur
- Bir iki çeyrek boyunca verimli görünmek mümkün olabilir ama geleceği taşıyacak kapasite sessizce kaybedilebilir
- Destek sistemi işliyormuş gibi gösterilebilir ama gerçek beceriyi senin yerine inşa etmez
Muhakemede kestirme yol yok
- Üretilmiş açıklamaları okumakla, işi kendin yapmadan ustalık zihne aktarılmış olmaz
- Akıl yürütmeyi uzun süre dışarıya devredip sonunda güçlü bir akıl yürütme becerisine sahip olmanın bir yolu yok
- Mekanik işleri dışarıya vermek, araştırma hızını artırmak ve tekrar eden işleri sıkıştırmak mümkündür ve arzu edilir
- Ama becerinin oluşum sürecini atlayıp yine de o beceriye sahip hale gelemezsin
- Yapay zekayı en naif kullanma biçiminin temel yanılgısı, zaman kazandığını sanırken aslında zayıf muhakeme, yüzeysel anlayış ve düşük uyum yeteneği faturasını ileriye ertelemektir
Ayrım çizgisi ve organizasyon düzeyindeki sonuçlar
- A.I. anlayışı daha hızlı inşa etmeye, daha derin düşünmeye ve daha yüksek seviyede çalışmaya yardım ediyorsa insanın değeri artar
- A.I. anlayıştan kaçınmaya, zorluktan kaçınmaya ve akıl yürütmenin sahipliğinden kaçınmaya yardım ediyorsa insanın değeri azalır
- Yollardan biri bileşik getiri gibi birikir, diğeri ise içini boşaltarak kolayca alakasız hale gelmeye açık bir duruma sürükler
- Gelecek, A.I.'ı sadece kullanan mühendislerden çok, neyi devredeceğini ve neyin sahipliğini doğrudan üstleneceğini doğru ayıran ve zaman tasarrufunu daha iyi düşünceye dönüştüren mühendislerden yana olacak
Bunun organizasyon sağlığını daha fazla etkilemesinin nedeni
- Mühendislik yönetimi de anlayışı hızlandıran kullanım ile anlayışı taklit eden kullanım arasındaki aynı sınırda durmak zorunda kalacak
- Güçlü liderlik, parlak görünen sonuçlarla gerçek muhakemeyi ayırt edebilmelidir; yalnızca hız, akıcılık ve sunum becerisini ödüllendirmek teknik derinliğin sinyallerini kaçırmaya yol açar
- Düşük anlayış ama yüksek akıcılığa sahip işler yayılırsa, yalnızca bireysel çıktı kalitesi düşmez; organizasyonun bilgi ortamı da zayıflar
- İncelemeler zayıflar
- Tasarım tartışmaları yüzeyselleşir
- Dokümantasyon daha parlak görünür ama daha az faydalı olur
- Zamanla organizasyon, dayandığı açıklığı ve teknik muhakemeyi üretme gücünü kaybeder
- Bu yüzden esas mesele A.I. aracını benimsemekten çok, gerçek düşünce, öğrenme ve ustalığın ayakta kalacağı koşulları korumaktır
- İşe alım aşamasından itibaren görünürdeki akıcılığı değil, gerçek anlayışı ayırt edecek yöntemler gerekir
- Mülakatlar polished answer yerine akıl yürütme sürecini sınamalıdır
- Değerlendirmeler çıktı miktarından çok açıklığı, derinliği, sağlam muhakemeyi ve kalıcı teknik katkıyı ödüllendirmelidir
- Takım tasarımı ve kültür üzerinde de etkisi büyüktür
- Güçlü mühendislerin, düşünmeyi dışarıya devreden kişilerin ürettiği ikna edici ama yüzeysel işleri aşırı ölçüde toparlamak için zaman harcamaması gerekir
- Bu engellenemezse yüksek performans gösterenler, kendileri dışındaki herkes için birer yükselteç olarak tüketilir ve bunun sonucu hayal kırıklığı, standartların düşmesi ve ayrılma olur
- Yapay zeka çağında organizasyon kalitesi, sonuçta liderliğin kaldıraç ile bağımlılığı, hızlandırma ile taklidi, gerçek yetkinlik ile ikna edici çıktıyı ayırt etmeyi sürdürebilmesine daha çok bağlı olacak
1 yorum
Hacker News görüşleri
Bu savı tekrar tekrar okudukça ifadenin rafineliği sürekli artıyor gibi geliyor, ama hâlâ vecize aşamasına ulaşmış değil
"the medium is the message", "you ship your org chart", "9 mothers can't make a baby in a month" gibi birkaç kelimeyle birçok kişiye çarpan cümlelere dönüşmesi için, anlamı yontma işi yıllardan on yıllara kadar sürebiliyor
Ve biz anlam oluşumunu RL ile nasıl ele alacağımızı bile bilmiyoruz, dolayısıyla yapay zeka bunun yerini alamaz
Aslında doğrusu "9 women can't make a baby in one month"
Yaparken öğrenmek. Bu tek cümle vecizeye daha yakın görünüyor
Intelligence amplification, not artificial intelligence kulağa fena gelmiyor
Kısaltınca IA, not AI oluyor, İspanyolcaya çevirince de "AI, no IA" olduğu için daha da eğlenceli
Zevk ve muhakeme gücü yapay zekanın doğurabileceği şeyler değil
Bu vecizenin anlamını 100 Amerikalıya sorsanız, McLuhan'ın asıl kastını doğru yakalayan neredeyse kimse çıkmaz gibi
Bence yapay zeka genel olarak iki şekilde kullanılabilir
Biri benim sahip olduğum ve anladığım kodu yazarken yardımcı olarak kullanmak, diğeri ise yapay zekayı bir soyutlama katmanı gibi kullanıp kod yazımı ve bakımını ona bırakmak
İkincisi; ömrü kısa olan prototipler, örnekler ve referanslar gibi yerlerde, kod kalitesinin ya da benim anlayışımın çok önemli olmadığı durumlarda gayet uygun
Sorun, aslında 1 numaralı yaklaşımın gerektiği işe 2'yi getirip hem kendini hem başkalarını kandırınca ortaya çıkıyor
Hızlı ve kolay görünebilir ama sonunda kod tabanını ipotek altına sokmuş oluyorsun; yetkinlik daralması da bence o noktada başlıyor
Özellikler çıkmaya devam ediyor ve dışarıdan bakınca her şey normal görünüyor, ama bir şey patladığı anda modele yeniden sormadan kendi kodunu bile debug edemediğini fark ediyorsun
Modern bir IDE, bellek yönetimli diller, GitHub veya paket yöneticilerindeki kütüphaneler olmadan çalışamayan birçok mühendis var
Bu yüzden yapay zekaya bağımlılık bana çok özsel olarak farklı gelmiyor
Engineer kelimesinin anlamı da değişebilir; nitekim yalnızca Webflow ya da WordPress kullanan "web developer"lar zaten var
Katı bir tanıma göre gidersek, Software Engineering alanındaki insanların çoğu gerçek anlamda lisanslı mühendis bile değil; bazı ülkelerde bunun resmi yetkisi ve unvanı da var
Kariyerin başında, yeterli zaman verilse neredeyse her şeyi yapardın; şimdi ise yapabilecek olsan bile eğlenceli gelmediği için yapmadığın şeylerin listesi uzayıp gidiyor
Yapay zekanın bir Slack aboneliği kadar mı tutacağını, bir ekip üyesi kadar mı mal olacağını, yoksa hizmet ortadan kalkınca yapay zeka erişimi olan birini ayrıca mı işe almak gerekeceğini bilmiyoruz
Bu yüzden yapay zekaya bağımlı olmak, lokalde ya da açık kaynak olabilen bir IDE'ye bağımlı olmaktan epey farklı
Yaklaşık 10 yıllık deneyimi olan biri, kodun akışını ve mantığını bildiği için yapay zekayı kullansa da hem kod üretebilir hem de kendi yöntemini geliştirebilir
Buna karşılık acemiler akışı ve mantığı bilmeden sadece kopyala-yapıştır yapmaya daha yatkın; bu yüzden yapay zekanın onlara düşünme alanı bırakacağını pek sanmıyorum
Yapay zekayı şu an kullanma biçimimiz, son 20 yıldaki programlamadan daha yorucu hissettiriyor
Problemi ortaya atmak, önerileri değerlendirmek, içinden doğru yönü seçmek, garip önerileri ayıklamak ve yeniden cilalayıp neredeyse doğru hâle getirmek özellikle tüketici
Ardından 1 ila 5 saat boyunca kod yazıyor ve benim tek başıma yapsam en az 2-3 hafta sürecek bir sonucu çıkarabiliyor
Ama bu şekilde yaklaşık 5 saat plan odaklı çalışınca tamamen tükeniyorum; bu yorgunluk saf programlama yaparkenki yorgunluktan farklı
Bir şeyler öğreniyormuşum gibi de geliyor ama dürüst olmak gerekirse yöneticilik işine daha yakın bir his veriyor
LLM ile problemi yavaş yavaş tanımlayıp makul bir çözüm bulmaya çalışırken sürekli odak hâlini korumak gerekiyor; bu yüzden eskisi gibi bir akış durumu pek oluşmuyor
Yığınla çıktıyı durmadan işleyip içinden özü tekrar tekrar çekip almak gerekiyor; genel olarak iyi olsa da hep bir yerlerde hafifçe kayık olduğu için rahatsız edici
LLM'lere özgü garip hatalar ve akıl yürütme kusurları yüzünden sürekli yüksek tetikte kalmak gerekiyor; o insan dışı iletişim tarzını yorumlamak bile başlı başına yorucu
Ama pacing ya da procrastination'ın insanlar için bir tür basınç tahliye vanası da olabileceğini düşünüyorum
Zaten en başta iyi düşünemeyen çok mühendis var; yapay zeka bu gerçeği değiştiremez
Bu, Software Engineering alanının epey bozulmasının nedenlerinden biri; yapay zeka bunu çözmek yerine sadece daha büyük bir karmaşayı bir süre erteleyebilir
Üniversiteyi kopya çekerek geçiren biri bile yakalanmadan sıyrılmak için sonuçta eleştirel düşünmeye ihtiyaç duyardı
Kulağa hoş gelmeyebilir ama iyi kopya çekmek bile epey ciddi düşünme becerisi gerektirir
Yapay zekaya herhangi bir seviyede düşünmeyi devreden birinin, aslında buna baştan beri değer vermediğini düşünüyorum
"use it or lose it" denildiği gibi, bunu destekleyen araştırmalar giderek artarken yazılım geliştirmede LLM kullanmanın sorun olmadığını ve değerimizin düşünme gücümüzde yattığını söyleyen yazılar hâlâ çıkıyor
Tamamen başka bir işe dalmışken bile bir anda çözümün aklına gelmesi, bu işin güzelliğinin bir parçası
Şimdi yapay zeka, bu düşünceleri hızla eyleme dönüştüren bir araç hâline geldi
Eskiden ipucunu tam yakalayamadan akışı kaybettiğim olurdu; şimdi ise birkaç dakika içinde telefondan o fikri kısmen de olsa gerçeğe dönüştürüp sonra eski işime geri dönebiliyorum
Gözümü kısa süreliğine başka yöne çevirince fikri kaybeder miyim diye endişelenmek zorunda olmamak özellikle büyük fark yaratıyor
Şu anda numba'yı yeniden yapıyorum ve bunu sadece elle yapmak zor olurdu
Birkaç yıl önce denediğimde aşırı sancılı, yavaş ve dağınıktı
Yıllar içinde birikmiş soyutlamaların üstüne sonsuz küçük parçalar eklenmiş olması da bunu zorlaştırıyordu
Bu kez LLM kullanarak yeniden yapıyorum; normalde haftalar sürecek bir iş bazen bir gecede bitebiliyor
Yine de kodu bizzat inceliyorum, üretilen C çıktısına da bakıyorum ve hem benim hem LLM'in ileride daha rahat çalışabilmesi için mimari üzerindeki kontrolü elimde tutuyorum
Bunun düşüncemi ikame edip etmediğinden emin değilim
Aylarca elle yazıp düzelterek ilerleseydim derleyiciler ya da transpiler'lar hakkında daha çok şey öğrenirdim, ama o zaman sadece buna gömülüp kalmış olurdum
Bunun yerine şimdi Golang ile özel bir dosya sistemi için NFS sunucu desteği de ayrıca yazacak zamanım kalıyor
Artık ajanların bir özelliğin tamamı için gereken değişiklikleri bulabildiği, planlama aşamasında bunları çok ayrıntılı biçimde açtığı ve uygulamayı da neredeyse ilk seferde doğru yaptığı düzeyde sistemler kurdum
Son bir yılda kodu doğrudan kendim okuma işim giderek azaldı; şimdi sistem hakkında hissettiğim rahatlığın fazla kaçıp kaçmadığını sık sık sorguluyorum
O kadar yüksek doğruluk ve başarı oranını tekrar tekrar gördüm ki artık içgüdüsel olarak şüphe etmiyorum
Bir gün büyük bir darbe yiyeceğim anı bekleyip duruyorum ama garip şekilde o an bir türlü gelmiyor
Elbette küçük eksikler ve geri almalar oldu ama onlar eskiden de oluyordu
Fark şu: eskiden emek verip yazdığım kodla çok daha kişisel bir ilişkim vardı
Şimdi bir sorun çıkarsa kodu suçlamaktan çok, sistemin neden doğru cevabı kendi başına üretemediğine ya da neden uygulamadan önce planda bütün resmi ortaya koyamadığına dönüp bakıyorum
Yazılımda yapay zekanın en büyük avantajı, kodu daha hızlı üretebilmek
En büyük dezavantajı ise insanı çok daha hızlı üretmek istemeye ayartması
Bu yüzden kişisel projelerde yapay zeka kullanmıyorum
Çünkü zihnimi keskin tutmak istiyorum
Yapay zekayı içeren projelerde istisna olabilir ama o kodu yazmak için yapay zeka kullanmam
Buna karşılık şirket işi umurumda değil
Yönetici Claude ile tamamen vibe coding yapmamı istiyorsa öyle yaparım; çünkü bundan doğan teknik borcun bedelini ben ödemiyorum