- Kod yazma maliyetinin hızla düştüğü gerçekliği, mühendislik alışkanlıklarının genelini sarsıyor
- Geçmişte kod üretimi yüksek maliyetli olduğundan tasarım, tahmin ve planlama odaklı verimli geliştirme kültürü oluşmuştu
- Kodlama ajanlarının ortaya çıkışıyla birlikte tek bir geliştirici aynı anda birden fazla işi (uygulama, refaktöring, test, dokümantasyon) yürütebilir hale geldi
- Ancak “iyi kod” üretmek hâlâ yüksek kalite standartları ve geliştirici muhakemesi gerektiriyor
- Buna bağlı olarak yeni bireysel ve kurumsal geliştirme alışkanlıkları oluşturma görevi öne çıkıyor
Kod yazma maliyetindeki değişim
- Geçmişte yüzlerce satırlık temiz ve test edilmiş kod yazmak bir günden fazla sürebiliyordu
- Bu nedenle geliştiriciler, sınırlı zaman ve maliyeti temel alarak özelliklerin değerini ve önceliğini değerlendiriyordu
- Proje tasarımı, takvim tahmini ve özellik planlamasının tamamı “kodlama zamanını verimli kullanma” etrafında şekilleniyordu
- Kodlama ajanlarının devreye girmesiyle kod yazma maliyeti keskin biçimde düştü ve mevcut karar ölçütleri sarsıldı
- Tek bir mühendis, birden fazla ajanı paralel çalıştırarak eşzamanlı geliştirme işleri yürütebilir
- Bu değişim, mevcut zamana karşı değer değerlendirme yapısını yeniden gözden geçirmeyi gerektiriyor
Hâlâ pahalı olan “iyi kod”
- Yeni kod üretimi neredeyse ücretsiz hale gelmiş olsa da “iyi kod” üretmek hâlâ maliyetli
- İyi kodun koşulları şunlar
- Doğru çalışır ve hatasız şekilde amacına ulaşır
- Doğrulama süreçlerinden geçerek kodun güvenilir olduğu kanıtlanır
- Doğru probleme çözüm üretmeye odaklanır ve hata durumlarını öngörülebilir şekilde ele alır
- Basit ve asgari bir yapı ile korunarak bakım yapılabilirliği ve anlaşılabilirliği artırır
- Testler ve dokümantasyon güncel tutulmalıdır
- Gelecekteki değişiklik olasılıklarını dikkate alır, ancak gereksiz karmaşıklık eklemez
- Erişilebilirlik, güvenlik, ölçeklenebilirlik, bakım yapılabilirlik gibi işlevsel olmayan kalite niteliklerini karşılar
- Kodlama ajanları bu sürecin bazı kısımlarını desteklese de nihai kalite güvencesi sorumluluğu geliştiricide kalır
Yeni geliştirme alışkanlıklarına duyulan ihtiyaç
- Ajan tabanlı mühendislik (agentic engineering) ortamında mevcut geliştirme alışkanlıkları artık geçerli değil
- Hem bireylerin hem de kurumların yeni çalışma biçimleri ve karar ölçütleri oluşturması gerekiyor
- Şu anda sektör genelinde bu en iyi uygulamalar (best practices) şekilleniyor
- Önerilen yaklaşım, “zaman kaybı” gibi hissettiren anlarda bile asenkron ajan oturumları çalıştırıp deney yapmaktır
- En kötü ihtimalle 10 dakika sonra kontrol eder ve bunun yalnızca token israfı olduğunu görürsünüz
Agentic Engineering Patterns rehberindeki yeri
- Bu yazı, Agentic Engineering Patterns rehberinin ilk bölümü olan “Principles” parçasının bir bölümü
- Sonraki bölümde kod anlama (Understanding code) başlığı altında Linear walkthroughs devam ediyor
- Ardından Testing and QA bölümünde Red/green TDD, First run the tests gibi konular ele alınıyor
- Her hafta 1-2 bölüm eklenmesi planlanıyor; kitap benzeri ama “rehber” formatında kurgulanıyor
1 yorum
Hacker News görüşleri
“Kod her zaman pahalıydı” ifadesinin doğru olup olmadığından emin değilim
Aslında pahalı olan kodun kendisi değil, etrafındaki tüm süreçlerdi — doğruluğu sağlama, bakım, ekipler arası koordinasyon, uzun vadeli destek gibi unsurlar asıl maliyet kalemleriydi
Test veya onay süreçleri abartıldığında, maliyetin büyük kısmını süreçlerin kendisi oluşturmaya başlıyor
LLM’ler kısa vadede çalışan kod üretme maliyetini ciddi biçimde düşürdü, ama uzun vadede bakım, güvenlik ve test yükünü artırabilir
Sonuçta gerçekten bir değişim olup olmadığını ancak uzun vadeli verilerle anlayabiliriz
Eskiden birkaç yüz satırlık kodu yazmanın bile maliyeti yüksekti
2000’ler usulü SLOCount aracına (WebAssembly sürümü) 256 satır JavaScript verince, dönemin ölçütlerine göre yaklaşık 6.461 dolar maliyet tahmini çıktı
Elbette bu rakama sadece eğlence gözüyle bakmak gerekir
Artık doğrudan işi yapan kişiden çok, kendi işimi yöneten bir öz-yöneticiye benziyorum
Üretkenliğin eskisine göre yaklaşık 2,5 kat arttığını hissediyorum
Gereksinim toplama, tasarım, test, dağıtım ve bakım hâlâ gerekiyor; maliyetin çoğu da bakım aşamasında ortaya çıkıyor
Amdahl yasasında olduğu gibi, kodlama maliyeti sıfıra yaklaşsa bile diğer aşamaların maliyeti sınır oluşturuyor
Sorun şu ki insan doğası gereği bu zor bir şey
Doğruluk, bakım yapılabilirlik ve performans gibi kalite unsurları, ancak deneyimle öğrenilen gizli maliyetlerdir
“Kod her zaman pahalıydı” iddiasına katılmıyorum
Aslında kod, ‘iyi kod’ yazmaya çalıştığımız için pahalıydı
Standardı düşürürsen üretilen kod hızlı ve ucuz olur, ama onu iyi koda dönüştürme çabası hâlâ aynı kalır
Ajan tabanlı kodlamayı savunacaksak, başka bir mantıkla yaklaşmak gerekir
Kodu kendim yazdığımda her satırın nedenini anlıyorum, ama AI’nın ürettiği kodda her ifadeyi tek tek doğrulamam gerekiyor
Son bir aydır işlerin çoğunu ajanlarla yaptım ve insanın normalde üretmeyeceği edge case bug’ları sürekli çıkıyor
Sonunda inceleme maliyeti büyüdüğü için kısa vadeli kazanç ortadan kalkıyor
Yine de kodlama ajanları sayesinde bu maliyet çok daha fazla azalıyor
İnce ayarlar ajan tarafından yapıldığı için daha kaliteli kodu daha hızlı üretebiliyorsun
Karmaşıklık birikir; bu yüzden ilk yazım sırasında dikkatle ele almak en ucuz yoldur
Şu an kısa vadeli kazanç büyük ama uzun vadede gürültü 10 kat artabilir
LLM’ler taktiksel programlamada, yani hızlı özellik geliştirmede uzman
Bu yüzden sistem düzeyindeki karmaşıklığı yönetmek daha da önemli hâle geliyor
Kod üretimi söylendiği kadar ucuz olabilir, ama onu değerli bir sonuca dönüştürme becerisi asıl yetenektir
Agentic engineering, sonuçta ucuz girdileri değerli çıktılara dönüştürme sanatıdır
Agentic engineering yalnızca yazılım yazmak değil, belirli bir problemi hızlıca çözmek için araç üretmek demek
Ama problem çözüldükten sonra AI’nin kendisi o kadar da ilginç değil
Pek çok insan AI’nin kendisini amaç hâline getiriyor, oysa gerçek değer problem çözümünde
Alan Watts’ın dediği gibi, mesajı aldıysan telefonu kapatmalısın
Araç ucuzladı diye değer otomatik olarak oluşmaz
Asıl değer tasarlama ve yapılandırma becerisindedir
Sonuçta belirleyici olan kararların kalitesidir
Finansman, değerin kanıtı değildir
“Kod her zaman pahalıydı” iddiasını sorguluyorum
Temiz ve test edilmiş kodun tanımı bile muğlak
Testi abartırsan maliyet patlar, kurumsal onay süreçleri de ciddi bir maliyet unsurudur
LLM’ler kısa vadeli maliyeti düşürüyor, ama uzun vadeli bakım maliyetini artırabilir
Stajyer olduğum dönemde bir startup’ta ucuza çalıştım ama kesintiler, veri bozulması ve teknik borç birikti
Dışarıdan ucuz görünüyordu ama gizli maliyet çok büyüktü
LLM sayesinde bugün kaliteli kodu ucuza alabiliyormuşuz gibi görünüyor, ama ben de hâlâ buna uyum sağlamaya çalışıyorum
Şimdi v1 yapmak ucuz olabilir, ama olgun bir ürünün karmaşık kararları hâlâ pahalı
Yazılımın ekonomik değeri, kodun taşıdığı bilgide yatar
Kodu yazmak yalnızca o bilgiyi eşleme sürecidir; gerçek değeri bilginin kalitesi belirler
Kodu hızlı yazmak, bilginin kalitesini yükseltmez
Bu, danışmanlıkta slaytları hızlı hazırlamanın tek başına değer üretmemesine benzer
Uygulama hızı fazla arttığında geliştiricinin zihinsel modeli kodla uyumsuz hâle geliyor
İlgili yazı: Cognitive Debt by Simon Willison
Çünkü refaktörleri hızlı biçimde tekrar tekrar yapabildim
AI giderek daha fazla bağlam anlayacak olabilir, ama bunun karşılığında insan muhakemesinden vazgeçmek gerekecek
Bir gün makine niyeti tamamen anlayabilirse, insan döngünün dışına itilecek
Tüm geliştirme metodolojilerinin özü, gereksinimlerin her zaman değişmesidir
Bu yüzden iyi kod, “değiştirmesi kolay kod”dur
Bugünün LLM ajanlarının böyle kod üretip üretmediği şüpheli
Tam anlamıyla güvenilir olana kadar prototip seviyesinde kalacak gibi görünüyor
Spesifikasyon belirsizse test etmek de, değer doğrulamak da zorlaşır
Test olsa bile genelde yaklaşık %70 kadar güven vardır
Doğrudan kod yazmaktan daha hızlı ve sonuç da bakımı yapılabilir kod oluyor
Temiz kod ve iyi pratikleri açıkça belirtirsen yeterince bakımı yapılabilir sonuç çıkıyor
Sonuçta mesele Garbage in, garbage out
Benim yazımda olduğu gibi (The Final Bottleneck),
kod yazma hızı arttı ama ondan sonraki aşamalar buna ayak uyduramıyor
Mesele sadece alışkanlıklar değil; sorumluluk yapısı, dil tasarımı ve sistem mimarisinin bütünü değişmek zorunda
Verimlilik gerçekten 10 kat artsaydı, startup’lar piyasayı çoktan altüst etmiş olurdu
Yapabiliyor olmak, mutlaka yapmamız gerektiği anlamına gelmez
AI evals (measure-first-optimize-last, ai-evals.io) gibi yaklaşımlar bu yöne işaret ediyor
Özellik taşkınlığını kimse istemiyor
Kodun her satırı bir yükümlülüktür (liability)
LLM’lerin kod yağdırdığı bir dönemde bu yükümlülük hızla büyüyor
Aracın kendisi kötü değil, ama sorumluluk taşımayan bir programın kod tabanını yeniden yazdığı bir yapı tehlikeli
“Kod ucuz” demek, üretimin ucuzladığı anlamına gelir; dağıtım onay maliyeti ise hâlâ yüksek
Muhakeme aşamasını atlarsan üretkenlik artışı değil, bir control gap ortaya çıkar
Hızlı diye birine maymuncuk vermek tehlikelidir
Hiçbiri ucuzlamış değil
Ben de bu görüşe neredeyse tamamen katılıyorum
Kod yazmak ucuzladı ama inceleme ve doğrulama maliyeti hâlâ yüksek
Özellikle milyonlarca satırlık monorepo’larda test edilebilirliği artırmak kritik
Bu tartışmanın, Twitter’daki aşırı hararetli atmosfer içinde dengeleyici olması hoşuma gidiyor
Kod churn’ü kolaylaştı ama kalite doğrulaması yeni meydan okuma hâline geldi
LLM’in ürettiği büyük ölçekli değişiklikler ince hatalara yol açıyor ve bu akış durmuyor
Kod ucuz değil
Token maliyetleri var ve gerçek maliyet yapısı hâlâ belirsiz
Geliri olmayan startup’ların GPU tedarik zincirini domine ettiği bir ortamda elimizde yeterli veri yok
LOC arttıkça borç da artıyor
Düşünceden uygulamaya olan mesafe kısaldı, ama kodun kendisi hâlâ bir sorumluluk
Şu anda sübvansiyonlar sayesinde ucuz, ama donanım, elektrik ve iş gücü maliyetleri düşerse daha da ucuzlayabilir