AI: Hızlandırılmış Yetersizlik
(slater.dev)- Yazılım mühendisliğinde LLM’lere aşırı bağımlılık, kısa vadede hızı artırsa da eleştirel düşünme ve problem çözme becerilerini zayıflatabilir
- Hatalı çıktılardan daha büyük risk, kusurlu prompt’ları olduğu gibi kabul etmek ve bunun sonucunda teknik borcun ve kullanıcı yetkinliği kaybının hızla birikmesidir
- LLM’ler mevcut bağlam penceresinin ötesinde program teorisini hatırlayıp içselleştiremediği için, tasarım ve bakım için gerekli ortak zihinsel model insan mühendislerin alanı olarak kalır
- Karmaşıklık bakım sürecinde sürekli artar ve metin düzeyinde çalışan token tahminleyicileri olan LLM’ler gereksiz ya da tuhaf değişikliklerle program entropisini büyütebilir
- AI bir araç olarak kullanılabilir, ancak koltuk değneği gibi ona yaslanılmamalıdır; 2019’da da değerli olan temel mühendislik yetkinliklerine ve derin düşünmeye yatırım sürmelidir
LLM bağımlılığının yarattığı mühendislik riskleri
- LLM’leri “arkadaş” gibi adlandıran yaklaşım, gerçek bir yoldaştan çok kullanıcıya fayda sağladığını ima eden örtülü bir ifadedir
- Bu bakış açısındaki mühendisler çoğunlukla hızı önceliklendirir ya da hızı öncelemeleri için baskı görür
- LLM’ler çok miktarda kodu hızlıca üretebilir, ancak kullanımlarına uzun vadeli riskler eşlik eder
Kod üretiminde ortaya çıkan beş risk
-
Çıktı riski
- LLM’ler derlenmeyen kod gibi açıkça yanlış sonuçlar üretebilir
- Daha tehlikeli olan durum, mantık hataları gibi daha ince ve tespit edilmesi zor yanlış sonuçlardır
- Prompt’u yazan kişinin sonucu değerlendirecek yetkinliği yoksa risk büyür
- Buna örnek olarak bir proje yöneticisinin kaynak kod istemesi verilir
-
Girdi riski
- LLM’ler yönlendirici sorulara, yanlış varsayımlara ya da eksik bağlama sahip prompt’lara itiraz etmez
- Örneğin “C#’ta thread-safe bir liste implementasyonu ver” isteğine 200 satırlık makul görünen bir kod çıkabilir; oysa gerçek soru “Bu kodu thread-safe hale getirmek için ne yapmalıyım?” olabilir
- Bu durumda yanıt,
System.Collections.Concurrentkullanan tek satırlık bir kod olabilir - LLM, kendisinden istenmediği için XY Problem örneğini fark etmez
-
Gelecekte hız kaybı
- LLM’ler bir kod tabanının kalitesini çok hızlı biçimde düşürebilir
- Güçlü koruyucu önlemler yoksa, LLM tarafından üretilen kod dışarıdan düzgün görünse de içeride hijyenden uzak ve işlevsiz bir alana dönüşebilir
- Bu, genel teknik borç tartışmalarından daha acil bir sorun olarak ele alınır
-
Kullanıcının çocuklaştırılması
- Düşünmeyi ve problem çözmeyi LLM’lere devreden bireylerde ve organizasyonlarda yetenekler körelebilir
- Kıdemli mühendisler, verimli mücadele yoluyla öğrenme fırsatını kaybederek problem çözme ve eleştirel düşünme becerilerinde zayıflama yaşayabilir
- Junior mühendisler ise bu becerileri en baştan geliştiremeyebilir ve sonrasında geleceğin junior’larına mentorluk yapmakta zorlanabilir
- ThoughtWorks Technology Radar Volume 32, AI kaynaklı özgüvenin bazen eleştirel düşünme pahasına geldiğini ele alır
- Coding as Craft: Going Back to the Old Gym, kodlamayı bir zanaat olarak koruyan bilinçli AI iş birliğini vurgular
- Thoughts on Thinking, LLM’lerin tamamlanmış düşünceler verebildiğini ama kişinin kendi başına geliştirdiği entelektüel büyümeyi sağlayamadığını savunur
-
Keyif kaybı
- Pek çok geliştirici, AI kullanımının akış halini ve üretmenin keyfini ellerinden aldığını bildiriyor
- AI tarafından üretilen kod, okunması ve değiştirilmesi eziyetli bir koda dönüşebilir
- İlgili yazı olarak The Hidden Cost of AI Coding bağlantısı verilir
LLM’lerin yerine geçemediği iki yetkinlik
- Yetkin mühendislerin AI yüzünden gereksiz hale geleceği yönündeki kaygıya karşı, LLM’lerin sağlayamadığı programlama becerileri iki başlıkta toplanır
- Bu yetkinlikler program teorisi ve program entropisidir
Program teorisi: Kod, programın kendisi değildir
- Peter Naur’un Programming as Theory Building makalesi, programlamayı bir probleme dair içgörü ya da teori oluşturma faaliyeti olarak görür
- Naur’un bakış açısında program, kaynak kod değil; paylaşılan zihinsel bir yapı, yani teori veya tasarımdır
- Kod bu tasarımdan türese de asıl değerli çıktı koddan çok tasarımın kendisindedir
-
İki takım düşünce deneyi
- Aynı yetkinlikteki iki takım A ve B, birbirleriyle iletişim kurmadan ayrı odalarda bulunur
- A takımı terminal tabanlı bir satranç oyunu gibi bir program yazar, B takımı ise bekler ya da gerçekten satranç oynar
- A takımı bitirdikten sonra kaynak kod B takımına verilir ve her iki takımın da sanal satranç oyuncusu gibi bir özellik eklemesi gerekir
- Daha iyi çözümü üretmesi beklenen takım A’dır
- Çünkü A takımının, az önce yaptığı programa dair taze bir zihinsel modeli vardır
- B takımında ise böyle bir model yoktur
- Programlar ilk üretimden sonra sürekli değiştirildiği için, yalnızca kaynak koda sahip olup tasarıma dair içselleştirilmiş bir anlayış olmadan değişiklik yapmak pahalıya mal olur
- Bu, büyük bir mevcut kod tabanına ilk kez girildiğinde üretkenliğin neredeyse sıfıra yakın olup, kişi kafasında program teorisini kurdukça üretkenliğin artması deneyimiyle bağlantılıdır
-
LLM’ler ve program teorisi
- Günümüz LLM’leri bağlam penceresinin ötesini hatırlayamadığı için teoriye, tasarıma ve zihinsel yapılara hakim olamaz
- Program teorisini edinip koruyabilen varlık insandır
Program entropisi: Karmaşıklığı azaltma ya da ona direnme becerisi
- Karmaşıklık, programlamanın karşısındaki temel kuvvettir ve entropiyle ilişkilidir
- Fred Brooks’un The Mythical Man-Month kitabı, program inşasını entropiyi azaltma süreci; bakımı ise entropiyi artırma süreci olarak görür
- Brooks’un bakış açısından, ilk inşadan sonra programda yapılan değişiklikler kaynak kodu kaçınılmaz olarak daha karmaşık hale getirir
- Ancak tasarımla uyumlu değişiklikler, karmaşıklık artış hızını yavaşlatabilir
-
LLM’ler ve program entropisi
- LLM’ler birer token tahminleyicisidir ve yalnızca metin düzeyinde çalışır
- LLM’ler fikirler, diyagramlar ya da gereksinim tanımları gibi kavramsal düzeyde akıl yürütemez
- Büyük kod parçalarını LLM’lere veren herkes, onların gereksiz ve tuhaf değişiklikler uygulama eğilimini görebilir
- Konuşma uzadıkça sonuçlar daha da sapabilir
- Kodun karmaşıklığını azaltma ya da karmaşıklığa direnme yeteneği insanlarda bulunur
Mühendislikte AI kullanma biçimi
- Eğer AI’ın mühendislik kariyerini bir üst seviyeye taşıyacağını umduysanız, bunun tersi de gerçekleşebilir
- LLM’ler yetersizliği hızlandırabilir, ancak insan mühendisliğinin yerini alamaz
- AI’ın iş dünyasındaki çekiciliği, mühendisliği metalaştırarak maliyetleri düşürmesinde yatar
- Ancak yurtdışı mühendislik yeteneğinden yararlanmanın karma sonuçlar doğurması gibi, LLM’ler de sınırlamalar ve riskler taşır
- AI hype cycle eninde sonunda zirveye ulaşabilir
- Bugün AI’ı aşırı kullanan şirketler, uzun vadeli maliyetleri üstlenmek zorunda kalacak ve yön değiştirebilir ya da ortadan kaybolabilir
- Mühendislikte insanın uzun vadeli değer önerisi değişmez
- Dünya hâlâ teknik yetkinliğe ve derin düşünmeye ihtiyaç duyuyor
- Bu yetkinlikler için hâlâ ödeme yapacak
- AI kalıcı olacak, ancak bir araç olarak kullanılmalı; koltuk değneği gibi ona bağımlı olunmamalıdır
- 2019’da da değerli görülen temel mühendislik yetkinliklerine yatırım yapmaya devam edilmelidir
1 yorum
Hacker News görüşleri
Yapay zeka ile kodlama tartışması bazen yazılım mühendisi ile veri bilimci/makine öğrenimi mühendisi arasındaki farkı yansıtıyor gibi geliyor.
İkisi de belirsiz gereksinimlerle ve yakalaması zor hatalarla uğraşıyor; ancak genel olarak yazılım mühendisleri her zaman belirli bir şekilde davranması gereken yazılımlar geliştirir ve yeniden üretilebilirlik, testler ve olgun araçlar önemlidir.
Buna karşılık makine öğrenimi mühendisleri doğası gereği olasılıksal modellerle çalışır; testler de belirli bir çıktıyı verip vermediğinden çok “vakaların %90’ında doğru çıktı” gibi değerlendirme metrikleri etrafında şekillenir.
Bu yüzden her zaman güvenilir olmayan yapay zekayla çalışma zihniyeti makine öğrenimi tarafına daha doğal gelir ve kodlama yardımcılarını “%80 doğru, zahmeti azaltıyor; kalan %20’yi de ben yakalarım” gibi değerlendirirler.
Amazon’da çalışırken, klasik bir yaklaşımı olmayan gerçek problemlere makine öğrenimi tabanlı çözümlerin çoğu zaman iyi oturduğunu gördüm. Örneğin ızgara harita tabanlı hareket tahmini ya da görüntü/ızgara harita sınıflandırması, mevcut kestirim ve kontrol işlem hatlarına iyi entegre edilip faydalı oluyordu.
Buna karşılık bir startup’ta, duran bir düzlemin yönünü zaman içinde tahmin etme probleminde öğrenme tabanlı yaklaşımdan şüphe ettiğim için alt düzey bir yönetici tarafından sürekli azarlandım. Ekip haritalama ya da filtrelemenin temellerini bilmiyor ve “daha fazla veri koyarsak çözülür” diye varsayıyordu; bunun sonucunda tüm araç kontrol işlem hattı, yanıp sönen ve zıplayan rastgele dönüş tahminleriyle besleniyordu.
Bu uçurum gerçekten büyük ve mülakatlarda bunu daha iyi ayırt etmenin bir yolu olsa keşke.
Bir keresinde şirketin kıdemli mimarının bir toplantıdan sonra şikâyet ettiğini duymuştum: Şirketimizin ürünlerinde kesinlik ve doğruluk her zaman büyük bir satış argümanıydı, ama başka bir ofisteki makine öğrenimi ekibi bunu anlamıyor ve %80–90 doğruluğun müşteriler için yeterli olduğunu düşünüyordu.
Bu bana pandemik bir hastalıkta %1 ölüm oranının küçük mü büyük mü olduğu tartışmasını hatırlatıyor. 1 en küçük tam sayıdır, ama 300 milyon kişinin %1’i 3 milyon kişidir.
Ama bence bu yazı yalnızca bundan ibaret değil. Yazı, yazılım mühendisliği yapan insanların meta düzeydeki kaygılarını ve yapay zekanın buna nasıl uyduğunu ele alıyor; “program entropisi”nden söz ederken de bence can alıcı noktayı yakalıyor.
Bir yazılım ürünü geliştirmenin büyük kısmı entropi yönetimidir. Kod ve insan sayısını artırırken makul bir ilerleme hızını korumak, herkesin parçaların nasıl birbirine oturduğunu ve yeni parçaların nasıl ekleneceğini anlamasını sağlamak gerekir. Bir gün yapay zeka bunu kolaylaştırabilir; ama şu anda çoğu zaman entropiyi daha da kötüleştiriyor.
Çıkarı olan insanlar “hayır, öyle değil; yapay zeka hemen her şeyde kullanılabilir” diye ikna etmeye çalışmasaydı bu büyük bir sorun olmazdı.
Bu varsayım, mantıkla çürütülmesi bile zor olacak kadar saçma; şimdiye kadar ise dev yatırımları çekmek ve kâr odaklı iş gücü optimizasyonunu ambalajlamak için inanç temelli bir anlatı olarak son derece başarılı oldu.
Yazının öncülüne ve somut argümanlarının çoğuna güçlü biçimde katılıyorum; ama günlük kullanımda LLM’lerden yararlanırken olumlu yanlarını da görüyorum. Not olarak, yazılım sektöründe yaklaşık 30 yıldır çalışıyorum.
Yapay zeka tarafından üretilen kodla uğraşınca kod okursunuz. Geliştirme, sıfırdan yaratma yolculuğundan çok bir dizi kod incelemesine benzemeye başlar; solo geliştiriciler için de normalde daha çok ekip içinde öğrenilen sorumlulukları taklit ederek edinme avantajı sağlar.
Ayrıca LLM ile çalışmak, geliştiricinin problemi açık ve iyi yapılandırılmış katmanlar hâlinde anlaması gerektiğini hızla ortaya koyar. Büyük bir şeyi tek seferde yaptırmaya kalkarsanız genellikle ayağınıza sıkarsınız; bu yüzden tasarım perspektifinden yaklaşmak, ayrıntılı spesifikasyon yazmak ve parça parça uygulamak, kavramsal blokların sınırlarını ve arayüzlerini belirlemeye yardımcı olur.
LLM, junior geliştiricilerin senior role doğru büyümesine yardımcı olan güçlü bir hızlandırıcı olarak görülebilir. Doğru yönlendirmeyle, daha deneyimli insanların zamanla öğrendiği derslerin ilerleyişini görünür kılar. Her şeyin karanlık olduğunu düşünmüyorum; yapay zeka geliştiricilerin yerini de almayacak. Şu an çok yıkıcı, ama sonunda diğer araçların arasında bir yere yerleşecek gibi geliyor.
LLM yardımıyla üretilen kodu incelemek, daha sıradan kod okumak anlamına geliyor olabilir; ama yine de öğrenildiğini düşünüyorum. LLM tarafından üretilmiş çok kod okudum ve sık sık aşina olmadığım deyimler ya da bilmediğim kütüphane çağrıları öğrendim.
Senior geliştiriciler için de LLM daha güçlü bir hızlandırıcıdır. Neyin var olduğunu ve neyi denemeye gerek olmadığını bildikleri için daha iyi prompt yazabilirler.
Son haberlere bakınca bile Big Tech’te, orta ölçekli teknoloji şirketlerinde ve küçük teknoloji şirketlerinde işten çıkarmaların sürdüğünü görüyoruz.
3D baskının tüm üretimin yerini alacağı söylenen zamanı hatırlıyor musunuz?
Yapay zeka, tekillikten çok bu duyguya daha yakın
LLM'lerin bir şeyleri iyileştirmesinden çok sistemsel kusurları ortaya çıkardığı da söylenebilir, ama etkinin kendisi açık. İki yıl önce standart olan onlarca ders akışı artık çalışmıyor
Özellikle çevrimiçi ve uzaktan eğitimin tamamı buna dahil; ironik biçimde, birçok üniversitenin Covid sonrasında tam da bu alana yatırım yapmaya başladığı sırada ChatGPT çıktı. Bu, dünya genelindeki yükseköğretim ve ortaöğretim alanlarının tamamı ölçeğinde bir etki
Havacılık ve uzay iyi bir örnek. SpaceX'in ve bu alandaki genç startup'ların yaptığı birçok şey 3D baskı parçalar olmadan mümkün olmazdı. Nozul, yanma odası, turbopompa gibi parçalar sık sık basılıyor
Yine de bu karşılaştırma adil görünmüyor. Makine mühendisliği yaptığım dönemde 3D baskı, daha hızlı ve ucuz prototip üretip hata yapmama imkân vererek mühendislik becerilerimi aksine geliştirdi
Tüm üretimin yerini almadı ama tasarımda önemli bir rol oynuyor ve kullanıcının becerilerini köreltmedi
LLM'ler kod yazmada şaşırtıcı derecede iyi, ama o kodu sahiplenip sürdürmede berbat
Anlamadan kabul ettiğiniz her satır ödünç alınmış bir anlayıştır ve bakım aşamasında yüksek faizle geri ödenir. Bedava hız gibi hissettirir ama gerçekte yıllık yaklaşık %40 faiz işleyen teknik borca daha yakındır
Topluluk olarak yapay zekayla yazmayı otomatikleştirip düşünmeyi otomatikleştirmemenin yolunu bulmalıyız
Ama öyle değil ve çalışma biçimi gereği de öyle olamaz
Bu yüzden LLM'den gelen ve anlamadan kabul edilen her satır aslında var olmayan bir anlayıştır. O sadece olasılıksal bir modelin ürettiği bir kod satırıdır; kod tabanının bağlamını, sistemi ve tasarımı gerçekten anlayabilen bir varlık tarafından görülene kadar anlaşılmamış durumdadır. Şu anda böyle bir varlık olarak bilinen tek şey insandır
Geleneksel geliştirmede ikisini de pek sevmem ama mevcut LLM'ler ikisini de daha kolay ve kullanışlı kılıyor
Ayrıca “üç kuralı” bileşenler arasında fiilen geçerliliğini yitiriyor. Kod etkisi ya yerel kalmalı ya da çok sağlam bir temel kütüphanenin parçası olmalı. Aradaki örnekler refaktörleme karmaşıklığını patlatıyor
“LLM’ler yönlendirici promptlara itiraz etmez” şeklindeki girdi riski şimdiye kadar en büyük sıkıntı oldu
Daha da sinir bozucu olan, benim belirli bir yöne yönlendirdiğimin farkında bile olmayabilecek olmam. LLM’lerin çalışma biçimini düşününce mantıklı geliyor ama muğlak yazılmış tek bir kelime bile sonucu kötü bir yöne kaydırabiliyor; istediğimin tersine gidip yanlış bir tavşan deliğine düşürebiliyor
Farkına vardığımda, zar zor işleyen, gelişigüzel birbirine eklenmiş bir kod çamurunun ortasında oluyorum. İnsan dili çok muğlak ve belirsiz; bu da başta kesinliğe izin veren kurallı biçimsel dilleri icat etmiş olmamıza neredeyse denk
Kişisel olarak yapay zeka araçları yüzünden becerilerimin hızla köreldiğini de hissettim. Bir ara tembellikten küçük her işte yapay zekaya başvuruyordum; ama bir adım geri çekilip bakınca, pek de zaman kazanmadığımı, aksine onlarca/yüzlerce satır kod okuyup yapay zekanın nasıl yanıldığını düşünüp düzeltirken çok daha çabuk tükendiğimi gördüm
Ölçmedim ama genel olarak yapay zeka araçlarıyla kazandığım zamandan çok daha fazlasını boşa harcadığımı düşünüyorum
Asıl sorun, yapay zekanın birçok işte gerçekten faydalı olması; ama onu kullananların iki gruba ayrılması. Bir taraf, küçük hataların hızla biriktiği karmaşık işlerde kullanıyor; diğer taraf ise çoğunlukla yönetici tipi kişiler: Anlamadıkları 200 satır kodun döküldüğünü görüp zar zor çalışan bir TODO uygulaması seviyesindeki şeyi “MVP” sanıyor ve “bunu yapabildiğine göre senin işini de kolayca yapabilir” diye düşünüyor
“Yanlış kullanmışsın” ya da “model hatalıydı” gibi alışılmış cevapları verecekseniz, bu araçlarla ilgili deneyim bağlamım için önce eski yorumumu https://news.ycombinator.com/item?id=44055448 okumanızı isterim
Yani yapay zeka benim asistanım; ama kaliteli ve bakımı yapılabilir bir çıktı üretme sorumluluğu bende
Ancak genel kamu perspektifinden bakarsak basit bir hesap makinesini düşünmek yeterli. Hesap makineleri insanların zihinden hesap yapma becerisini bozdu. Yapay zeka da yazma ve iletişim becerileri, problem çözme becerisi vb. için bunu yapacak
Modeller, prompt akışının bir yerindeki belirli anahtar kelimelere takılıp geleneksel mantığı bırakıyor ve asıl problemi de düzgün çözemeyen daha dar bir yola itiyor gibi. Sonuçta insan tarafındaki hayal kırıklığı ve mutsuzluk artıyor
Becerilerimin körelmesini önlemek için, yapay zekayı yalnızca normalde StackOverflow aramasıyla çözeceğim küçük ve net işlerde kullanmaya çalışıyorum. “X’i nasıl yaparım?” diye aramak yerine modele aynı soruyu soruyor, cevabı doğru cevap olarak değil, problem çözme rehberi olarak kullanıyorum
Yine de bugün yapay zekanın kolaylaştırdığı işler var. Örneğin “bu sayfaya benzer yap ama y yerine x verisini kullan” gibi kullanılacak bir örnek varsa, çoğu zaman doküman aramaktan daha hızlı oluyor. Halüsinasyon görebileceği kaydı var ama zamanla iyileşme olasılığı da yüksek
Görmek istediğim iyileşme, genel olarak daha doğru olmasının yanında, her seferinde söylemeye gerek kalmadan en basit çözümü araması. ChatGPT, Claude vb.’yi serbest bıraktığınızda en büyük dezavantajı hızla bir sürü çöp üretmeleri ve “bunu daha sonra ele almak çok karmaşık hale gelecek” diye durmamaları. Orijinal metin, yalnızca genel tasarımı anlayan insanın entropiye direnebileceğini savunuyor; bu kısmın sonsuza kadar iyileşmeyeceğini söyleyemem ama şu anda en büyük sorun gibi geliyor
İlk turda genelde modelin yaptığı temel varsayımlar ortaya çıkıyor; oradan itibaren daraltıp netleştirebiliyorsunuz
Birçok deneme yaptığınızı anlatan eski yorumu okuyunca LLM deneyiminizin benimkinden çok daha geniş göründü. Yine de bu tekniği görmediğim için, birilerine yardımcı olur diye bırakıyorum
“Fikirleri, diyagramları, gereksinim şartnamelerini akıl yürüterek çıkaramaz”, “karmaşıklığı azaltabilecek tek şey insandır” gibi sözler, ilginç bir kavramın arkasına açıkça yanlış ayrıntı iddialarının eklendiği durumlara benziyor
Bu çok kolay yapılabilir. Daha basit kod istemek yeterli. Ben ikinci bir görüş almak için sık kullanıyorum ve iyi sonuç alıyorum
Modele soru sormazsanız ne karmaşık cevap ne de basit cevap alırsınız. Varsayılan seçenek olarak soru sormak da bir tercihtir; LLM kavramının doğasında olan bir şey değildir
Kod ile fikirler/diyagramlar arasında dönüşüm yapmak için de iyi kullanıyorum. İnsanların her gün pratikte çürüttüğü güçlü iddiaları neden ortaya attığını anlamıyorum
Yazı yüzeyde doğru görünüyor ama yakından bakınca ayakta kalamayan tuhaf bir mantığı da tekrarlıyor. Naur meselesi artık bir meme oldu ve gerçek dünyada içgörü gibi tekrarlanıyor; fakat yazılım mühendisliğinin başka bir temel ve pratik kuralını unutuyor: önemsiz olmayan bir program, kısa sürede tek bir kişinin tüm teorisini zihninde tutabilme kapasitesini aşar
Biz neredeyse hiçbir zaman düzgün bir program teorisine sahip olarak çalışmayız. Programlama dilleri, teknikleri, metodolojileri ve araçları, insanların kodun çoğunu anlamadan daha iyi çalışabilmesini sağlayacak yönde gelişti
Bu açıdan insanlar da LLM’lerle aynı sınırları paylaşıyor; sadece başka bir bakış açısı elde etmek için bir sonraki akıl yürütme döngüsüne izin verilmesini beklemek zorunda olmadığımızdan bunu daha iyi yönetiyoruz
Google Maps veya Apple Maps gibi harita teknolojilerine de benzer bir mantığın uygulanabileceğini düşünüyorum. İddia şu: Bu araçları kullanmak fiziksel dünyada gezinme becerisini, yön duygusunu ve coğrafi sezgiyi köreltiyor.
Aslında tamamen yanlış değil. Bugün insanlar Google Maps gibi bir dayanak olmadan yol bulmakta çoğu zaman zorlanıyor ve fiziksel dünyayla ilişkimiz de birçok açıdan değişti.
Ama eskiden de birçok insan yol bulmada özellikle iyi değildi. Özellikle yabancı bir bölgede A noktasından B noktasına güvenli ve istikrarlı biçimde gitme konusundaki ortalama beceri kesinlikle çok yükseldi.
Ayrıca coğrafya ve yol bulma konusunda doğuştan yetenekli az sayıda kişinin becerileri Google Maps gibi araçlarla ikame edilmedi, tamamlandı.
Yapay zekanın da daha büyük ölçekte benzer şekilde sonuçlanacağını düşünüyorum. Elbette ödünleşimler var ve bazı beceri ve yetenekler azalacak; ama çok daha fazla insan daha önce yapamadığı şeyleri yapabilir hale gelecek, az sayıda kişi de yaptığı işi daha iyi yapacak.
Elbette her zaman değil. Tüm dünyayı haritalamak, sayısız istisna ve uç durum içeren çok karmaşık bir iş. Ama LLM çıktısıyla karşılaştırınca arada büyük fark var. Sıcaklığı 0’a ayarlayıp aynı prompt’u birkaç kez yeniden üretseniz bile çıktı ciddi biçimde değişiyor.
Ayrıca LLM’ler çok daha geniş bir kavram alanını kapsadığı için insanlar, gerçekten yapmamaları gereken birçok durumda kendi akıllarının yerine bunu kullanacak. Sadece haritalarda bile Google Maps yol dedi diye göle arabayla giren insanlar var; LLM çıktısına körü körüne güvenip kendi düşüncesinin yerine koyduğunda neler olacağını hayal bile edemiyorum.
Yaşadığım yerde Google Maps, taksi şoförlerinden vakaların %90’ında daha iyi.
Yapay zeka ise o işi birkaç gündür yapan birinden bile daha iyi değil.
Gerçekçi bakarsak çalışanların %70’i işi o kadar baştan savma yapıyor ki yapay zeka çoğu zaman onlar kadar, hatta daha iyi yapabiliyor.
Asıl zorluk şu: İşi baştan savma yapanlar yapay zeka kullansa da hâlâ işe yaramaz kalıyor; geri kalanlar ise yapay zekayla birlikte öğrenip gelişiyor.
Tam otonom sürüş de benzer. FSD, berbat, sarhoş ya da mesaj yazan insan sürücülerden daha iyi; yollarda da böyle sürücüler çok.
Yazarın “[Yapay zeka] kavramsal düzeyde çalışamaz” hissini nereden edindiğini merak ediyorum.
Son dönem LLM’lerin tekrar tekrar gösterdiği şey, örneğin bağlama göre bir dildeki kavramları başka bir dile doğru çevirmek gibi, açıkça kavramsal düzeyde çalışabildikleri.
Kavramları insanlar gibi “anlamadıkları” ayrı bir mesele. Acıyı deneyimlemedikleri için acıyı “anlamıyor” olabilirler; ama insanlar da doğrudan deneyimlemedikleri şeyler hakkında durmadan konuşuyor. Bunun uygun olup olmadığı başka bir konu.
Bu, ilişkilendirme gibi kavramın bazı özelliklerine dair zayıf bir modeldir. Örneğin “dog”, “cat” ile ilişkilidir. Ama bileşimsellik, içlem ya da karşıolgusal koşullu ifadelerde terimlerin üstlendiği rol gibi şeyleri modellemez.
Ancak soru eğitim verisine benziyorsa, görünürdeki kavramsal yetenek kaba kuvvetle elde edilebilir. Birisi “Köpekler Mars’ta oynarsa mutlu olur mu?” gibi bir soru veya yeterince benzer bir soru kümesi sormuşsa, “dog”u “literal gerçek” kümesiyle ve zaten bilinen bazı karşıolgusal kümelerin etrafına yerleştirebilirsiniz.
Bunun gerçek zihinsel yetenekten farkını görmek için, keyfi derinlikte kavram birleşimlerinin sonsuz olduğunu ve sonsuz sayıda karşıolgusaldan oluşabileceğini düşünmek yeterli. Temel yapı taşlarına ve hayal gücüne sahip bir çocuk bu sonsuz çeşitliliği değerlendirebilir.
Bu yüzden LLM’ler, gerekli “kavramsal iş”in çok iyi belgelenmiş ve yeterince istikrarlı olduğu dar alanlarda, özellikle de yazılım mühendisliğinde en çok kullanılıyor.
90s.dev’i yapay zekasız bir topluluğa dönüştürmem gerektiği fikri giderek güçleniyor. Yazılımı iyi yazmanın kadim becerilerine odaklanan ve bu becerileri geliştirmiş herkesi memnuniyetle karşılayan bir yer olsun isterim.
Başlamak için ne gerekir? Forum mu? E-posta listesi mi? hackernoon gibi birçok yazarın blogunu bir araya getiren bir yöntem mi?
İlgilenenler için geçici bir e-posta listesini https://github.com/sdegutis/90s.dev/issues/2 adresinde oluşturdum; bu konuyla ilgili e-postaları almak için abone olabilir veya yorum bırakabilirsiniz.
Forumlar LLM’ler ve botlar yüzünden bozuldu, dolayısıyla o seçenek elendi. Böyle bir şeyin işlemesi için yalnızca davetle girilebilir olması ve her davet edenin kendi davet ağacından sorumlu tutulması gerekir.
Topluluk, erişim hakkını kaybetmenin iyi davranışı teşvik edeceği kadar iyi olmalı. İnternetteki belirli topluluklarda bu yöntem çok iyi çalışıyor.