LLM’leri Nasıl Kullanıyorum?

Mehmet Tuğrul Kaya
4 min readFeb 6, 2025

Yazılım mühendisleri veya sadece yazılım mühendisleri deyip sınırlandırmayım, büyük dil modelleri (LLM’ler) konusunda ikiye bölünmüş durumda. Bazıları, bu modellerin sektöre giren en dönüştürücü teknoloji olduğuna inanıyor. Diğerleri ise bunların yalnızca bir dizi abartılı ürünün en yenisi olduğunu düşünüyor: Düşünmesi heyecan verici ama ciddi işlerle uğraşan profesyoneller için nihayetinde faydasız.

Şahsen, yapay zekadan oldukça fazla fayda sağladığımı düşünüyorum. Bu şekilde düşünmeyen birçok kişinin de LLM’leri “yanlış kullandığını” düşünüyorum, yani dil modellerini en faydalı olacak şekilde kullanmıyorlar. Bu yazıda, bir kıdemli mühendis olarak günlük iş akışımda yapay zekayı nasıl kullandığımı anlatacağım.

Üretim Kodları Yazarken

Kod yazarken Copilot veya benzeri otomatik tamamlama araçlarını sürekli kullanıyorum. Kabul ettiğim neredeyse tüm tamamlamalar tamamen şablon niteliğinde (örneğin, fonksiyon parametrelerini veya türleri doldurmak). İş mantığını doğrudan LLM’nin yazmasına nadiren izin veriyorum.

Örneğin, Python’da uzmanım ve bu alanlarda LLM’nin üretebileceğinden daha iyi kod yazabileceğime eminim. Ancak, LLM’leri gelişmiş bir otomatik tamamlama aracı olarak kullanıyorum ve özellikle boilerplate kodları yazarken oldukça faydalı oluyor.

Ancak her zaman uzmanlık alanımda çalışmıyorum. Bazen Go veya Rust gibi daha az aşina olduğum veya yeni tanıştığım alanlarda küçük taktiksel değişiklikler yapmam gerekiyor. Sözdizimini biliyorum ve bu dillerde kişisel projeler yazdım, ancak neyin “idiomatik” (o dilin en iyi pratiği) olduğunu bilmiyorum. Bu gibi durumlarda, LLM’ye daha fazla güveniyorum.

Genellikle LLM sohbet özelliğini kullanarak kodumu yapıştırıyor ve doğrudan
“Bu idiomatik Rust kodu mu?” diye soruyorum. Bu kodu yazarken yaptığım hataları göster. diye soruyorum

Bu şekilde LLM’lere güvenmek riskli, çünkü gözden kaçırdığım şeyleri bilemiyorum. Ancak, bana her konuda “akıllı bir stajyer” düzeyinde çalışma imkânı sunuyor. Tabii ki, akıllı bir stajyer gibi davranmam ve uzman birinin yaptığım değişiklikleri gözden geçirdiğinden emin olmam gerekiyor. Yine de, bu tür taktiksel değişiklikleri hızla yapabilmek oldukça verimli.

Geçici Kod Yazarken

LLM’leri en özgür şekilde kullandığım alan, asla üretime girmeyecek kodlar yazmak.

Örneğin, yakın zamanda kamuya açık bir API’den veri çekmem, bu verileri sınıflandırmam ve ardından bu sınıflandırmayı hızlıca bazı regex’lerle (düzenli ifadelerle) modellemem gerekti.

Bu kodların tamamı yalnızca kendi bilgisayarımda çalıştı ve LLM’leri şu amaçlarla kullandım:

  • Python ile API’den veri çekme kodu yazmak
  • Ayrı bir LLM kullanarak sınıflandırma kodu oluşturmak
  • Verileri tokenize etmek ve frekans ölçümleri yapmak
  • Regex kullanarak metin işlemleri yapmak

LLM’ler, yalnızca bir kez çalıştırılacak ve asla bakımı yapılmayacak kodları yazmada mükemmel. Üretim dışı, yalnızca araştırma için kullanılan kodlar için ideal. Bu süreçte LLM’leri kullanmamın işimi 2 ila 4 kat daha hızlı tamamlamamı sağladığını söyleyebilirim.

Yeni Alanları Öğrenirken

LLM’leri en çok öğrenme asistanı olarak kullanıyorum.

Örneğin, geçen hafta sonu Spring Boot ile mikro servis geliştirmeyi öğreniyordum ve bunu yaparken ChatGPT-4o’ya yoğun bir şekilde başvurdum.

LLM’lerle öğrenmenin büyüsü, soru sorabilmenizdir.

  • Yalnızca “Java’da Spring Boot nasıl çalışır?” değil, aynı zamanda “Spring Boot, Node.js ile kıyaslandığında hangi avantajlara sahiptir?” gibi takip soruları da sorabiliyorum.
  • Daha da önemlisi, “Bu doğru mu?” diye sorarak öğrendiğim şeyi modele doğrulatabiliyorum.

Yeni bir şey öğrenirken bol bol not alıyorum. Notlarımı kopyalayıp LLM’ye yapıştırarak doğru anlayıp anlamadığımı kontrol ettirmek müthiş bir avantaj sağlıyor.

Son Çare Olarak Hata Ayıklama

Bunu sık yapmıyorum ama bazen bir hata üzerinde gerçekten sıkışıp kalırsam, Copilot sohbetine tüm dosyayı veya ilgili dosyaları ekleyip hata mesajını yapıştırıyor ve doğrudan
“Bana yardımcı olabilir misin?” diye soruyorum.

Ancak, şu an için hata ayıklama konusunda LLM’lerden daha iyi olduğumu düşünüyorum. Çoğu zaman Copilot veya Claude sadece kafa karıştırıcı yanıtlar veriyor.

Yine de, çok az zaman alıyor, bir kere denemeye değer. Birkaç kez, çok ince bir hatayı yakalayarak bana zaman kazandırdığı oldu.

Ancak, LLM’ler hata ayıklama konusunda henüz iyi olmadığından, onları “zorlamıyorum”. Sadece bir kez deniyor ve çalışmazsa zaman kaybetmeden kendi yöntemlerime geri dönüyorum.

İngilizce Yazıları Gözden Geçirme

Teknik dokümanları, teknik özetler, iç paylaşımlar vb. gibi bolca İngilizce doküman okuyorum.

LLM’lerin benim yerime bunları okuyup özet çıkarmasına asla izin vermem. Bunun iki sebebi var:

  1. Benim yazım tarzımın daha net olması: LLM’lerin ürettiği metinlerin benim tarzım kadar açık ve öz olmadığını düşünüyorum.
  2. ChatGPT’nin metin üretim tarzından hoşlanmamam: Yapay zeka tarafından üretilen yazıların belirli bir tonu var ve bu bana çok mekanik geliyor.

Ancak bazen taslaklarımı LLM’ye verip geri bildirim isteyebiliyorum.
LLM’ler imla hatalarını yakalamakta ve bazen ilginç bir öneri sunarak taslağımı geliştirmeme yardımcı olabiliyor.

Özet

LLM’leri şu işlerde kullanıyorum:

Akıllı otomatik tamamlama (Copilot, Python, Java)
Bildiklerimin dışındaki küçük değişiklikler (uzman kontrolüyle)
Tek seferlik araştırma kodları yazmak
Yeni konular öğrenmek için bolca soru sormak (Spring Boot, AI konuları vs.)
Son çare olarak hata ayıklama (belki hemen çözüm bulur diye)
Uzun İngilizce metinlerde genel gözden geçirme

LLM’leri şimdilik şu işlerde kullanmıyorum:

Bildiklerim için komple PR’leri (kod incelemeleri) yazmak
Teknik belgeleri, karar dökümanlarını benim adıma yazmak
Büyük kod tabanlarında araştırma yapıp “Bu nasıl çalışıyor?” sorusuna yanıt almak

Sonuç olarak, LLM’ler benim için çok değerli bir araç, ama onları nasıl kullandığınız önemli. Eğer doğru şekilde kullanırsanız, iş verimliliğinizi artırabilir ve sizi daha güçlü bir mühendis haline getirebilirler. 🚀

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Mehmet Tuğrul Kaya
Mehmet Tuğrul Kaya

No responses yet