8 puan yazan GN⁺ 3 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Kanıtlanabilir teknoloji yığınlarına odaklanan "Choose Boring Technology" ilkesi, yapay zeka kodlama araçları çağında daha da önemli hale geliyor
  • Şirketler, sınırlı sayıdaki "innovation tokens"'larını güvenilirliği kanıtlanmış teknolojilere stratejik olarak kullanmalı
  • Modern yapay zeka kodlama araçları, neredeyse her teknoloji yığını için inandırıcı görünen kod üretiyor; ancak kullanıcı iki veya daha fazla bilmediği teknolojiyi birleştirdiğinde hataları doğrulamak imkansız hale geliyor
  • Zaten iyi bildiğiniz teknoloji yığınlarında yapay zeka kodlama araçları bir force multiplier (yetkinlik çarpanı) gibi çalışırken, bilmediğiniz teknolojilerde yalnızca bir bağımlılık aracına dönüşüyor
  • Yapay zeka tarafından üretilen kodun kalitesi yükseldikçe sorunları fark etmek zorlaşıyor; bu yüzden teknolojiye dair derin anlayışın değeri daha da artıyor

Choose Boring Technology ilkesinin yeniden doğrulanması

  • 10 yıl önce Dan McKinley'nin "Choose Boring Technology" yazısına katılan görüş, aradan 10 yıl geçse de değişmedi
    • Yeni bir projeye başlarken önce bunun "yeni bir şey öğrenmek için bahane mi, yoksa bir problemi çözme girişimi mi" olduğu sorgulanmalı
    • Yeni bir şey öğrenilecekse bilinmeyen unsur birle sınırlandırılmalı; problem çözülüyorsa zaten bilinen teknolojilere sadık kalınmalı
  • LLM'lerin ve agentic yapay zeka kodlama araçlarının ortaya çıkışıyla bu ilke daha da kritik hale geldi

McKinley'nin temel argümanı

  • Şirketlerin sınırlı sayıda "innovation tokens"'ı vardır ve bunlar doğrulanmamış, heyecan verici teknolojilere değil; yerleşik ve iyi anlaşılan teknolojilere stratejik olarak harcanmalıdır
  • Sıkıcı teknolojiler, bilinen başarısızlık modlarına (failure modes), iyi anlaşılmış özelliklere ve kanıtlanmış operasyonel güvenilirliğe sahiptir
    • Gece 3'te bir arıza çıktığında, bilinmeyen bölgelerde keşif yapmaktansa Stack Overflow'da cevabı bulunan bir teknolojiyi debug etmek daha iyidir
  • Bu ilke 2015'te de doğruydu, bugün de doğru

Yeni değişken: yapay zeka kodlama araçları

  • Modern yapay zeka kodlama araçları, hayal edilebilecek neredeyse her teknoloji yığını için uzman eli değmiş gibi görünen kod üretiyor
    • Claude veya Copilot'tan Kubernetes tabanlı microservices, GraphQL federation ya da en yeni JavaScript framework'leriyle bir uygulama istemeniz halinde, kurallara uyan ve çalışan kod döndürebiliyor
  • Kişi kendisinin bilmediği iki veya daha fazla teknolojiyi kullandığında, yapay zekanın yanlış sonuç verip vermediğini doğrulamanın hiçbir yolu kalmıyor
    • LLM'ler etkileyici yeteneklerine rağmen teknik ayrıntılarda hallucinate (halüsinasyon üretme) eğilimi gösteriyor
  • Mühendislerin, yapay zekanın ürettiği sorunlu kodu olduğu gibi kabul ettiği örnekler görüldü
    • deprecated API kullanımı, güvenlik anti-pattern'lerinin uygulanması, ancak production yükünde ortaya çıkan ince performans sorunları
    • Kod doğru görünüyordu, adlandırma kurallarına uyuyordu ve uygun hata işleme de içeriyordu; ancak yalnızca o teknolojiye aşina birinin yakalayabileceği şekillerde yanlıştı

Bilinmeyen teknoloji + yapay zeka kodu = belirsizliğin çarpılması

  • Aşina olunmayan teknolojilerle yapay zeka üretimi kodu birleştirmek, bilinmeyenleri toplamak değil çarpmak anlamına geliyor
    • Framework seçiminin uygun olup olmadığını bilemezsiniz
    • Yapay zeka uygulamasının best practice'leri izleyip izlemediğini bilemezsiniz
    • Üretilen kodun hangi kısmının boilerplate, hangi kısmının çekirdek iş mantığı olduğunu bilemezsiniz
    • Hangi başarısızlık modlarını izlemeniz gerektiğini bilemezsiniz
  • Bu, basit bir cargo-culting'in ötesinde, "cargo-culting times 2,356" seviyesinde bir problem

Sıkıcı teknoloji ile yapay zekanın sinerji ürettiği nokta

  • Temel yığını anladığınızda yapay zeka kodlama araçları çok güçlü hale gelir
    • Rails'i yeterince bildiğiniz için Claude şüpheli öneriler sunduğunda bunları fark edebilirsiniz (context7 yardımıyla)
    • JavaScript'in özelliklerini anladığınız için Copilot önerilerini fact-check edebilirsiniz
  • Yapay zeka, zaten anladığınız teknolojilerde bir force multiplier olurken, bilmediğiniz teknolojilerde bir koltuğa değnekten ibaret kalır

Yapay zeka çağında pratik yönergeler

  • Yeni bir teknolojiyi değerlendirirken önce şunu sorun: "Yapay zeka bu teknolojinin uygulama kodunu üretirse, ben bunu uygun biçimde inceleyebilir miyim?"
    • Cevap "hayır" ise, bu teknolojiyi mission-critical alanlarda kullanmamalısınız
  • Yeni bir şey öğrenmeye karar verdiyseniz (elinizde yalnızca bir innovation token varsa), yapay zeka önerilerini fact-check edebilecek kadar derin kavrayış edinmek için gerçekten zaman ayırın
    • Kopyala-yapıştır yapıp sadece çalışmasını ummayın
  • Yapay zeka araçlarını bahane ederek aynı anda birden fazla yeni teknolojiyi üstlenme cazibesine direnin
    • Yapay zeka, yeni bir dil, yeni bir framework ve yeni bir altyapıyı aynı anda yönetebiliyormuş hissi verir; ama aslında bunların hiçbirini düzgün biçimde doğrulayamazsınız

Yapay zeka çağında artan risk ve sonuç

  • Orijinal "choose boring technology" argümanı, operasyonel karmaşıklığı ve bilişsel yükü azaltma üzerineydi; bu kaygı bugün de geçerli
  • Yapay zeka çağında ek bir risk daha var: Hangi yığın olursa olsun profesyonel görünen kod üreten yapay zekanın yarattığı false confidence (sahte özgüven)
  • Yapay zeka tarafından üretilen kodun kalitesi yüzünden sorunları tespit etmek aslında daha da zorlaştı
    • Eskiden kötü kod kötü görünürdü; artık ince sorunları fark edebilmek için alanı yeterince iyi anlamak gerekiyor
  • Problem çözerken zaten bildiğiniz şeyleri kullanın, yeni bir şey öğrenirken öğrenmeye odaklanın ve yapay zeka tarafından üretilen kodu anlayışla karıştırmayın
  • Yığındaki en sıkıcı teknoloji, yapay zeka yanlış yaptığında bunu fark edecek kadar iyi anladığınız teknoloji olabilir
    • Yapay zekanın hiç kullanmadığınız bir teknolojiyle binlerce satır kodu özgüvenle ürettiği bir dünyada, bu anlayışın değeri her zamankinden daha büyük

Henüz yorum yok.

Henüz yorum yok.