Bu modülde ne öğreneceksin?
- Kod üretiminin doğal dil üretimiyle ortak yönünü anlamak
- Hata mesajı ve veri akışı analizini kavramak
- AI kodunun neden test, review ve güvenlik kontrolünden geçmesi gerektiğini görmek
Kod da token dizisidir
Model programlama dillerini de token dizileri olarak işler. Eğitim verilerinde kod örnekleri, dokümantasyonlar, hata mesajları ve açıklamalar bulunduğu için fonksiyon yapıları, framework kalıpları ve tipik hata ilişkileri öğrenilebilir.
Hata analizi
Bir hata mesajı geldiğinde model dil, framework, satır numarası, eksik fonksiyon, yanlış tip, sürüm farkı veya veri akışı sorunlarını değerlendirir. Örneğin PHP’de 500 hatası yalnızca “sunucu bozuk” demek değildir; parse error, undefined function, type mismatch veya database bağlantısı gibi birçok neden olabilir.
Test ve doğrulama
Model doğru görünen ama çalışmayan kod üretebilir. Bu yüzden kod çıktısı statik analiz, birim test, entegrasyon testi, güvenlik incelemesi ve gerçek ortam uyumluluğu ile kontrol edilmelidir. cPanel/PHP gibi ortamlarda sürüm uyumu ayrıca önemlidir.
Güvenlik mantığı
Kod üretiminde prepared statement, XSS temizliği, CSRF koruması, dosya yükleme sınırları, yetki kontrolü, rate limit ve güvenli hata mesajları gibi noktalar özellikle kontrol edilmelidir. AI önerisi üretime doğrudan alınmamalıdır.
Kısa teknik notlar
Model kodu iyi yazabilir ama çalışma garantisi vermez.
Sürüm ve ortam bilgisi eksikse yanlış API veya fonksiyon önerebilir.
Güvenli yazılım için AI çıktısı review sürecinden geçmelidir.
Kod üretiminde güvenilirlik
Kod üretimi eğitim verisindeki örüntülerden yararlanır. Model çok iyi boilerplate üretebilir, hata mesajlarını yorumlayabilir ve refactor önerebilir; fakat bu kodun her zaman çalışacağı anlamına gelmez.
Verimli kullanım bağlantısı
AI tarafından yazılan kod üretime alınmadan önce test, güvenlik kontrolü ve manuel incelemeden geçmelidir.
AI kod önerisi statik analiz, güvenlik kontrolü, local test ve insan review adımlarından geçmelidir. Özellikle SQL injection, XSS, CSRF ve dosya yükleme güvenliği kontrol edilmelidir.
Versiyon bilgisi önemlidir. Aynı frameworkün farklı sürümünde fonksiyon adları, dosya yapısı veya güvenlik davranışı değişebilir.
Bu konuyu eğitim sırasında nasıl kurmalısın?
Kodun da token dizisi olarak üretildiğini, fakat çalışabilirlik için test gerektiğini anlat.
Modelin framework sürümü, eksik fonksiyon veya güvenlik ayrıntısı varsayabileceğini açıkla.
Güvenli akışı kod önerisi, statik kontrol, test, manuel inceleme ve üretime alma şeklinde sırala.
Yapay zekadan kod isterken doğru bağlam nasıl verilir?
Kod üretiminde en iyi sonuç; dil, sürüm, hata mesajı, mevcut kod, beklenen davranış ve güvenlik sınırları aynı anda verildiğinde alınır.
Hata mesajı + bağlam
İstek:
PHP 8.1 kullanıyorum.
Bu hata neden olur?
TypeError: Argument #2 ($userId) must be int, null givenGüvenli düzeltme
İstek:
Aşağıdaki sorguyu SQL injection riskine karşı
prepared statement ile düzenle ve çıktıdaki HTML'i escape et.Refactor sınırı
İstek:
Davranışı değiştirme.
Sadece okunabilirlik, isimlendirme ve erken dönüş düzenlemesi yap.Bu modülde geçen teknik terimler
Bu bölümde geçen teknik kavramların kısa ve doğrudan açıklamaları.
Static Analysis
Kodu çalıştırmadan hata, stil veya güvenlik sorunlarını analiz etme yöntemidir.
Prepared Statement
SQL sorgularında kullanıcı verisini güvenli parametre olarak bağlayarak injection riskini azaltan yöntemdir.
SQL Injection
Kötü niyetli girdilerle veritabanı sorgusunun yapısını bozma saldırısıdır.
XSS
Cross-Site Scripting. Kullanıcı girdisi üzerinden tarayıcıda zararlı script çalıştırma riskidir.
Refactor
Kodun davranışını değiştirmeden okunabilirlik, bakım ve performans açısından iyileştirilmesidir.
Edge Case
Normal akış dışında kalan, hataya yol açabilecek özel durumdur.