Giriş

Yapay zekâyı kod üretimi ve hata ayıklama süreçlerine eklemek, tekrarlı işleri hızlandırıp fikirlerden çalışan çözümlere daha hızlı ulaşmanıza yardımcı olabilir. Bu makalede, Yazılım Geliştirme Promptları için kullanılabilecek pratik şablonlar, hata ayıklama (debugging) iş akışları ve uygulamaya yönelik adımlar yer alır. Kaynak olarak NexusAi'nin hata ayıklama iş akışı, PromptOptimizer.tools'un kod açıklama şablonları ve SurePrompts'un kodlama prompt koleksiyonu gibi örnekler kullanılmıştır.

Prompt Temel Yapısı — Hızlı Rehber

İyi bir prompt genellikle şunları içerir:

  • Amaç: Ne yapmak istiyorsunuz? (ör. bir özellik eklemek, hata bulmak)
  • Bağlam: Proje tipi, teknoloji yığını, ilgili dosya/line numarası
  • Girdi/Çıktı Beklentisi: Girdi örneği ve beklenen çıktı formatı
  • Sınırlar ve Kısıtlar: performans, güvenlik, uyumluluk kısıtları
  • Örnekler: İstenen stil veya test örnekleri

Bu yapı, modelin görev sınırlarını anlamasını sağlar ve tekrarlı düzeltme ihtiyacını azaltır.

Kod Üretimi için Şablonlar

Aşağıdaki şablonlar doğrudan kopyalanıp projeye göre doldurulabilir. Her şablonda {...} ile gösterilen yerleri değiştirin.

Özellik Uygulama (Feature Implementation)

Rol: Bir backend geliştiricisiniz. Amaç: {özellik açıklaması}. Teknoloji: {dil/çatı/bibliotek}. Bağlam: repository'nin ana dizininde "{ilgili_dosya}" var. Beklenen çıktı: {fonksiyon/endpoint kodu} ve kısa kullanım örneği. Lütfen 1) kodu, 2) değişiklik yapılacak dosyaları, 3) basit birimler testi ve 4) açıklama yaz.

Kod Açıklama (Code Explanation)

PromptOptimizer.tools tarafından önerilen yaklaşımları referans alarak, kısa bir kod parçasını açıklamak için:

Girdi: {kod bloğu}. Görev: Bu kodu adım adım Türkçe olarak açıklayın, karmaşıklık ve yan etkileri belirtin, olası hata durumlarını ve basit bir test örneği ekleyin. (Kaynak: PromptOptimizer.tools)

Refactor & Performans İyileştirme

Bağlam: {dosya/dizin}. Görev: Bu fonksiyonu daha okunabilir ve ~%X daha hafif bellek kullanımı hedefiyle yeniden düzenleyin. Alternatif çözümler, zaman/mekân karmaşıklığı ve potansiyel regresyon testleri yazın.

Unit Test Üretimi

Girdi: {fonksiyon adı ve imzası}. Görev: Pytest/Jest için en az 5 test case üretin, kenar durumlarını ve mock gereksinimlerini belirtin.

Hata Ayıklama ve Root Cause Analizi

Hata ayıklama için, bir iş akışı kullanmak adımları netleştirir. NexusAi'nin "AI Debugging & Root Cause Analysis Workflow" yaklaşımı, hata raporlarını yapılandırılmış bir analize dönüştürmek için iyi bir örnektir.

Genel Debugging İş Akışı (Örnek)

  1. Hata tanımı: Hata mesajı, çevre (OS, sürüm), adımlar.
  2. Girdi toplama: Loglar, stack trace, ilgili commit/PR bilgisi.
  3. Minimal reproducer: Sorunu yeniden üretmek için gereken en küçük kod parçası isteyin.
  4. Olası sebepler: Modelden mantıklı hipotezler üretmesini isteyin (her hipotez için nasıl test edileceğini belirtin).
  5. Patch önerisi: Küçük, adım adım düzeltme önerisi ve risk değerlendirmesi.
  6. Doğrulama: İlgili unit/integration testlerini ekleyin ve uygulanacak test adımlarını yazın.

Örnek prompt (kısa):

Lütfen aşağıdaki hata raporunu okuyup 1) minimal reproducer yazın, 2) en olası 3 sebebi sırala, 3) her sebep için bir test ve 4) önerilen patch'i göster. Hata: {hata mesajı ve stack trace}. Ortam: {örnek ortam bilgisi}. (Referans: NexusAi workflow, ayrıca PromptOptimizer.tools debugging şablonları örneklerine bakın.)

Pair Programming ve Kod İnceleme Prompts

Modeli bir eş-programcı gibi konuşlandırırken net rol tanımı verin. Örnekler:

  • Pair Programmer: "Sen bir senior backend geliştiricisin. Ben feature X üzerinde çalışıyorum. Kodumu kontrol et, sorunları belirt, kısa bir düzeltme önerisi yaz."
  • Code Review: "Pull request içeriğini incele, güvenlik, performans ve okunabilirlik açısından 5 ana öneri sun."
  • TDD Destekçisi: "Önce testleri yaz, sonra en küçük kodu yaz; her adımda neden böyle hareket ettiğini açıkla."

Prompt Tuning ve İyi Uygulamalar

  • Kısa ve açık bağlam verin: Modeli aşırı bilgiyle boğmayın; ancak gerekli dosya/dizin bilgilerini verin.
  • Çıktı formatını sabitleyin: JSON, markdown veya sadece kod bloğu isteyerek parsing kolaylaştırın.
  • Adım adım isteyin: Önce minimal reproducer, sonra hipotezler, ardından patch gibi kademeli istekler daha yararlı sonuç verir.
  • Test üretimini zorunlu kılın: Önerilen değişiklikler için unit/integration test isteyin.
  • Iteratif yaklaşın: İlk cevabı doğrudan uygulamayın; küçük adımlarla doğrulayın.

Uygulama Örneği — Hata Ayıklama Akışı

Pratik bir örnek iş akışı (kısa):

  1. Hata raporunu modele verin: log + stack trace + ortam.
  2. Modelden minimal reproducer isteyin.
  3. Reproducer çalışıyorsa, modelden en olası 3 sebebi ve bunları test etme yollarını isteyin.
  4. En uygun sebep için patch önerisi ve ilgili testleri talep edin.
  5. Patch uygulandıktan sonra modelden test sonuçlarını yorumlamasını isteyin.

Bu akış, hem NexusAi'nin yapılandırılmış iş akışı yaklaşımını temel alır hem de PromptOptimizer.tools'un debugging şablonlarının pratik unsurlarını kullanır (bkz. NexusAi, PromptOptimizer.tools).

Yaygın Tuzaklar ve Kaçınma Yöntemleri

  • Çok geniş talepler: "Tüm projeyi iyileştir" gibi istekler yerine küçük hedefler belirleyin.
  • Eksik bağlam: Ortam ve sürüm bilgisi olmadan hatalar yanlış teşhis edilebilir — gerekli verileri verin.
  • Doğrulama atlanması: Modelin önerdiği kodu doğrudan deploy etmeyin; test ve code review yapın.

Hızlı Kontrol Listesi (Checklist)

  • Görevi kısa bir cümleyle tanımladınız mı?
  • Gerekli dosya/bağlam verilenler arasında mı?
  • Beklenen çıktı formatı belirtildi mi?
  • Testler ve doğrulama adımları istendi mi?
  • Çıktı adım adım talep edildi mi?

Sık Sorulan Sorular (SSS)

1) AI promptları hata ayıklamayı tamamen otomatik hale getirir mi?

Hayır. AI promptları hata ayıklama sürecini hızlandırır ve yapılandırılmış öneriler sağlar ancak model önerilerini insan tarafından doğrulamak gerekir. NexusAi'nin iş akışı gibi yöntemler, süreci düzene sokmaya yardımcı olur (kaynak).

2) Hazır şablonları doğrudan kullanabilir miyim?

Evet, ancak projeye uyarlama gerekir. PromptOptimizer.tools ve SurePrompts gibi kaynaklar farklı şablonlar sunar; bunları bağlamınıza göre özelleştirin (PromptOptimizer.tools, SurePrompts).

3) Hangi durumlarda minimal reproducer istemeliyim?

Hata tekrarlanabilir ancak karmaşık ise—örneğin ortam veya dış bağımlılıktan kaynaklanan hatalarda—minimal reproducer en önemli adımdır çünkü hatanın kaynağını izole etmeyi sağlar.

4) Modelin verdiği patch'i doğrudan merge edebilir miyim?

Doğrudan merge etmek risklidir. Önerilen değişiklikleri önce local test ve code review ile doğrulayın; modelin ürettiği kodun güvenlik ve performans etkilerini kontrol edin.


Kaynak ve İlave Okumalar

Bu makaledeki yaklaşımlar ve şablon önerileri için başlıca referanslar: