Kod Üretimi ve Hata Ayıklama için Etkili AI Promptları ve Şablonlar
AI destekli araçlar kod yazmayı ve hata ayıklamayı hızlandırabilir, ama doğru sonuç almak için etkili promptlar gerekir. Aşağıda, pratik ilkeler, hazır şablonlar ve uygulama adımlarıyla günlük iş akışınıza entegre edebileceğiniz yönlendirmeler bulacaksınız. Makalenin bazı çıkarımları örnek kılavuzlar ve deneyim temelli yazılardan desteklenmektedir (Medium, Sider.ai, Basit.ai).
Neden iyi prompt önemli?
Etkili promptlar, modelin hangi rolü üstleneceğini, hangi bağlamı kullanacağını ve hangi çıktıyı üretmesi gerektiğini netleştirir; bu sayede daha doğru ve kullanışlı kod elde etme olasılığı artar. Uygulama literatüründe ve rehberlerde bu yaklaşım, hem taslak üretimi hem de gözden geçirme süreçleri için önerilir (örnek, örnek).
Temel prompt tasarım ilkeleri
- Rol verin: Modele "sen kıdemli Python mühendisisin" gibi bir rol atayın; böylece cevapların tonu ve ayrıntı seviyesi oturur.
- Bağlam sağlayın: Proje yapısı, dil/çalışma zamanı, kullandığınız kütüphaneler ve önceki kod parçaları gibi gerekli bilgileri verin.
- Girdi/Çıktı formatını belirtin: Hangi dosya, fonksiyon veya JSON çıktısını beklediğinizi açıkça yazın.
- Kısıtları tanımlayın: Performans, bellek, lisans, güvenlik veya stil kılavuzuna dair sınırlamalar ekleyin.
- Test kriterleri ekleyin: Fonksiyon hangi durumlarda başarısız sayılacak? Hangi birim testler geçmeli?
- İterasyon isteyin: İyileştirme adımları, alternatif çözüm ve kısa/uzun versiyonları talep edin.
Bu ilkeler, hem hızlı prototip üretimi hem de kod inceleme süreçlerinde kullanılabilir (Sider.ai örnekleri).
Hazır prompt şablonları (kullanıma hazır)
Aşağıdaki şablonları doğrudan kopyalayarak veya proje bağlamınıza göre uyarlayarak kullanabilirsiniz. Her şablonda "Nasıl kullanılır" ve beklenen çıktıyı özetledim.
Kod üretimi — Temel fonksiyon (örnek: Python)
Sen kıdemli bir Python mühendisisin. Aşağıdaki gereksinimleri karşılarken, temiz, test edilebilir ve dökümante edilmiş bir Python fonksiyonu yaz. Gereksinimler: - Fonksiyon adı: compute_score(data: list[int]) -> float - Beklenen davraniş: verilen tamsayı listesi için normalizasyon ve ağırlıklı ortalama hesapla - Bağımlılıklar: sadece Python stdlib kullan - Çıktı: fonksiyon kodu, kısa docstring ve O(n) zaman karmaşıklığı yorumu Ayrıca küçük birim test örnekleri ver.
Nasıl kullanılır: Prompt'u modele verin, dönen kodu çalıştırın, ardından örnek verilerle test edin. Beklenen çıktı, fonksiyon kodu ve 2-3 küçük birim testidir.
Kod tamamlama / devam ettirme
Aşağıda bir dosya parçası veriyorum. Eksik olan kısımları tamamla. Coded style: PEP8. Hedef: fonksiyonun mevcut API'sini bozmadan davranışı tamamlamak. Sadece tamamlanmış dosyayı ver. --- [Buraya mevcut kodu yapıştırın] --- Yanıt: Tam dosya içeriği.
Nasıl kullanılır: Kısmi dosyayı verin; çıktı olarak tamamlanmış kodu alın. Değişiklikleri inceleyip birim testleri çalıştırın.
Hata ayıklama (debug) — Root cause analizi
Sen hata ayıklamada deneyimli bir mühendis olarak davran. Aşağıdaki bilgilerle hatanın olası nedenlerini sırala, her neden için hızlı bir test (repro adımı) ve düzeltme önerisi ver. Bilgiler: - Hata mesajı: [stack trace veya mesaj] - Gözlemler: [ne zaman oluştu, adımlar] - Kod parçaları: [ilgili fonksiyon veya sınıf] Çıktı: (1) Kısa özet (2) 3 olası root cause (3) Her biri için test ve patch önerisi.
Nasıl kullanılır: Modelin önerdiği hızlı testleri deneyin; başarısız testleri modele geri göndererek ikinci tur iyileştirme isteyin.
Birim testi üretme
Verilen fonksiyon için pytest test dosyası oluştur. Mock gerektiren bağımlılıklar varsa nasıl mocklanacağı gösterilsin. Testler şu durumları kapsasın: normal case, edge case, invalid input. Fonksiyon: [fonksiyon kodu]
Nasıl kullanılır: Üretilen testleri çalıştırın, başarısız olan testleri modele geri gönderip düzeltme isteyin.
Pair programming / refactor isteği
Sen benim pair programming partnerimsin. Amacımız bu fonksiyonu daha okunaklı ve hızlı hale getirmek. Önerdiğin refactor adımlarını sırala, her adım için örnek kod ver ve riskleri belirt. Fonksiyon: [fonksiyon kodu]
Nasıl kullanılır: Önerilen adımlardan birini seçip uygulatın; ardından testleri çalıştırın ve performans karşılaştırması yapın.
Hata ayıklama iş akışı (pratik adımlar)
- Repro adımı oluşturun: Hata kesinlikle yeniden üretilebilir olmalı. Gerekirse minimal repro (en küçük kod parçası) oluşturun.
- Girdi ve ortamı yakalayın: versiyonlar, çevresel değişkenler, konfigürasyonlar.
- AI'den root-cause hipotezleri isteyin: her hipotez için kısa bir test komutu veya birim testi isteyin.
- Hızlı testlerle elenebilecek hipotezleri ayıklayın; kalanları sistematik olarak inceleyin.
- Düzeltme önerisini uygulayın ve regresyon testleri çalıştırın.
Bu akış, hem manuel hem de AI destekli hata ayıklamada tekrar kullanılabilir bir çerçeve sağlar.
Doğrulama, güvenlik ve lisans kontrolü
AI tarafından üretilen kodu doğrudan prod'a göndermeyin. Aşağıdaki adımları uygulayın:
- Otomatik birim testleri ve entegrasyon testlerini çalıştırın.
- Statik analiz (linter, type checker) ve güvenlik taramaları uygulayın.
- Üretilen kodda üçüncü taraf lisanslarını veya kopyalanmış içerik ihtimalini kontrol edin.
- Özellikle giriş doğrulama ve dışa bağımlı verilerle etkileşimde güvenlik kontrolleri uygulayın.
Bu adımlar, üretkenlik kazançlarını güvenli biçimde sağlamanıza yardımcı olur (Basit.ai kaynakları kullanım örnekleri sunar).
Sınırlamalar ve dikkat edilmesi gerekenler
- AI modelleri yanılabilir veya eksik bağlamla hatalı çözüm üretebilir; çıktıları her zaman sınayın.
- Güvenlik açıkları veya lisans ihlalleri olabileceğinden insan denetimi zorunludur.
- Model performansı kullandığınız modele ve prompt kalitesine bağlı olarak değişir; yinelemelerle iyileştirme yapın.
Hızlı kontrol listesi (kullanıma hazır)
- Rol ve hedef açıkça tanımlandı mı?
- Gerekli bağlam (dil, kütüphane, dosya yapısı) verildi mi?
- Beklenen çıktı formatı belirtildi mi?
- Test kriterleri ve örnek girdiler sağlandı mı?
- Güvenlik ve lisans riskleri değerlendirildi mi?
- Üretilen kod otomatik testlerden geçirildi mi?
Kaynaklar ve önerilen okumalar
- Kodla Konuşan Yapay Zekâ: Prompt yazma kılavuzu (Medium)
- Grok 4 Fast ile kod taslağı ve gözden geçirme (Sider.ai)
- Kod yazan AI uygulamalarına genel bakış (Basit.ai)
Sıkça Sorulan Sorular
S1: AI tarafından üretilen kodu doğrudan kullanabilir miyim?
Hayır — kodu öncelikle birim testlere, statik analize ve güvenlik taramasına tabi tutun. İnsan incelemesi gereklidir.
S2: Hangi durumlarda pair programming prompt kullanmalıyım?
Refactor, performans optimizasyonu veya karmaşık mantık gerektiğinde modelden adım adım rehberlik almak için uygundur.
S3: Promptları nasıl daha kısa ama etkili hale getiririm?
Önce net rol ve hedef verin; ardından sadece gerekli bağlamı ekleyin. Test kriterleri ve örnek girdiler genellikle cevap kalitesini artırır.
S4: Güvenlik riski nasıl azaltılır?
Dışarıdan alınan verileri doğrulayın, üretken kodu güvenlik taramasından geçirin ve gizli anahtarları prompt içinde paylaşmayın.