Kodu okumama çağında mühendis neyi okumalı?
(flowkater.io)Yapay zekayı kullanmak öğrenmeyi azaltır mı?
- Anthropic araştırması: Yapay zekayla kodlama görevlerini tamamlayan geliştiricilerin quiz puanları %17 daha düşüktü
- Asıl nokta "yapay zekayı kullanmak öğrenmeyi azaltır" değil; aynı yapay zekayı kullanırken bile kullanım biçimine göre sonuçlar çarpıcı biçimde ayrıştı
- Kodu bütünüyle yapay zekaya bırakanlar → en hızlı bitirdi ama en az şeyi öğrendi
- Yalnızca kavramları sorup kendisi yazanlar → daha çok hata yaptı ama quiz puanları açık ara daha yüksekti
Kodu okuma çağından komut verme çağına
- Ben Shoemaker: "Artık kodu satır satır okumuyorum. Spesifikasyonları, testleri ve mimariyi okuyorum." → harness engineering adlı yeni bir yaklaşım
- OpenAI Codex ekibi: 3 mühendis yalnızca agent'larla bir milyon satır kod üreterek yüzlerce kişinin kullandığı bir ürünü tamamladı. Yatırımı koda değil; dokümantasyona, linter'lara ve test altyapısına yaptılar
- Evan Armstrong: Kod üretimi metalaştı ama üretim ortamında kodu yöneten "context layer" metalaşmadı
- Steve Yegge: "Elle kod yazma çağı bitti." Yapay zeka benimsemesinde 8 aşama öneriyor — Level 4'ten itibaren diff bakmayı bırakıyorlar, Level 8'de ise doğrudan bir agent orchestrator kuruyorlar
Bitiş çizgisi oyunu ve bileşik getiri oyunu
- Kent Beck: Spesifikasyon tabanlı geliştirmenin arkasında "bitiş çizgisi oyunu" (X'e ulaşırsan oyun biter) varsayımı yatıyor
- Oysa gerçek yazılım geliştirme bir "bileşik getiri oyunu"dur — bugünün mimarisi, 6 ay sonra hangi olasılıkların açılacağını ya da kapanacağını belirler
- "Daha iyi bir AGENTS.md ile bileşik getiri oyununu kazanamazsınız" — asıl mesele, sistemin bileşik şekilde birikmesini sağlayacak biçimde tasarlanmasıdır
Yapay zeka bir aynadır
- Jeremy Utley (Stanford): "Tembel olmak isteyen kişiye tembelliği, daha keskin olmak isteyene ise keskinliği destekler"
- TDD/DDD geçmişiniz varsa yapay zekaya o şekilde talimat verebilirsiniz; "şunu bir yap" diye bırakırsanız yapısı dağınık kod çıkar. Sorun yapay zekanın aptal olması değil; benim önemsemediğim şeyi yapay zeka da önemsemiyor
- Berkeley araştırması: Yapay zeka, geliştirici olmayanların kod yazmasını mümkün kıldı ama sonunda mühendisler, ekip arkadaşlarının yapay zekayla üretilmiş kodunu inceleyip düzeltmeye daha fazla zaman harcamaya başladı
- "Dracula etkisi" — vibe coding tam gaz giderken üretken sürenin günlük üst sınırı 3 saat
Peki nasıl kullanılmalı?
- "Yapay zekadan doğru cevabı istemeyin, onunla konuşun." Yapay zekaya soru sormak yerine, yapay zekanın size soru sormasını sağlayın
- Sesli girdi önerisi — yazmak sizi "anahtar kelime modu"na, konuşmak ise "diyalog modu"na geçirir
- Context engineering: AGENTS.md içinde mimari kararların gerekçelerini, konvansiyonları ve alan terimlerini açıkça yazarsanız yapay zeka daha tutarlı kod üretir
- Kent Beck: "Feature'lar kadar futures'a da yatırım yapın (bir sonraki aşamada hayata geçirilebilecek şeyler kümesine)"
Değişmeyen şeyler
- Kodun her satırını okuma ihtiyacı azalsa da, okuyabilme yeteneği tersine daha da önemli hale geldi
- Tüm testler geçmesine rağmen ürün tuhaf davranıyorsa, yapay zeka "sorun yok" dediği halde ortada bir bug varsa — sonunda dönüp kendiniz okumak zorunda kalırsınız
- Okuyabildiği halde okumamakla, hiç okuyamamak tamamen farklı şeylerdir
- Aynaya yansıtacak bir şeyi olan kişi olmak — bu çağın mühendisinin özü de bu
Henüz yorum yok.