Yapay zeka düşünmenin yerini almamalı, onu yükseltmeli
(koshyjohn.com)- İkna edici çıktılar ne kadar hızlı üretilirse, anlayış olmadan tekrarlamak o kadar kolaylaşır; yargı gücünü geliştiren pratik atlanırsa uzun vadeli yetkinlik zayıflar
- Tanıdık kalıplarda büyük fayda sağlar; ancak alışılmadık problemler, belirsiz 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, araştırmayı hızlandırma gibi mekanik işleri devreder; ama problem tanımı, gözden geçirme, seçim ve eleme süreçlerinin sorumluluğunu doğrudan üstlenir
- Yazılım mühendisliğinde asıl yüksek değer, kod üretiminden çok yargı gücünde 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 da önemlidir; neyin devredileceğini ve neyin bizzat üstlenileceğini ne kadar iyi ayırırsanız, yapay zeka da insanın değerini artıran bir araca o kadar çok dönüşür
Düşünmeyi dış kaynak kullanımıyla devretmenin yarattığı başarısızlık biçimleri
- A.I. kod üretimi, toplantı özeti, kavram açıklaması, tasarım taslağı hazırlama ve durum güncellemesi yazma gibi işleri hızlıca yapar; ama aynı zamanda anlayış olmadan yalnızca ikna edici sonuçlar üretme alışkanlığını da kolayca yerleştirebilir
- Makinenin verdiği cevabı kendi anlayışınmış gibi tekrar ederseniz, gerçek yetkinlik oluşturmadan yalnızca yetkin görünme halini taklit etmiş olursunuz
- Üretilmiş çıktıları kendi anlayışınızın yerine ne kadar çok koyarsanız, yargı gücünü geliştiren pratiği o kadar çok atlar ve uzun vadeli yetkinliği, kısa vadeli görünüşle değiş tokuş edersiniz
- Alışılmadık problemler, belirsiz koşullar, eksik bilgi ve çatışan kısıtlar gibi şablonla çözülemeyen durumlarda yüzeysel taklit hızla çöker
-
Sınav cevabını kopyalama benzetmesi
- Cevapları kopyalayarak iyi notlarınızı koruyabilirsiniz; ancak gerçekten anlayış gerektiren bir durumun içine girildiğinde, temelin boş olduğu ortaya çıkar
- Kendi başına çalışarak oluşan sezgi yoksa, alışılmadık problemler üzerinde akıl yürütmek ya da koşul değişikliklerine uyum sağlamak zorlaşır
- A.I.’ın verdiği cevapları tekrar tekrar alıp kullanmak, yalnızca ustalık görüntüsünü ödünç almak demektir; gerçek ustalık ise birikmez
-
Hesap makinesi benzetmesi
- Hesap makinesi zamandan tasarruf sağlayan iyi bir araçtır; ama sayı sezgisi olmadan ona bağımlı hale gelirseniz, sonucun mantıklı olup olmadığını denetleyemezsiniz
- Temeli olan bir mühendis, A.I. çıktısını gözden geçirebilir, hataları ayıklayabilir, düzeltebilir ya da tamamen atabilir
- Temeli olmayan bir mühendis A.I.’ı kullanmaz; A.I. tarafından sürüklenir, özellikle doğruluk ve sonuç sorumluluğunun önemli olduğu rollerde bu daha da tehlikelidir
-
Otonom araç benzetmesi
- Otonom sürüş yorgunluğu azaltır ve gündelik durumları yönetir; ancak sürüşü anlamadan ona bağımlı hale gelirseniz, yalnızca kontrol yetkisi olan bir yolcuya dönüşürsünüz
- Görüşün kötü olduğu anlar, karmaşık yollar, öngörülemeyen diğer araçlar, sistem arızaları 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; ancak mühendislik sürekli olarak gereksinim değişiklikleri, ince hatalar, belirsiz sahiplik, yarışan mimari hedefler, parçalı veriler, organizasyonel sürtünme ve kusursuz cevabı olmayan trade-off’larla bu kalıpları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 biçimde kullanır; ancak 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 görevleri memnuniyetle devrederler
- Buna karşılık daha keskin sorular üretir, önlerindeki isteği değil gerçek problemi tanımlar ve içeriği zayıf ama pürüzsüz cümleler yerine açıklık ve özlülüğü öncelerler
- Sistemdeki mevcut bilgiyi yalnızca yeniden birleştirmekle kalmaz, yeni ve yüksek değerli bilgi üretirler
- Böylece kazandıkları zamanı daha üst düzey düşünme ve yargıya yeniden yatırırlar
Değerin gerçek kaynağı
- Yazılım mühendisliği uzun süredir kod üretimiyle eş tutuldu; ancak en yüksek değer burada yatmıyor
- Eğer asıl mesele yalnızca sözdizimi olarak doğru kod üretmek olsaydı, A.I. doğrudan işin büyük kısmının yerini alma yönünde ilerlerdi; oysa gerçek çekirdek yargı gücüdür
- Değerli mühendis, arıza çıkmadan ö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 soyutlamaları bulur ve kodu değil, gerçekliği debug eder
- A.I. bu işleri destekleyebilir, ama onların sorumluluğunu üstlenemez
- Gelecekte daha büyük değer üreten mühendisler, A.I.’ı daha kullanışlı hale getiren tasarım ilkeleri, alan bilgisi, kalıplar, bağlam ve karar verme çerçeveleri oluşturan kişiler olacaktır
- Bu ortamda mühendis, A.I. tarafından yer değiştirmekten çok, ham çıktının üst katmanında çalışarak daha büyük bir kaldıraç elde eder
Kariyerin başındaki mühendisler için daha büyük risk
- Bu mesele özellikle kariyerin başında daha önemlidir
- İlk birkaç yıl, debugging sezgisi, sistem içgörüsü, titizlik, zevk, şüpheci değerlendirme, 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 neden takibi ve gerçekle çarpışıp yanılmanın fark edilmesiyle gelişir
- Öğrenme sürecinde A.I. tüm zorlukları ortadan kaldırırsa, kısa vadeli verimlilik kazanılır; ancak yetkinliğin bilendiği aşama atlanmış olur
- Bir ya da iki çeyrek boyunca verimli görünmek mümkün olabilir; ama geleceği taşıyacak beceriler sessizce kaçırılabilir
- Destek sistemleri çalışıyormuş gibi görünebilir; ancak gerçek beceriyi sizin yerinize inşa edemezler
Yargı gücünün kestirme yolu yok
- Üretilmiş açıklamaları okumakla, kendi başınıza çalışmadan ustalık zihninize aktarılmış olmaz
- Akıl yürütmeyi uzun süre dışarıya devredip sonunda güçlü akıl yürütme becerileri edinmenin bir yolu yoktur
- Mekanik işleri devretmek, 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 gelemezsiniz
- Yapay zekadan en naif biçimde yararlanmanın temel hatası, zaman kazandığını sanarken aslında zayıf yargı gücü, yüzeysel anlayış ve düşük uyum kabiliyeti faturasını geleceğe 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ımcı oluyorsa insanın değeri artar
- A.I. anlayıştan, zorluktan ve akıl yürütmenin sahipliğinden kaçınmaya yardımcı oluyorsa insanın değeri azalır
- Bir yol bileşik getiri gibi birikir; diğeri ise içini boşaltır ve kolayca önemsizleşebilen bir duruma sürükler
- Gelecek, A.I.’ı yalnızca kullanan mühendislerden çok, neyi devredeceğini ve neyin sorumluluğunu bizzat üstleneceğini doğru ayıran ve zaman tasarrufunu daha iyi düşünmeye dönüştüren mühendislerden yana olacaktır
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, pürüzsüz çıktılar ile gerçek yargı gücünü ayırt edebilmelidir; yalnızca hız, akıcılık ve sunum becerisini ödüllendirmek teknik derinlik sinyallerini kaçırmaya yol açar
- Düşük anlayış ama yüksek akıcılıkla üretilmiş 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ümanlar daha pürüzsüz ama daha az yararlı hale gelir
- Zamanla organizasyon, dayandığı açıklığı ve teknik yargıyı üretme gücünü kaybeder
- Bu yüzden asıl mesele A.I. aracını benimsemekten çok, gerçek düşünme, öğrenme ve zanaatkârlığın yaşayabildiği 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ğerlendirme, çıktı miktarından çok açıklık, derinlik, sağlam yargı ve kalıcı teknik katkıyı ödüllendirmelidir
- Takım tasarımı ve kültür üzerinde de büyük etkisi vardır
- Güçlü mühendislerin, düşünmeyi dışarıya devretmiş kişilerin ürettiği ikna edici ama yüzeysel işleri gereğinden fazla toparlamak için zaman harcamaması gerekir
- Bu önlenemezse yüksek performans gösterenler, kendileri dışındaki herkes için birer yükselticiye dönüşerek tükenir; bunun sonucu da kolayca hayal kırıklığı, standartların düşmesi ve ayrılışlar olur
- Yapay zeka çağında organizasyon kalitesi, nihayetinde liderliğin kaldıraç ile bağımlılığı, hızlandırma ile taklidi, gerçek yetkinlik ile ikna edici çıktı arasındaki farkı sürekli ayırt edip edememesine daha çok bağlı olacaktır
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