7 puan yazan GN⁺ 2024-11-15 | 4 yorum | WhatsApp'ta paylaş
  • Yapay zekanın kod yazma ve düzenleme konusunda yardımcı olduğu için teknik borcun (tech debt) daha az önemli hale geleceğine dair bir inanç var
  • Ancak gerçekte yapay zeka, teknik borcun maliyetini daha da artırıyor
  • Düşük borçlu kod tabanlarında yapay zeka araçlarının hız kazanımı en üst düzeye çıkarken, yüksek borçlu eski kod tabanlarında bu araçların verimliliği keskin biçimde düşüyor
  • Sonuç olarak, teknik borcu fazla olan kod tabanları yapay zeka araçlarından yararlanmakta daha büyük zorluk yaşıyor

Karmaşık koda karşı kırılgan üretken yapay zeka

  • Cursor veya Aider gibi yapay zeka kodlama araçları, kodun karmaşıklığına son derece duyarlı tepki veriyor
    • Mevcut kalıpların veya arayüzlerin iyi tanımlandığı kodlarda hız artışı büyük olurken, karmaşık kontrol akışı ve çok sayıda bağımlılık içeren kodda geçerli yanıt üretmekte zorlanıyorlar
  • Karmaşık kod tabanları yalnızca yapay zeka modelleri için değil, geliştiricilerin isteklerini net biçimde kurgulaması açısından da zorluk yaratıyor
  • Bu yüzden birçok geliştirici, yapay zeka araçları ‘üretim düzeyi’ karmaşıklığı işleyebilecek hale gelene kadar bekleme eğiliminde oluyor

Yapay zeka araçlarını doğru şekilde kullanmak

  • Eski kod tabanlarında yapay zeka araçlarını zorla kullanmaya çalışmak yerine, insan uzmanların refactoring yaparak yapay zekanın sorunsuz çalışabileceği bir ortam hazırlaması önem taşıyor
  • Doğrudan refactoring riskliyse, Strangler Fig deseni gibi yöntemlerle yeni modüller geliştirip bunun üzerinden yapay zeka araçlarının avantajlarından hemen yararlanmak mümkün
  • Böylece geliştirme ekipleri daha yüksek düzeyli soyutlamalara odaklanabilir ve kodun ayrıntılı uygulamasından çok mimari tasarıma ağırlık verebilir

Yapay zeka dostu yaklaşım

  • Yapay zeka araçlarının düzgün çalışabilmesi için sistemi modüler hale getirmek ve modüller arası etkileşimi açık arayüzlerle tanımlamak önemli
  • Temel işlevleri ve veri akışını doğal dille açıklayabilecek bir modül yapısını korumak yararlı bir ölçüt
  • Gauge Tach gibi araçlarla görünürlük ve mimari kuralları tanımlarsanız, daha modüler bir sisteme evrilebilirsiniz

Kalite hızı belirler

  • Yüksek kaliteli bir kod tabanını korumak artık her zamankinden daha önemli
  • Modüler bir mimariye yatırım yapan ekipler, yapay zeka araçlarından en yüksek verimi alabilir; hızlı özellik geliştirme ile yüksek kaliteli yazılımı aynı anda inşa edebilir

4 yorum

 
savvykang 2024-11-21

Yazılım şişkinliği kaçınılmaz bir kader gibi görünüyor

 
koreaisbest 2024-11-21

Sanki bir yerlerde görüp etkilenmiş gibi, yöneticiler ya da bu tür insanlar AI her şeyi çözecek diye düşünüyor. ChatGPT fazla hayal ürünü beklenti yarattı. Hâlâ ilkokul öğrencisi seviyesinde olduğunu vurgulamak gerekiyor gibi geliyor bana. En fazla yardımcı bir araç olarak çok az destek verdiğini anlatmak gerek gibi.. Ayrıca yukarıdaki duruma katılıyorum; iş karmaşıklaşınca yanlış anlıyor. Projenin genel akışını kavrayamıyor gibi görünüyor.

 
kallare 2024-11-18

garbage in, garbage out kaçınılmaz görünüyor.

 
GN⁺ 2024-11-15
Hacker News görüşü
  • Genç ve yüksek kaliteli kod tabanına sahip şirketler, üretken yapay zeka araçlarından en büyük faydayı görüyor. Buna karşılık, karmaşık legacy kod tabanına sahip şirketler bunları benimsemekte zorlanıyor. Kişisel projelerde LLM kullanırken de benzer bir deneyim yaşadım. Kod tabanı biraz bile kendine özgü hale geldiğinde model hata yapıyor ve işler daha da zorlaşıyor

  • LLM'ler kolay işleri daha da kolaylaştırıyor, ancak zor işlerde hata yapıyor. Bu fark kapanmıyor, aksine büyüyor

  • 'Yüksek borçlu' ortamlarda, ince kontrol akışı, uzun vadeli bağımlılıklar ve beklenmedik kalıplar nedeniyle faydalı yanıtlar üretmekte zorlanıyor. Çoğu durumda bu bir 'teknik borç' değil, kod tabanının olgunluğunu gösteriyor

  • Üretken yapay zeka araçlarını legacy kod tabanlarındaki karmaşık sorunları çözmeye zorlamak yerine, insan uzmanlar legacy kodu refactor ederek üretken yapay zekanın sorunsuz çalışabilmesini sağlamalı

  • Yapay zekanın teknik borcu daha az önemli hale getireceğine dair bir inanç oluşuyor. Ancak yapay zeka tarafından üretilen kod düzensiz, tutarsız ve belirli prompt'lara ve bağlam girdilerine son derece duyarlı

  • Yapay zeka tarafından üretilen kod gerçekten değerli olabilir, ancak bu makaledeki çerçeve gerçekçi değil

  • Makine öğrenmesi, teknik borcun yüksek faizli kredi kartı gibi. Kod üretimi kolaylaştıkça daha fazla kod üretiliyor ve bakım maliyeti artıyor

  • LLM'lerin kod üretme yeteneği etkileyici, ancak amaç kod miktarını azaltmak olmalı

  • Yapay zeka basit işleri üstlenip daha fazla kod üretiyor, ancak tespit edilmesi zor hatalar da üretiyor. Bu araçlarla daha hızlı ilerlemek mümkün, ama işi başka bir şekilde yürütmek gerekiyor

  • Yapay zeka kodu anlama ve değiştirmede yardımcı olabilir, ancak körü körüne kopyala-yapıştır iyi değil. Kod incelemesi, açıklama isteme ve yinelemeli çalışma hâlâ gerekli