0'dan 1'e İnsan, 1'den 100'e Yapay Zeka: Yazılımın Yeni Paradigması

Fatih Mert Doğancan

İnsan yaratıcılığı ve yapay zeka ölçeklendirmesini gösteren yazılım geliştirme illüstrasyonu

Yazılımın yeni paradigması: İnsan yaratıcılığı ve yapay zeka gücünün birleşimi (Gemini 3.0 ile oluşturuldu)

İçindekiler

“Bilgi Kırıntıları” ve Kristalize Olmuş Tecrübe #

Geçtiğimiz günlerde bir oyun projesi için geliştirdiğim “Virtual File System” (VFS) sürecinde bir çok şey farkettim. Yapay zekaya (AI) sistemin mantığını detaylıca anlatıp sıfırdan kod istediğimde, çalışan ama vasat, production’a uygun olmayan sonuçla karşılaştım. Ancak, yıllar önce StackOverflow’dan, forumlardan, SourceForge içerisindeki projelerin kaynak kodlarından ve kendi denemelerimden topladığım “bilgi kırıntılarıyla” inşaa ettiğim eski kodumu ona “referans” olarak verdiğimde sonuç muazzamdı.

Yapay zeka, o dağınık görünen eski kodumdaki “niyeti” ve “yaşanmışlığı” (edge-case exp) pusula olarak kullanarak çok iyi optimize edilmiş yapı çıkardı.

Yapak zeka tuğlaları mükemmel dizebilir ama binanın planı ve harcı insana aittir.

Aşağıda, bu yeni dönemde yazılım geliştirmeyi, öğrenmeyi ve geleceği şekillendirecek kritik sorulara, sahadan (in-wild) cevaplar ve vaka analizleri (case-study) sunuyoruz.

1. Yeni Başlayanlar İçin: “Pilot Olmadan Otopilotu Kullanmak” #

Yazılıma yeni başlayanlar büyük bir kolaylık ilüzyonu içindeler. Tek tuşla sistemler kurmak mümkün ama bu; öğretmen eğrisini yok etmiyor, sadece şeklini değiştiriyor.

  • Kör uçuş; temel algoritmaları bilmeyen bir junior, AI’ın ürettiği koddaki sinsi bir mantık hatasını bulamaz.
  • Yeni tanım; eskiden sözizimi (syntax) bilmek daha değerliydi. Şimdi “sistem mimarisi” ve “kod okuryazarlığı” değerli.

AI kodu yazar, insan kodu yargılar.

Asıl işin en güzel kısmı; bilgiye erişimin geçirdiği evrim. Eskiden bir köy okulu veya bir ansiklopedi cildi paha biçilemez bir hazineydi; büyüklerimizin o günleri hala saygıyla anması, bilginin o zamanlar emekle kazanılmasındandı. Ardından internet ve arama motorları devrimi geldi, bilgiyi kütüphanelerden ceplerimize taşıdı. Bugün ise süreç sadece hızlanmakla kalmadı; bilgi artık bizi arayıp buluyor, kişişelleşiyor ve en yakınımıza, yani bağlamın tam içine kadar geliyor.

Yeni Mühendislere Tavsiye: “Kodu Yazan Değil, Sorunu Çözen Olun” #

Bu bolluk çağında kaybolmamanın yolu, o eski sancılı ve ezberci yollardan geçmek zorunda olmadığını kabul etmekten geçiyor. Tabii ki, kolaylık, sığlık getirmemeli.

  • AI ile “Diyalog” kurun: Yapay zekayı sadece işinizi yapan taşeron olarak görmeyin. Ondan istediğiniz kod çıktısını aldıktan sonra, “bunu neden böyle kurguladın, başka yolu var mıydı?” diye sorun. Cevabı hazır almanın rahatlığına değil, mantığı kavramanın derinliğine talip olun.
  • Zamanı derinleşmek için kullanın: Eskiden noktalı virgül hatalarıyla, kütüphane çakışmalarıyla saatlerce boğuşurduk. Bu teknik angaryalardan kurtulmuş olmanız büyük bir şans. Bu kazandığınız zamanı; algoritmanın mantığını, veri yapılarının ruhunu, sistemin mimarisini ve tasarım desenlerinin kalbini içselleştirmek için kullanın.

Araçlar ve diller değişir ama saf merak ve öğrenme arzusu her zaman en geçerli yetenek olarak kalacaktır.

2. Ar-Ge ve İnovasyon: Kuantum ve AGI (0 -> 1) #

AGI (Yapay Genel Zeka) veya Kuantum Bilgisayarlar, insanın yaptığı o ilk kıvılcımı (0 -> 1 sorunu) yaratabilir mi? #

Burada işlem gücü ile niyet (intent) kavramlarını ayırmak gerekir.

  • Kuantum Bilgisayarlar, işlem gücünün zirvesidir. 1’den 100’e gitme sürecini (optimizasyon, şifre kırma, molekül modelleme) saniyelere indirebilirler. Ama kuantum bilgisayarlar da bir input beklerler yani “neyi optimize etmeliyim?” sorusunu sormazlar.
  • AGI ve “Niyet”, 0’dan 1’e gitmek bir “ihtiyaç” hissidir. İnsan acıkır, üşür, sıkılır veya ön önemlisi merak eder; bu yüzden icat eder. Yapay zekanın biyolojik dürtüleri veya varoluşsal sancıları olmadığı süreci, “durup dururken” bir problem tanımlayıp onu çözmeye kalkışması (gerçek 0 -> 1) çok zordur.
  • Gelecek; AGI, mevcut bilgileri (insanların şu döneme kadar araştırıp/geliştirdiği) sentezleyerek “yeni gibi görünen” şeyler yapabilir ama bu hala geniş bir veri setinin (yani 1’lerin) kombinasyonudur.

Gerçek yaratıcılık, verisiz alanda yön bulmaktır ve bu hala insanın tekelindedir.

Reasoning (Düşünme) Aslında Nedir? #

Normal bir LLM (GPT-4) bir soruyu/ifadeyi alır ve hemen cevabı “kusmaya” (predicting next token) başlar.

  • Kullanıcı: 25 * 48 kaç eder?
  • Standart LLM: 1200.

Ancak “Reasoning” modellerinde (DeepSeek R1, OpenAI o1, vb.) süreç şöyledir: Model nihai sonucu kullanıcya vermeden önce gizli bir alanda kendi kendine konuşmaya başlar. Bu konuşma, modelin kendi context window’una yani bağlam hafızasına eklenir.

Kaynak kodlarından bildiğimiz DeepSeek R1 #

  1. Input: 25 * 48 kaç eder?
  2. Gizli Üretim (Thinking Tokens): <think> 25 ile 48’i çarpmam lazım. 48’i 50-2 olarak düşünebilirim. 25 * 50 = 1250. SOnra 25 * 2 = 50. 1250 - 50 = 1200ç </think>
  3. Output: Cevap 1200’dür.

Düşünme dediğimiz şey, aslında modelin kendi context’ini doldurarak bir sonraki kelimeyi daha isabetli tahmin etmek için kendisine “kopya kağıdı” (scratchpad) hazırlamasıdır.

DeepSeek R1 ve türevlerinin makalelerine ve repolarındaki genration_config yapılarına bakarsak şunu görürüz: Reinforcement Learning (Pekiştirmeli Öğrenme) ile şu şeye zorlamışlardır: “Cevabı hemen verme, önce ara adımları yaz.”

  • Gerçek: Model sadece daha fazla token üretiyor.
  • Pazarlama: “Yapay zeka derinlemesine düşünüyor.”

Düşünmek = Daha fazla işlem gücü harcamak (more tokens) = “Context’i genişletmek”

3. Teknik Derinlik: Bağlam (Context) ve Halisünasyon #

AI kodun bağlamını AST (Abstract Syntax Tree) mantığına yakın bir yapıda kavrar.

  • Halisünasyon = Bağlam Kopuşu: Halisünasyon aslında bir “Bağlam Taşması” (Context Overflow) veya yetersizliğidir. AI, bilmediği bir şeyi genelde “bilmiyorum” demek üzere eğitilmemiştir. Olasılıksal olarak en mantıklı kelimeyi tanımlar, bilmediği boşlukları istatistiksel tahminlerle doldurur.
  • Bağlam Zehirlenmesi (Context Overflow/Cnfusion): Çok fazla ve çelişkili bilgi (eski kod + yeni istekler + internetten yanlış snippetler vs.) verildiğinde modelin “dikkat mekanizması” (attention mechanism) dağılır ve saçmalamaya başlar.

Halisünasyon, modelin kendine fazla güvenmesi ile bağlamın yetersizliği arasındaki o gri alandır.

LLM’ler (Büyük Dil Modelleri) metin tabanlı çalışır ama kod “yapısal” bir veridir.

  • AST (Abstract Syntax Tree): Derleyiciler kodu ağaç yapısında görür. AI modelleri, eğitimi sırasında kodun sadece metnini değil, bu ağaç yapısındaki mantıksal akışını da öğrenir.
  • Tokenizasyon Sorunu: JSON, veriyi yapılandırmak için harikadır ama çok fazal gereksiz karakter (", :, {, }) içerir. Bu, LLM’in “Context Window"unu (yani hafızasını) boş yere doldurur.
  • TOON ve Optimize Formatları: Sektör, JSON yerine daha az token harcayan, daha “sıkıştırılmış” formatlara (YAML, TOON veya özel binary temsiller) yöneliyor. Bu sayede AI’a daha az maliyetle daha fazla “bağlam” (tüm proje dosyaları gibi) verilebiliyor.

AI’ın başarısının artması, ona verdiğin bu “yüksek kaliteli bağlam” sayesindedir.

4. Geleceğin Mimarisi: Vertical AI, Maliyetler ve MCP Devrimi #

Her iş için ayrı bir devasa AI modeli (Vertical AI) eğitmek ekonomik değildir. Gelecek, dev modellerde değil, standartlaştırılmış protokollerde yatıyor (en azından eğitim maliyeti optime edilene kadar).

  • Maliyet Sorunu: Sadece “Oyun Fizği” bilen bir trilyon parametreli model eğitmek çok pahalıdır.
  • Anthropic MCP (Model Context Protocol): Bu noktada MCP gibi girişimler devreye giriyor. Genel bir zekanın (General LLM), yerel veritabanınıza, özel araçlarınıza veya IDE’nize standart bir “priz” ile bağlanmasını sağlıyor.

MCP, AI modelini fine-tune yapmadan ona “sen şu an bu projenin uzmanısın” dememize kolaylık sağlar.

5. Geleceğin Mesleği: Orkestra Şefliği #

Gidişat gösteriyor ki, gelecekte yazılımcı kod yazan değil, kod yazan ajanları (AI Agents) yöneten bir okestra şefi olacak.

  • Enstrümanlar: Veritabanı optimizasyonu yapan ajan, arayüz çizen ajan, test yazan ajan, güvenlik açığı arayan ajan. Agent Swarms diyebiliriz.
  • Şef: İnsan, hangi ajanın ne zaman devreye gireceğime karar veren, Ar-Ge vizyonunu koyan ve çıkan işin kalitesini “insan gözüyle” onaylayan kişi.

AI’ın yazdığı kod, bizim ona verdiğimiz vizyon kadar iyidir. Bağlam kraldı, insan ise o tacı takandır.

Gerçek Dünya Örnekleri #

Elbette benzer yollardan geçen başka yazılımcı arkadaşlar vardır, fakat bunlar tamamen kişisel tecrübelerimdir. Yapay zeka ve “insan araştırması” ile birleştiğinde neler yapabileceğinin en somut örnekleridir.

Ignix: Rust ile Redis Klonu Yazmak ve %25 Performans Artışı #

Bir geliştirici olarak Rust yeteneklerimi geliştirmek için Redis benzeri bir KV Store yazmaya karar verdim. Kendimi daha da zorlamak için; client-agnostic yapı üzerine gitmek istedim.

  • Sadece Prompt ile: AI, çalışan bir Redis server yazı ancak performans sorunları vardı. Yine bazı durumlarda çok ufak da olsa Redis’e göre artışları oluyordu. (commit geçmişinden test edebilirsiniz).
  • İnsan Araştırması ile: ArXiv’den akademik makaleler okuyup, Redis’in kaynak kodunu analiz edip, performans odaklı kod parçalarını derleyerek AI’ı yönlendirdiğimde sonuç değişti.

Sonuç: Orjinal Redis’ten belirli senaryolarda %25 daha performanslı çalışan bir yapı ortaya çıktı.

Redis’in yıllara dayanan optimizasyonlarına saygı duymakla birlikte, bu vaka; doğru insan yönlendirmesi (Research) ile AI’ın (Implementation) birleştiğinde endüstri standartını bile zorlayabilecğeini gösteriyor.

  • Ignix, bu proje tamamen açık kaynak. İnceleyebilir, geliştirmek isterseniz PR açabilir, öneri feedback repo’ya bırakabilirsiniz.