"2030 yılına gelindiğinde, iyi bir programcı olmak için kod yazmayı bilmenize gerek kalmayacak. Sadece yapay zekaya bunu nasıl yapacağını söylemeyi bilmeniz yetecek."
Teknoloji dünyasında dolaşan iddialı bir söylem var: kod yazmak hızla komut (prompt) yazmaya dönüşüyor. Her satırı kendimiz yazmak yerine, yapay zekaya bizim için kod üretmesini, kodu yeniden düzenlemesini (refactor) ve test etmesini söylemek için sadece doğal dil kullanacağız.
Peki, istem mühendisliği (prompt engineering) programlamanın geleceği mi?
Hem evet hem hayır. Ve aradaki fark, insanların düşündüğünden çok daha önemli.
2020'de "komut vermek" (prompting), CLI bayrakları veya kullanıcıdan girdi istemek anlamına geliyordu. Şimdi ise GPT'yi sıfırdan çalışan bir web uygulaması oluşturmaya ikna etmek anlamına geliyor. Bu gerçekten çok faydalı. Buradaki hata yapay zekayı kullanmak değil. Hata, düşünme işini ona devretmek. Altta yatan mantığı anlamadan fonksiyonları komutlarla değiştirdiğinizde, aslında hiçbir şeyin mühendisliğini yapmıyorsunuz. Sadece kapalı bir kutuya (black box) tahminler fırlatıyor ve çıkan sonucun çalışmasını umuyorsunuz.
Ve işte kimsenin yüksek sesle söylemek istemediği o gerçek: programlamanın %100 komut yazmaktan ibaret olduğu bir gelecekte bile (ki bu değişim yıllar veya on yıllar alabilir), makineyi nasıl yönlendireceğinizi bilmeniz gerekecek. Birinin talimatları vermesi, çıktıyı doğrulaması ve sonucu sahiplenmesi şart. O kişinin mantığı anlaması gerekiyor, aksi takdirde yapay zeka ufak bir detayı yanlış anladığı ilk anda tüm sistem çöker.
Bu yazıda, bu değişimin neden yaşandığına ve asıl işinizin neden mantığı gerçekten anlayan kişi olmaya doğru evrildiğine bakacağız.

Kodlamada Yapay Zeka İstemleri (Prompting) Aslında Ne Anlama Geliyor?
En basit haliyle, yazılım geliştirmede yapay zeka istemleri (AI prompting), teknik bir çıktı üretmesi için büyük bir dil modeline doğal dilde talimatlar vermek demektir. Kodlama bağlamında bu genellikle üç şekilde karşımıza çıkar:
-
Otomatik tamamlama (Autocompletion). GitHub Copilot veya Cursor gibi araçlar mevcut kodunuzu okur ve sonraki birkaç satırı önerir. Bu, yüksek hızda bir örüntü eşleştirmedir.
-
Talimatlı istemler (Instructional prompting). Bir sohbet botuna belirli bir görev verirsiniz, örneğin "Bir haber sitesinden manşetleri çeken ve bunları bir CSV dosyasına kaydeden bir Python betiği yaz." Yapay zeka, bir çözüm üretmek için eğitim verilerinden yararlanır.
-
Bağlam enjeksiyonu (Context injection). Bu ileri seviye bir katmandır. Yapay zekaya mevcut dokümantasyonunuzu, API şemalarınızı veya mantıksal kısıtlamalarınızı beslersiniz, böylece tek bir parantez bile yazmadan önce sizin benzersiz sisteminizi anlar.
Her üçünün de temelinde, yapay zeka sadece gördüğü milyarlarca örneğe dayanarak bir sonraki en olası token'ı (kelime/parça) tahmin eder. Bir derleyici (compiler) size ikili bir "Doğru veya Yanlış" cevabı verir. Bir istem (prompt) ise size olasılıksal bir tahmin sunar. Bazen bu harika bir kısayoldur. Bazen ise kendinden emin bir halüsinasyondur. Altta yatan sözdizimini (syntax) anlamıyorsanız, hangisini elde ettiğinizi bilemezsiniz.
Bütün mesele de bu zaten. Bundan sonraki her şey, o çizginin doğru tarafında kalmakla ilgili.
Programlama Nasıl Değişiyor ve İşiniz Neye Dönüşüyor?
Eğer yapay zeka yazma işinin daha büyük bir kısmını hallediyorsa, insan aslında ne işe yarayacak? Cevap "daha az iş" değil. Cevap farklı bir iş. Şu anda dört büyük değişim bu mesleği yeniden şekillendiriyor.
1. İnşa ediciden sistem mimarına
Parantezler ve noktalı virgüller artık daha az önemli. Daha önemli olan şey niyet, yapı ve kodun ne başarmaya çalıştığıdır. Sizin değeriniz mimari planlama ve doğrulama becerilerinizde yatıyor. Tüm sistemin birbirine nasıl uyduğunu anlayan kişi siz olmalısınız, çünkü yapay zekanın çıktısı sisteme uymadığında bunu fark etmenin tek yolu budur.
2. Sadece istemlerde değil, bağlamda ustalaşmak
Büyük Dil Modelleri (LLM'ler) deterministik değildir. Aynı sorgu farklı denemelerde farklı cevaplar üretebilir. Bu yüzden modele verdiğiniz bağlamı yönetmek asıl teknik beceridir.
Ona internette çok az referans materyali olan belirsiz bir problem sunarsanız, seve seve var olmayan fonksiyonlar icat edecek veya yavaş ve güvensiz spagetti kod (spaghetti code) üretecektir. İyi bağlam girer, faydalı kod çıkar. Belirsiz bağlam girer, mantıklı görünen saçmalıklar çıkar.
3. Mantığı doğrulamak
Yapay zeka tehlikeli bir mantık boşluğu (logic gap) yarattı: kod, herhangi birinin inceleyebileceğinden çok daha hızlı geliyor. Ve yapay zeka hatalarını (bug) tespit etmek özellikle zordur, çünkü doğru görünürler.
Bir kullanıcı listesini is_active durumuna göre filtreleyen bir fonksiyon üreten bir yapay zeka hayal edin. Çalışıyor. Testleri geçiyor. Kod incelemesi (code review) sorunsuz tamamlanıyor. Altı hafta sonra, müşteri kaybı (churn) rakamlarınız tuhaf bir şekilde temiz görünüyor ve kimse nedenini bulamıyor. Meğer fonksiyon, durumu false yerine null olan kullanıcıları sessizce düşürüyormuş. Junior bir geliştiricinin hatası genellikle barizdir. Yapay zekanın hataları ise doğru görünen kodun içine saklanır. Sizin değeriniz, bu hataları canlıya çıkmadan önce yakalamaktır.
4. Basmakalıp (boilerplate) kodları otomatikleştirmek
Giriş sayfaları, temel ödeme akışları, basit CRUD işlemleri. Yapay zeka bunları iyi hallediyor ve bu iyi bir şey. Bu sayede zamanınızı gerçekten ilginç problemlere harcayabilirsiniz: mimari kararlar, tuhaf uç durumlar (edge cases) ve projenizi farklı kılan kısımlar.
İşte burası birçok insan için tablonun kafa karıştırıcı hale geldiği yer, bu yüzden doğrudan söyleyelim: basmakalıp işleri yapay zekaya devretmek sorun değildir. Ancak muhakeme yeteneğinizi ona devretmek sorundur. Bunlar tamamen farklı iki karardır ve bunları birbirine karıştırmak, geliştiricileri sadece komut tahmin edicilere dönüştürür.
| Değişim | Buradan: İnşa edici | Buraya: Mimar |
|---|---|---|
| Ana odak | Sözdizimi, parantezler ve noktalı virgüller | Niyet, sistem mimarisi ve mantık |
| "Kaynak kod" | Manuel yazılan mantık satırları | Bağlam, kısıtlamalar ve dokümantasyon |
| İş akışı | Basmakalıp kodlar ve CRUD işlemleri yazmak | Tekrarlayan işleri devretmek ve üst düzey uç durumları çözmek |
| Kalite kontrol | Satır satır manuel hata ayıklama (debugging) | Yapay zeka çıktısını denetlemek ve mimari bütünlüğü sağlamak |
| Yapay zekaya bakış | Bir tehdit veya "hile yapmak" | Yetenekli bir operatöre ihtiyaç duyan güçlü bir araç |
Bir Kod Dinozoruna mı Dönüşeceksiniz?
Yıllar önce bazı geliştiriciler "kolay" araçları küçümserdi. React veya Django gibi framework'ler "hile yapmaktı". Gerçek geliştiriciler JavaScript veya CSS'in her satırını sıfırdan yazardı. Bugün o "kısayollar" sadece... standart haline geldi. Kimse tekerleği yeniden icat ederek ciddi bir uygulama geliştirmiyor.
Yapay zeka aynı hikayenin bir sonraki bölümü ve aynı bölünme yeniden oluşuyor:
-
Dinozorlar sadece yapay zekadan kaçınmakla kalmıyor. Ona uyum sağlamayı da reddediyorlar. Onu "gerçek kodlamaya" bir tehdit olarak görüyorlar ve sektörün zaten çözmüş olduğu problemleri yeniden çözmek için saatler harcıyorlar. Kodlamanın problem çözmekle ilgili olduğunu, klavyede yazı yazmak olmadığını unutuyorlar.
-
Mimarlar sıkıcı kısımlar için yapay zekayı kullanıyor ve geri kalan her şey için temel bilgilerini keskin tutuyorlar. Öğrenmeyi bırakmıyorlar, çünkü yapay zekanın işini doğrulamanın ve işleri güvenli tutmanın tek yolu derinlemesine anlamaktır. Yapay zeka onların yerini almıyor. Onlar yapay zekayı yönetiyor.
Özetle: yapay zekayı kullanmamayı seçmek sizi kötü bir geliştirici yapmaz. Dürüst olmak gerekirse, tek başına problem çözmek hala en derin öğrenmenin gerçekleştiği yerdir. Amaç uyum sağlayabilmektir. Yapay zeka ister tek bir satır ister bütün bir fonksiyon üretmiş olsun, projenin üzerinde sizin adınız var. Mimar olmak, mantığı her zaman kendinizin anlayabileceği, doğrulayabileceği ve sahiplenebileceği derinliğe sahip olmak demektir.
Kontrolü Elinde Tutan Kişi Olarak Nasıl Kalınır?
Uygulamalar aynı birkaç model tarafından üretildiğinde, hepsi birbirine benzemeye başlar. Harika yazılımları unutulmaz kılan şey o tuhaf, insani ve zekice seçimlerdir ve bunlar kendi başlarına bir komut kutusundan (prompt box) çıkmazlar.
Birkaç alışkanlık sizi çizginin mimar tarafında tutar:
-
Yapay zekayı son rötuşlar için değil, iskeleti kurmak (scaffolding) için kullanın. Yapısal kısımlar için harikadır. Özel detaylar, uç durumlar, ürününüzü size ait kılan şeyler... Bunlar hala sizin işiniz.
-
Temel bilgilerinizin paslanmasına izin vermeyin. Günde beş dakikalık pratik kodlama bile mantığınızı keskin tutar. Bazen yapay zekadan uzaklaşmak, yönlendirmeniz gereken motoru hala anladığınızdan emin olmanın yoludur.
-
Yapay zekaya junior bir geliştirici gibi davranın. Net talimatlar verin, işi kontrol edin, son kararı siz verin. Kural basit: her zaman kullandığınız araçtan daha bilgili olun.
Kodlama Hiçbir Yere Gitmiyor. Sadece Kurallar Değişiyor.
Peki, 2030'a kadar kodlama sadece komut yazmaktan mı ibaret olacak?
Dürüst olmak gerekirse? Kimse gerçekten bilmiyor. İki yıl önce yapay zeka tarafından üretilen kodun canlı ortama (production) çıkacağını düşünmek bir nevi şakaydı. Bugün çoğu programcı onu günlük olarak kullanıyor. Bu hızı tahmin etmek zor.
Ancak "evet, her şey komut yazmaktan ibaret" cevabı, sadece kaliteyi umursamayan insanlar için geçerlidir. Yapay zeka karmaşık bir sistem tanımını alıp güvenilir bir şekilde kusursuz, güvenli bir yazılım teslim edene kadar (ki buna henüz hiç yakın değiliz), sektörün mantık hatalarını ayıklayabilen ve yapay zekanın sessizce gözden kaçırdığı hataları yakalayabilen programcılara ihtiyacı olmaya devam edecek. Bu bir yedek plan rolü değil. Bu en değerli roldür.
Mimarlar öğrenmeye devam eder. Coddy'nin tam olarak bunun için inşa edildiği pratik türü de budur: hiçbir komutun taklit edemeyeceği derinliği inşa eden uygulamalı, etkileşimli dersler.
O yüzden meraklı kalın, kod yazın ve öğrenmeye devam edin. :)
Share this article
About the Author
Jana Simeonovska
Content Strategist & Writer
Frequently Asked Questions
Yapay zeka (AI) kodlamada nasıl kullanılıyor?
AI kod üretimi, otomatik olarak kaynak kodu oluşturmak için makine öğrenimine ve doğal dil işlemeye dayanır. Makine öğrenimi modelleri, programlama dillerini ve yaygın kodlama kalıplarını anlamak için büyük kod veri kümeleri üzerinde eğitilir.
Kodlamada prompting ne anlama gelir?
Prompt, bir AI'ın gerçekleştirmesi gereken görevi tanımlayan ve belirleyen doğal dil metnidir. Metinden metne (text-to-text) bir dil modeli için prompt; bir sorgu, bir komut veya bağlama, talimatlara ve konuşma geçmişine atıfta bulunan daha uzun bir ifade olabilir.
Kodlama ve prompting aynı şey midir?
Prompting ve programlama çok farklı varsayımlar üzerinden çalışır. Onları aynı şeymiş gibi ele almak; kırılgan sistemlere, tutarsız davranışlara ve üretim (production) ortamında beklenmedik hatalara yol açar. Zihinsel modelin nerede kırıldığını anlamak, LLM'leri güvenilir bir şekilde kullanmak için çok önemlidir.
Prompt'lar kod olarak kabul edilir mi?
Geleneksel kodun aksine, prompt'lar herkes tarafından düzenlenebilir hissi verir. Herkesin okuyabileceği ve ince ayar yapabileceği doğal dildirler. Ancak bu basitlik iki tarafı keskin bir kılıçtır. Prompt'lar sade bir dille yazıldıkları için yoruma açıktırlar.
Kodlama 2026'da hala geçerliliğini koruyor mu?
2026'da bile kodlama; yazılım mühendisi, AI mühendisi ve veri bilimci gibi rollerin temelini oluşturmaya devam ediyor.
Prompt engineering kodlamanın yerini alacak mı?
Yüksek performanslı uygulamalar, yalnızca yetenekli programcıların sağlayabileceği ince ayarlı koda ihtiyaç duyar. İşletim sistemleri gibi karmaşık sistemler hala geleneksel programlamaya ihtiyaç duyar ve yalnızca prompt'larla oluşturulamazlar. Geliştirme sürecini destekleyebilirler, ancak kodlamaya olan temel ihtiyacın yerini almazlar.


