Blog

LLM'lerle Kod Yazmanın Yeni ve Sıradışı Yolları

Alper Kocan 03 July 2026 21 görüntülenme

Selamlar, ben Alper. Bugün biraz kahvelerimizi tazeleyip, son zamanlarda yazılım dünyasının en popüler mecrası olan Hacker News (HN) üzerinde dönen çok tatlı bir tartışmayı masaya yatıralım istiyorum. Başlığımız belli: "Ask HN: Is anyone experimenting with different ways of using LLMs for coding?" Yani diyorlar ki; "Dostlar, bu Büyük Dil Modellerini (Large Language Models - LLM) sadece 'bana bir Python fonksiyonu yaz' demek dışında, daha yaratıcı nasıl kullanıyorsunuz?"

Dürüst olalım, çoğumuz ilk başta GitHub Copilot veya ChatGPT'yi bir tür gelişmiş "otomatik tamamlama" (autocomplete) aracı olarak gördük. Ancak HN üzerindeki bu tartışma, buzdağının görünmeyen kısmının ne kadar devasa olduğunu kanıtlıyor. Gelin, deneyimli bir geliştirici gözüyle bu yeni nesil yöntemleri birlikte inceleyelim.

1. Ajan Temelli Çalışma Mantığı (Agentic Workflows)

Tartışmada en çok öne çıkan konulardan biri, LLM'leri tek başına bir sohbet botu olarak değil, birer "Ajan" (Agent) gibi kullanmak. Bu ne demek? Sadece kodu yazan değil, yazdığı kodu terminalde çalıştıran, hata alıyorsa hatayı inceleyip kendi kodunu düzelten sistemlerden bahsediyoruz. Artık yazılımcılar, Aider veya OpenDevin gibi araçlarla sadece "Şu özelliği ekle" diyor ve arkasına yaslanıp yapay zekanın dosyalar arasında gezinmesini, değişiklikler yapmasını ve testleri çalıştırmasını izliyor.

2. Test Odaklı Geliştirme (TDD) ve LLM İşbirliği

Hepimiz biliyoruz ki test yazmak bazen sıkıcı olabiliyor. Ancak yeni trend şu: Testi siz yazıyorsunuz, kodu LLM'e bırakıyorsunuz. Veya tam tersi! Bazı geliştiriciler, yazdıkları kodun "edge case" dediğimiz uç durumlarını bulması için LLM'leri birer "Hata Avcısı" (Bug Hunter) olarak kullanıyor. Yapay zekaya "Bu kodu patlatacak 5 farklı senaryo yaz" dediğinizde, sizin aklınıza gelmeyecek bellek sızıntılarını (memory leaks) veya mantık hatalarını şak diye önünüze koyabiliyor.

3. Eski Kodları (Legacy Code) Anlamak ve Belgelemek

Yazılımcıların en büyük kabusu, başkasının (veya 6 ay önceki kendisinin) yazdığı, dökümantasyonu olmayan karmaşık kodlardır. Tartışmada birçok kişi, LLM'leri birer "Tercüman" gibi kullandığını belirtmiş. Binlerce satırlık eski bir C++ kodunu LLM'e besleyip, "Bana bu sistemin mimari şemasını çıkar ve veri akışını Türkçe olarak açıkla" demek, bir geliştirici için paha biçilemez bir zaman tasarrufu sağlıyor. Bu süreç sadece anlamakla kalmıyor, aynı zamanda kodun modernize edilmesi (Refactoring) için de harika bir zemin hazırlıyor.

4. Yeni Nesil Editör Deneyimi: Cursor ve Ötesi

Klasik VS Code eklentilerinin ötesine geçen Cursor gibi IDE'ler (Entegre Geliştirme Ortamları), LLM'i doğrudan çekirdeğine yerleştiriyor. Bu araçlar, sadece o an açık olan dosyayı değil, tüm projenizi (Context) biliyor. HN kullanıcıları, projenin tamamına hakim bir yapay zekanın, "Veritabanı şemasındaki değişikliği tüm API uç noktalarına (endpoints) uygula" komutunu hatasız yapabilmesinin iş akışlarını nasıl hızlandırdığını anlatıyorlar. Burada kritik terim "Context Window" (Bağlam Penceresi); bu pencere büyüdükçe, yapay zekanın projenin genelini anlama kapasitesi de artıyor.

5. Düşünme Partneri Olarak LLM (Rubber Ducking 2.0)

Eskiden "Rubber Ducking" (Lastik Ördek Yöntemi) dediğimiz bir olay vardı; sorunu bir ördeğe anlatırken çözümü kendimiz bulurduk. Şimdi ise karşımızda konuşan, cevap veren ve fikir yürüten bir ördek var. Bazı geliştiriciler kod yazdırmaktan ziyade, mimari kararları tartışmak için LLM'leri kullanıyor. "Mikroservis mi yapmalıyım yoksa Monolitik mi devam etmeliyim? Avantajları ve dezavantajları projem özelinde kıyasla" dediğinizde, size oldukça mantıklı içgörüler sunabiliyor.

  • Prompt Engineering (İstem Mühendisliği): Artık sadece ne istediğimizi değil, nasıl istediğimizi de detaylandırıyoruz.
  • RAG (Retrieval-Augmented Generation): Kendi dökümantasyonumuzu yapay zekaya öğreterek, şirkete özel cevaplar alıyoruz.
  • Fine-tuning (İnce Ayar): Belirli bir programlama dilinde veya kütüphanede uzmanlaşmış modellerle çalışıyoruz.

Sonuç olarak arkadaşlar, LLM'ler bizim yerimize kod yazan robotlar değil, bizim bilişsel yeteneklerimizi artıran birer "Exoskeleton" (Dış İskelet) haline geliyor. Hacker News'teki bu tartışma gösteriyor ki, yaratıcılığımızı ne kadar konuşturursak, bu araçlardan o kadar verim alıyoruz. Önemli olan direksiyonun başında kalmak ve "Hallucination" (Halüsinasyon/Uydurma) riskine karşı her zaman tetikte olup kodu doğrulamak.

Siz bu konuda ne düşünüyorsunuz? Kendi iş akışınıza dahil ettiğiniz ilginç bir yöntem var mı? Yorumlarda buluşalım!

Yorumlar (0)
Yorum Yap